]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
[grub2.git] / ChangeLog
CommitLineData
0b4b227f
CW
12010-09-28 Colin Watson <cjwatson@ubuntu.com>
2
3 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4 i386 and x86-64 definedness tests.
5
f772623b
YB
62010-09-27 Yves Blusseau <blusseau@zetam.org>
7
8 Fix generation of kernel_syms.lst
9
10 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11 ASM_PREFIX
12
8e57a6ca
RM
132010-09-26 Robert Millan <rmh@gnu.org>
14
15 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16
17 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18 the pool is an array of devices, iterate through it and return the
19 first device that passes a stat() test (instead of blindly returning
20 the first one).
21
f9130836
RM
222010-09-26 Robert Millan <rmh@gnu.org>
23
24 Build fixes for GNU/kFreeBSD.
25
26 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
27 to programs that require ZFS conversion.
28 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
29 kernels that don't have FLOPPY_MAJOR.
30
96510faf
BC
312010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
32
33 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
34
449333eb
BC
352010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
36
37 Fix grub-emu build.
38
39 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
40 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
41 mdraid09 and mdraid1x.
42
e1fd1939
CW
432010-09-24 Colin Watson <cjwatson@ubuntu.com>
44
45 Re-enable grub-extras.
46
47 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
48 avoid confusing Automake. Run autogen only twice, once for the top
49 level and once for grub-core. Add Makefile.util.def and
50 Makefile.core.def from extra modules to the appropriate autogen
51 invocations. If Makefile.common exists in an extra module, include
52 it in both Makefile.util.am and grub-core/Makefile.core.am;
53 similarly, include any Makefile.util.common file in Makefile.util.am
54 and any Makefile.core.common file in grub-core/Makefile.core.am.
55 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
56 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
57 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
58 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
59
60 * gentpl.py (gvar_add): Turn GVARS into a set.
61 (global_variable_initializers): Sort global variables on output.
62 (vars_init): New function.
63 (first_time): Likewise.
64 (library): Ensure that non-global variable initialisations are
65 emitted before the first time we emit code for a library block.
66 Append to variables rather than setting them. Only emit
67 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
68 each conditional path.
69 (program): installdir() emits an Autogen macro, so must be passed to
70 var_add rather than gvar_add.
71 (data): Likewise.
72 (script): Likewise.
73 (rules): New function, centralising handling for different target
74 types. Set up Guile association lists for first_time and vars_init,
75 and send most output to a diversion so that variable initialisations
76 can be emitted first.
77 (module_rules): Use new rules function.
78 (kernel_rules): Likewise.
79 (image_rules): Likewise.
80 (library_rules): Likewise.
81 (program_rules): Likewise.
82 (script_rules): Likewise.
83 (data_rules): Likewise.
84
85 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
86
87 * .bzrignore: Add contrib and grub-core/contrib. Remove
88 grub-core/Makefile.gcry.am.
89
1d12cf29
YB
902010-09-24 Yves Blusseau <blusseau@zetam.org>
91
92 * grub-core/lib/LzFind.c: Add missing include.
93 * grub-core/lib/LzmaEnc.c: Likewise.
94 * grub-core/script/lexer.c: Likewise.
95 * grub-core/script/yylex.l: Likewise.
96 * util/grub-macho2img.c: Likewise.
97 * util/grub-menulst2cfg.c: Likewise.
98 * util/grub-mklayout.c: Likewise.
99 * util/grub-mkpasswd-pbkdf2.c
100 * util/grub-mkrelpath.c: Likewise.
101 * util/resolve.c: Likewise.
102
dd363028
BC
1032010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
104
105 * Makefile.util.def (example_unit_test): Add
106 grub-core/gnulib/libgnu.a.
107
f5a109e2
GS
1082010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
109
110 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
111
6d0fa83c
VS
1122010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Support xz compression on yeeloong.
115
116 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
117 * configure.ac: Check for LZMA.
118 * grub-core/Makefile.core.def (xz_decompress): New target.
119 (none_decompress): Likewise.
120 * grub-core/boot/decompressor/minilib.c: New file.
121 * grub-core/boot/decompressor/none.c: Likewise.
122 * grub-core/boot/decompressor/xz.c: Likewise.
123 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
124 * grub-core/kern/mips/cache_flush.S: Likewise.
125 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
126 * grub-core/kern/mips/startup.S: Move first stage to ...
127 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
128 nomacro.
129 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
130 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
131 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
132 Allocate statically.
133 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
134 Allocate statically or use scratch. Don't check CRC32.
135 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
136 Allocate statically. Don't check CRC32.
137 * include/grub/decompressor.h: New file.
138 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
139 Removed.
140 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
141 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
142 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
143 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
144 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
145 * util/grub-mkimage.c (grub_compression_t): New type.
146 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
147 (image_target_desc): New field default_compression.
148 (image_targets): Adjust yeeloong targets.
149 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
150 (compress_kernel): New parameter comp.
151 (generate_image): Likewise. Handle new compression case.
152 (options): New option --compression
153 (help): Likewise.
154 (main): Handle new option.
155
1b655af6
GS
1562010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
157
158 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
159
8f03f0b5
CW
1602010-09-22 Colin Watson <cjwatson@ubuntu.com>
161
162 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
163 typo in __i386__ conditional.
164
7835dfd3
VS
1652010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
168 include.
169
e255597e
VS
1702010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
171
6d0fa83c 172 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
173
174 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
175 new tags as supported.
176 (acpiv2_size): New function.
177 (grub_multiboot_get_mbi_size): Take new tags into account.
178 (grub_multiboot_make_mbi): Add new tags.
179 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 180
6cc14051 1812010-09-21 Aleš Nesrsta <starous@volny.cz>
182
183 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
184 Added missing configuration of USB device.
185
df7769d8
CW
1862010-09-21 Colin Watson <cjwatson@ubuntu.com>
187
188 * grub-core/normal/menu_entry.c (run): Make sure we always return
189 a value.
190
b031012d
CW
1912010-09-21 Colin Watson <cjwatson@ubuntu.com>
192
193 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
194 NumberOfPages is UINT64 according to the UEFI specification, not
195 UINTN. Fix printf format.
196
174de8f3
CW
1972010-09-21 Colin Watson <cjwatson@ubuntu.com>
198
199 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
200 `err' to grub_usb_err_t.
201 Reported and tested by: KESHAV P.R.
202
d7dbe923
CW
2032010-09-21 Colin Watson <cjwatson@ubuntu.com>
204
205 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
206 tpart non-const, so that we can assign to it. (Since this is a
207 typedef, the constness refers to the pointer rather than what it
208 points to.)
209
8d5e2af3
CW
2102010-09-21 Colin Watson <cjwatson@ubuntu.com>
211
212 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
213 $(top_srcdir)/grub-core/gnulib as well as
214 $(top_builddir)/grub-core/gnulib.
215 Reported by: KESHAV P.R.
216
5c527783
CW
2172010-09-21 Colin Watson <cjwatson@ubuntu.com>
218
219 * util/grub-install.in: Fix the bootloader ID option to be
220 consistently --bootloader-id, not --bootloader_id.
221 Reported by: KESHAV P.R.
222
d309a16e
CW
2232010-09-21 Colin Watson <cjwatson@ubuntu.com>
224
225 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
226 check hash checksum." consistently translatable.
227
b830cd16
YB
2282010-09-21 Yves Blusseau <blusseau@zetam.org>
229
230 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
231 $(top_builddir).
232
c4fe27a8
CW
2332010-09-21 Colin Watson <cjwatson@ubuntu.com>
234
235 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
236 (GRUB_MOD_INIT): Register sha1sum command.
237 (GRUB_MOD_FINI): Unregister sha1sum command.
238
a4c1d277
YB
2392010-09-21 Yves Blusseau <blusseau@zetam.org>
240
241 Keep boot and grub directory names in sync with utils scripts
242
243 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
244 * config.h.in: Add previous macros.
245 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
246 * util/grub-install.in: Use $bootdir and $grubdir variables.
247
4eff79d2
CW
2482010-09-21 Colin Watson <cjwatson@ubuntu.com>
249
250 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
251 convert partition names to disk names if the new `convert' parameter
252 is set.
253 (grub_util_biosdisk_get_grub_dev): If opening the disk device
254 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
255 disk in its own right. This can happen with Xen disk images.
256
934d7e44
YB
2572010-09-21 Yves Blusseau <blusseau@zetam.org>
258
259 * util/grub-editenv.c: Update strings to avoid warnings when generating
260 grub.pot file.
261 * util/grub-setup.c: Likewise.
934d7e44 262
df3367cc
VS
2632010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * configure.ac: Change version to 1.99~beta0.
266
77a94e98
VS
2672010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
270 Add BADRAM.
271 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
272 Likewise.
273 * include/multiboot.h: Resynced with specification.
274 * include/multiboot2.h: Likewise.
275
269004c1
CW
2762010-09-21 Colin Watson <cjwatson@ubuntu.com>
277
278 Fix po directory handling.
279
280 * configure.ac: Create po/Makefile.in rather than po/Makefile.
281 * grub-core/gnulib/Makefile.am: Import gettext module.
282 * m4/gnulib-cache.m4: Likewise.
283 * m4/gnulib-comp.m4: Likewise.
284 * m4/gettext.m4: New file, from gnulib.
285 * m4/glibc2.m4: Likewise.
286 * m4/iconv.m4: Likewise.
287 * m4/intdiv0.m4: Likewise.
288 * m4/intl.m4: Likewise.
289 * m4/intldir.m4: Likewise.
290 * m4/intlmacosx.m4: Likewise.
291 * m4/intmax.m4: Likewise.
292 * m4/inttypes-pri.m4: Likewise.
293 * m4/lcmessage.m4: Likewise.
294 * m4/lib-ld.m4: Likewise.
295 * m4/lib-link.m4: Likewise.
296 * m4/lib-prefix.m4: Likewise.
297 * m4/lock.m4: Likewise.
298 * m4/nls.m4: Likewise.
299 * m4/po.m4: Likewise.
300 * m4/printf-posix.m4: Likewise.
301 * m4/progtest.m4: Likewise.
302 * m4/threadlib.m4: Likewise.
303 * m4/uintmax_t.m4: Likewise.
304 * m4/visibility.m4: Likewise.
305 * po/Makefile.am: Remove.
306 * po/Makefile.in.in: New file, from gettext.
307 ($(DOMAIN).pot-update): Support POTFILES-shell.
308 * po/Makevars: New file.
309 * po/POTFILES-shell: Rename to ...
310 * po/POTFILES-shell.in: ... this. Update.
311 * po/POTFILES: Rename to ...
312 * po/POTFILES.in: ... this. Update.
313 * po/Rules-quot: New file, from gettext.
314 * po/boldquot.sed: Likewise.
315 * po/en@boldquot.header: Likewise.
316 * po/en@quot.header: Likewise.
317 * po/insert-header.sin: Likewise.
318 * po/quot.sed: Likewise.
319 * po/remove-potcdate.sin: Likewise.
320
3e0fa5d0
VS
3212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
324
ade9bd66
VS
3252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * util/grub.d/20_linux_xen.in: Use submenus.
328
fc55cc4c
VS
3292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Support submenus.
332
333 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
334 parameter submenu. All users updated.
335 * grub-core/normal/main.c (free_menu): Rename to ...
336 (grub_normal_free_menu): ... this. Made global.
337 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
338 if requested.
339 * grub-core/normal/menu_entry.c (screen): New field submenu.
340 (make_screen): Set submenu.
341 (run): Open new context if requested.
342 * include/grub/menu.h (grub_menu_entry): New field submenu.
343 * include/grub/normal.h (grub_normal_free_menu): New proto.
344
600cedf7
VS
3452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
346
347 Menu entries extractor.
348
349 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
350 variants.
351 (GRUB_MOD_INIT): Register new variants.
352 (GRUB_MOD_FINI): Unregister new variants.
353 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
354 into grub_cmd_legacy_source.
355 (grub_cmd_legacy_source): Implement extractor variants.
356 (GRUB_MOD_INIT): Register new variants.
357 (GRUB_MOD_FINI): Unregister new variants.
358 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
359 as an extractor.
360 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
361 search as an extractor.
362 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
363 test as an extractor.
364 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
365 as an extractor.
366 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
367 (grub_env_new_context): New function.
368 (grub_env_context_open): Likewise.
369 (grub_env_extractor_open): Likewise.
370 (grub_env_extractor_close): Likewise.
371 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
372 grub_extractor_level.
373 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
374 * include/grub/env.h (grub_env_extractor_open): New proto.
375 (grub_env_extractor_close): Likewise.
376 * include/grub/normal.h (grub_extractor_level): New external variable.
377
7bda3a87
VS
3782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
379
380 Make cutmem accept a region specification.
381 Suggested by: Samuel Thibault
382
383 * grub-core/mmap/mmap.c (parsemem): New function.
384 (grub_cmd_cutmem): Handle new arguments.
385
2ea57f88
VS
3862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
387
388 New command cutmem.
389
390 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
391 (GRUB_MOD_INIT): Register new command.
392 (GRUB_MOD_FINI): Unregister new command.
393
74342e31
VS
3942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
395
396 Support some annoying BSD and Minix subpartitions.
397
398 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
399 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
400 Properly handle concatenation.
401 * grub-core/kern/device.c (grub_device_iterate): Likewise.
402 * grub-core/normal/completion.c (iterate_partition): Likewise.
403 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
404 contain partition. All users updated.
405 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
406 struct.
407 (grub_openbsdlabel_partition_map): Likewise.
408 (bsdlabel_partition_map_iterate): Rename to ..
409 (iterate_real): ... this. New arguments sector, freebsd and pmap.
410 (bsdlabel_partition_map_iterate): New function.
411 (netopenbsdlabel_partition_map_iterate): Likewise.
412 (netbsdlabel_partition_map_iterate): Likewise.
413 (openbsdlabel_partition_map_iterate): Likewise.
414 (GRUB_MOD_INIT): Register new partmaps.
415 (GRUB_MOD_FINI): Unregister new partmaps.
416 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
417 (grub_partition_msdos_iterate): ... this. All users updated.
418 Don't support embedding other than in a minix partition.
419 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
420 proto.
421 * include/grub/partition.h (grub_partition): New field msdostype.
422 * util/grub-install.in: Handle openbsd and netbsd types being in
423 part_bsd module.
424
1e8d555b
VS
4252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
426
427 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
428
429 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
430 * grub-core/Makefile.core.def (mdraid): Renamed to ...
431 (mdraid09): ... this.
432 (mdraid1x): New module.
433 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
434 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
435
899d8af4
VS
4362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
439 vsprintf.
440
40901acd
CW
4412010-09-20 Colin Watson <cjwatson@ubuntu.com>
442
443 * grub-core/commands/efi/lsefimmap.c: Correct header.
444 * NEWS: Update.
445
dfe3b247
CW
4462010-09-20 Colin Watson <cjwatson@ubuntu.com>
447
448 * util/grub-editenv.c (argp_parser): Don't pass translated strings
449 as printf format strings; the translations might contain '%' which
450 could cause a crash.
451 (main): Likewise.
452 * util/grub-fstest.c (argp_parser): Likewise.
453 * util/grub-setup.c (argp_parser): Likewise.
454 (main): Likewise.
455
3286a4b4
VS
4562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
457
458 Use argp in grub-fstest.
459
460 * util/grub-fstest.c: Don't include getopt.h.
461 Include argp.h.
462 (root): New variable.
463 (args_count): Likewise.
464 (nparm): Likewise.
465 (num_disks): Likewise.
466 (images): Likewise.
467 (cmd): Likewise.
468 (debug_str): Likewise.
469 (args): Likewise.
470 (options): Transformed to argp.
471 (usage): Removed.
472 (main): Split argument parsing into ...
473 (argp_parser): ... this. Changed to argp format.
474 (argp): New variable.
475 (main): Use argp_parse.
476
3dccbe4b
TG
4772010-09-20 Tristan Gingold <gingold@free.fr>
4782010-09-20 Robert Millan <rmh.grub@aybabtu.com>
4792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/commands/efi/lsefimmap.c: New file.
482 * grub-core/Makefile.core.def (lsefimmap): New module.
483 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
484
38c259a7
VS
4852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Pause the execution (10s max) if any errors are displayed so the user
488 has a chance to see them.
489
490 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
491 (grub_print_error): Increment grub_err_printed_errors.
492 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
493 execution if any errors were displayed.
494 (show_menu): Remove old code for pause.
495 * grub-core/normal/menu_entry.c (run): Likewise.
496 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
497 users updated.
498 (grub_normal_get_char_counter): Likewise.
499 * include/grub/err.h (grub_err_printed_errors): New external variable.
500 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
501
f218b09c
VS
5022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Support multiboot VBE info.
505
506 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
507 Take VBE info into account.
508 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
509 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
510 Call fill_vbe_info when appropriate.
511 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
512 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
513 as supported.
514 (grub_multiboot_get_mbi_size): Take new tags into account.
515 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
516 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
517 Call fill_vbe_tag when appropriate.
518 (grub_multiboot_make_mbi): Properly align tags.
519 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
520 function.
521 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
522 proto.
523 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
524
a9cc5438
VS
5252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Suport manual terminal geometry specification.
528
529 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
530 Save state in grub_ofconsole_terminfo_output.
531 (grub_ofconsole_term): Use grub_terminfo_getwh.
532 (grub_ofconsole_getwh): Removed.
533 * grub-core/term/serial.c (grub_serial_getwh): Removed.
534 (grub_serial_term): Use grub_terminfo_getwh.
535 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
536 (options): New struct.
537 (OPTION_*): New enum.
538 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
539 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
540 width and height.
541 (grub_terminfo_getwh): New proto.
542 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
543
1a8fed20
VS
5442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Handle legacy "terminal" command.
547
548 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
549 and FLAG_TERMINAL.
550 (legacy_commands): Add terminal and title.
551 (grub_legacy_parse): Handle terminal. Simplify title handling.
552
41e9c57d
VS
5532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
556 parameters overflow.
557
61c874c5
CW
5582010-09-20 Colin Watson <cjwatson@ubuntu.com>
559
560 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
561 widthspec.h.
562
563 * docs/grub.texi (Shell-like scripting): Document `!'.
564 (Network): Simplify using new i386-pc-pxe format. Mention
565 grub-mknetdir.
566
567 * NEWS: Update.
568
943682b4
CW
5692010-09-20 Colin Watson <cjwatson@ubuntu.com>
570
571 * Makefile.am (SUBDIRS): Restore "."; it's important to force
572 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
573 when needed.
574
6d3d698d
CW
5752010-09-20 Colin Watson <cjwatson@ubuntu.com>
576
577 * grub-core/commands/efi/lsefisystab.c: Correct header.
578 * grub-core/commands/efi/lssal.c: Likewise.
579 * grub-core/commands/testload.c: Likewise.
580
c982589f
CW
5812010-09-20 Colin Watson <cjwatson@ubuntu.com>
582
583 * util/grub-mkrescue.in: Add explicit root argument to --set to
584 prevent the UUID being interpreted as an argument to --set (matches
585 previous change to prepare_grub_to_access_device).
586
a63c31b6
CW
5872010-09-20 Colin Watson <cjwatson@ubuntu.com>
588
589 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
590 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
591 the verbosity of later #ifs.
592 (find_partition_start): Define this function on FreeBSD too.
593 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
594 function.
595 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
596 on FreeBSD.
597
6439b8ee
YB
5982010-09-20 Yves Blusseau <blusseau@zetam.org>
599
600 * util/grub-editenv.c: Use argp instead of getopt.
601
c5930ec8
YB
6022010-09-20 Yves Blusseau <blusseau@zetam.org>
603
604 * util/grub-setup.c: Use argp instead of getopt.
605
15c69261
YB
6062010-09-20 Yves Blusseau <blusseau@zetam.org>
607
608 Use gnulib-tool to create gnulib source files.
609
610 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
611 grub-core/gnulib directories
612 * .bzignore: Add **/.deps and autogenerated gnulib files
613 * configure.ac: Assign auxiliary directory to build-aux, add invocation
614 of gnulib macros, add grub-core/gnulib/Makefile
615 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
616 include m4 directory to aclocal.
617 * Makefile.util.def: Remove direct compilation of gnulib source files
618 and use the new grub-core/gnulib/libgnu.a.
619 * build-aux/config.rpath: move config.rpath from top directory to
620 build-aux
621 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
622 in gnulib headers
623 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
624 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
625 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
626 header.
627 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
628 string.
629
e511c9f5
YB
6302010-09-20 Yves Blusseau <blusseau@zetam.org>
631
632 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
633 grub-core/genmod.sh and grub-core/gensyminfo.sh
634
c2dede05
BC
6352010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
636
637 Add a test for echo command options.
638
639 * tests/grub_cmd_echo.in: New test.
640 * Makefile.util.def: Rules for new test.
641
c55f5018
SJ
6422010-09-20 Szymon Janc <szymon@janc.net.pl>
643
644 Remove crc.mod and move crc command to hashsum.mod.
645 Remove lib/crc.c - users updated to use gcrypt implementation.
646
647 * grub-core/commands/crc.c: Removed.
648 * grub-core/Makefile.core.def (crc): Module removed.
649 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
650 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
651 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
652 * grub-core/lib/crc.c: Removed.
653 * include/grub/lib/crc.h: Removed.
654 * Makefile.util.def (crc): Remove lib/crc.c
655 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
656 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
657 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
658 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
659 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
660 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
661
e0337366
VS
6622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
665
742f9232
VS
6662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
667
668 Split config.h for util and core.
669
670 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
671 (ADDR32): Likewise.
672 (DATA32): Likewise.
673 (BSS_START_SYMBOL): Likewise.
674 (END_SYMBOL): Likewise.
675 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
676 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
677 * config.h.in: New file.
678 * configure.ac: Use config-util.h as config define file.
679 Rename MACHINE into GRUB_MACHINE. All users updated.
680 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
681 updated.
682 (NESTED_FUNC_ATTR): Likewise.
683 Substitue new variables.
684 (COND_HAVE_ASM_USCORE): New conditional.
685 * grub-core/Makefile.am (ASM_PREFIX): New variable.
686 (kernel_syms.lst): Use ASM_PREFIX.
687 * grub-core/kern/emu/console.c: Include config-util.h.
688 * grub-core/kern/emu/misc.c: Likewise.
689 * grub-core/kern/emu/mm.c: Likewise.
690 * include/grub/emu/misc.h: Likewise.
691 * include/grub/libgcc.h: Likewise.
692
39feb0e8
VS
6932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
696 constants usage.
697 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
698 Fix GRUB_TERM_KEY_* constants usage.
699 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
700
9af6dac3
VS
7012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
704 print pointer.
705 * grub-core/bus/usb/uhci.c: Remove empty define.
706 (grub_uhci_check_transfer): Add missing cast.
707 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
708 print pointer.
709 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
710 PRIuGRUB_SIZE.
711 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
712
d6d94820
VS
7132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/Makefile.core.def (legacycfg): Add
716 lib/i386/pc/vesa_modes_table.c on emu.
717
3572f2b6
BC
7182010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
719
720 Reduce number of temporary files generated by build system.
721
722 * grub-core/gencmdlist.sh: Removed.
723 * grub-core/genfslist.sh: Removed.
724 * grub-core/genhandlerlist.sh: Removed.
725 * grub-core/genmodsrc.sh: Removed.
726 * grub-core/genpartmaplist.sh: Removed.
727 * grub-core/genparttoollist.sh: Removed.
728 * grub-core/gentermiinallist.sh: Removed.
729 * grub-core/genvideolist.sh: Removed.
730
731 * grub-core/genmod.sh.in: New file.
732 * grub-core/gensyminfo.sh.in: New file.
733
734 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
735 * conf/Makefile.extra-dist: Update with new files.
736 * gentpl.py: Remove rules related to unnecessary temporary files.
737 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
738 and und-* files.
739 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
740 genmod.sh scripts.
741 * grub-core/bus/usb/uhci.c: Remove empty #define.
742 * grub-core/genmoddep.awk: Updated with new syminfo format.
743 * util/bash-completion.d/Makefile.am: Add config.log to
744 CLEANFILES.
745
c836b030
YB
7462010-09-19 Yves Blusseau <blusseau@zetam.org>
747
748 * Makefile.util.def: Add forgotten $(LIBINTL) library.
749
2f4e8053
BC
7502010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
751
752 * util/grub-mkconfig.in: Check the config script for syntax errors
753 before saving.
754
75831c34
CW
7552010-09-19 Colin Watson <cjwatson@ubuntu.com>
7562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * Makefile.util.def (grub-install): Use util/grub-install.in on all
759 platforms.
760 * util/grub-install.in: Add EFI and IEEE1275 support.
761 * util/i386/efi/grub-install.in: Removed.
762 * util/ieee1275/grub-install.in: Likewise.
763
eaf41b25
VS
7642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
767 (grub_cmd_cmosclean): Likewise.
768 (GRUB_MOD_INIT): Register command cmosclean.
769 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
770 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
771
1a9130dd
CPE
7722010-09-18 Carles Pina i Estany <carles@pina.cat>
7732010-09-18 Aleš Nesrsta <starous@volny.cz>
7742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
775
776 Add keyboard layouts support.
777
778 * Makefile.util.def (grub-mklayout): New file.
779 (grub-kbdcomp): New script.
780 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
781 Add keyboard_layouts.h.
782 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
783 commands/boot.c on yeeloong.
784 (keylayouts): New module.
785 * grub-core/bus/usb/ohci.c
786 * grub-core/bus/usb/uhci.c
787 * grub-core/bus/usb/usbhub.c (rescan): New variable.
788 (grub_usb_add_hub): Poll interrupt pipe for device handling.
789 (attach_root_port): Likewise.
790 (poll_nonroot_hub): Likewise.
791 (grub_usb_poll_devices): Likewise.
792 (detach_device): Close transfer.
793 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
794 function.
795 (grub_usb_bulk_setup_readwrite): Likewise.
796 (grub_usb_bulk_finish_readwrite): Likewise.
797 * grub-core/commands/keylayouts.c: New file.
798 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
799 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
800 aliases.
801 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
802 support scancode 2.
803 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
804 * include/grub/keyboard_layouts.h: New file.
805 * util/grub-mklayout.c: New file.
806 * util/grub-kbdcomp.in: Likewise.
807
a1d84a5e
VS
8082010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
809
810 Unify memory types.
811
812 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
813 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
814 types.
815 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
816 (grub_upper_mem): Likewise.
817 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
818 * include/grub/memory.h (grub_memory_type_t): New enum.
819 All users updated.
820
9696382e
VS
8212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/Makefile.core.def (lsapm): New module.
824 * grub-core/commands/i386/pc/lsapm.c: New file.
825 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
826 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
827 Likewise.
828 * include/grub/i386/pc/apm.h: New file.
829 * include/multiboot.h (multiboot_apm_info): New struct.
830
8312010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
832
833 GRUB-legacy configuration file support.
834
835 * Makefile.util.def (grub-menulst2cfg): New util.
836 * docs/man/grub-menulst2cfg.h2m: New file.
837 * grub-core/Makefile.core.def (legacycfg): New module.
838 * grub-core/commands/legacycfg.c: New file.
839 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
840 (grub_normal_add_menu_entry): ... this.
841 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
842 (grub_normal_set_password): ...this.
843 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
844 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
845 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
846 * grub-core/lib/legacy_parse.c: New file.
847 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
848 * include/grub/i386/pc/vesa_modes_table.h: New file.
849 * include/grub/legacy_parse.h: Likewise.
850 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
851 * util/grub-menulst2cfg.c: New file.
852
bf8d1338
CW
8532010-09-17 Colin Watson <cjwatson@ubuntu.com>
854
855 * grub-core/kern/emu/hostdisk.c
856 (convert_system_partition_to_system_disk): Initialise node.
857
9c0bad2e
CW
8582010-09-17 Colin Watson <cjwatson@ubuntu.com>
859
860 * grub-core/kern/emu/hostdisk.c
861 (convert_system_partition_to_system_disk): Fix devmapper memory pool
862 leak.
863 Reported and based on patch by: Modestas Vainius.
864
a939d135
CW
8652010-09-17 Colin Watson <cjwatson@ubuntu.com>
866
867 Fix DM-RAID probing with recent versions of device-mapper udev
868 rules.
869
870 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
871 canonicalise device paths under /dev/mapper/.
872 (convert_system_partition_to_system_disk): Compare the
873 uncanonicalised path to /dev/mapper/ rather than the canonicalised
874 path, since device nodes under /dev/mapper/ are often symlinks.
875
0f7ee3c9
YB
8762010-09-17 Yves Blusseau <blusseau@zetam.org>
877
878 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
879
10854d0d
YB
8802010-09-16 Yves Blusseau <blusseau@zetam.org>
881
882 * configure.ac: Avoid some annoying error messages if freetype-config
883 program is not found.
884
108538d8
CW
8852010-09-16 Colin Watson <cjwatson@ubuntu.com>
886
887 Support RAID on virtio devices, and others.
888
889 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
890 Rename to ...
891 [__MINGW32__] (grub_find_device): ... this.
892 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
893 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
894 reasonable default if dir is NULL.
895 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
896 ...
897 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
898 (grub_guess_root_device): Update callers.
899 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
900
901 * util/raid.c (grub_util_getdiskname): Remove.
902 (grub_util_raid_getmembers): Use grub_find_device rather than
903 grub_util_getdiskname.
904
e5bfc130
CW
9052010-09-16 Colin Watson <cjwatson@ubuntu.com>
906
907 * docs/grub.texi (serial): Remove obsolete comment about GRUB
908 needing to be compiled with serial support.
909 (ls): Indicate that multiple files are accepted.
910 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
911 indicate that multiple files are accepted.
912
be458ae2
CW
9132010-09-16 Colin Watson <cjwatson@ubuntu.com>
914
915 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
916 libgrub_a_init.c, and util/bash-completion.d/grub.
917
cb731b5e
VS
9182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * util/grub-setup.c (setup): Fix incorrect container semantics.
921
35139e8a
VS
9222010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
925 misusage.
926 Reported by: J. Nick Terry
927
e50fca4a
VS
9282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
929
930 Move embedding routines to partmap sources files.
931
932 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
933 [GRUB_UTIL]: New variable.
934 (gpt_partition_map_iterate): Set part.parent.
935 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
936 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
937 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
938 New function.
939 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
940 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
941 (grub_partition_map) [GRUB_UTIL]: New field embed.
942 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
943 (setup): Use ->embed.
944
f00478b7
VS
9452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
948 function.
949 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
950 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
951
2b94e3ff
YB
9522010-09-15 Yves Blusseau <blusseau@zetam.org>
953
954 Add function to get completions from usage.
955
956 * util/bash-completion.d/grub-completion.bash.in: Add function to get
957 completions from usage. Use LC_ALL=C to get options properly.
958
2e04a006
VS
9592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/gnulib/basename-lgpl.c: Imported.
962 * grub-core/gnulib/basename.c: Likewise.
963 * grub-core/gnulib/dirname-lgpl.c: Likewise.
964 * grub-core/gnulib/dirname.c: Likewise.
965 * grub-core/gnulib/dirname.h: Likewise.
966 * grub-core/gnulib/stripslash.c: Likewise.
967
5dcdf93a
VS
9682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/gnulib/error.c: Resynced.
971 * grub-core/gnulib/getopt.c: Likewise.
972 * grub-core/gnulib/getopt_int.h: Likewise.
973 * grub-core/gnulib/regex.h: Likewise.
974 * grub-core/gnulib/regex_internal.c: Likewise.
975 * grub-core/gnulib/regex_internal.h: Likewise.
976
014f47b7
SJ
9772010-09-15 Szymon Janc <szymon@janc.net.pl>
978
979 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
980 CRC calculations and validity checks.
981 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
982 calculations.
983
dd521a4a
SJ
9842010-09-15 Szymon Janc <szymon@janc.net.pl>
985
986 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
987
79c4eeb9
VS
9882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
989
990 Fix incorrect echo options handling.
991 Reported by: Yves Blusseau.
992
993 * include/grub/command.h (grub_command_flags_t): New flags
994 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
995 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
996 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
997
ed80f7d5
VS
9982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1001 users updated.
1002 (GRUB_COMMAND_FLAG_MENU): Likewise.
1003 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1004 (GRUB_COMMAND_FLAG_TITLE): Removed.
1005 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1006 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1007 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1008 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1009 (grub_command_flags_t): New enum. All users updated.
1010
5fe7620a
SG
10112010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1012
1013 Fix solaris compilation.
1014
1015 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1016 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1017 (grub-emu-list): Likewise.
1018
545b752f
VS
10192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Remove deprecated root command.
1022
1023 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1024 updated.
1025
6c1a338c
VS
10262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * util/i386/pc/grub-setup.c: Merge this ...
1029 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1030 * util/grub-setup.c: ... into this.
1031 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1032 New struct.
1033
10342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1037 possible.
1038
d2ea4551
VS
10392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1042 allocate p.
1043
3c3b5040
VS
10442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1047 explicit root argument to set to prevent UUID to be interpreted as
1048 argument to set.
1049
b71c3fae
VS
10502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1053
275433e6
VS
10542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Don't export grub_gate_a20.
1057
1058 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1059 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1060 to ...
1061 (grub_gate_a20): ... this. All users updated.
1062 * include/grub/i386/pc/init.h: Removed. All users updated.
1063
a5dbb1f1
VS
10642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Create euro.pf2 which supports most European languages.
1067
1068 * Makefile.am (grubdata_DATA): Add euro.pf2.
1069 (euro.pf2): New target.
1070 (CLEANFILES): Add euro.pf2.
1071
62a747cb
VS
10722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * configure.ac: Disable emu-usb by default to prevent inadvertent
1075 device takeover.
1076
608e43b1
VS
10772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 Disable usbserial on grub-emu since our libusb code isn't good enough
1080 yet.
1081
1082 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1083 (usbserial_pl2303): Likewise.
1084 (usbserial_ftdi): Likewise.
1085
94564f81
VS
10862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * include/grub/disk.h (grub_disk): Remove has_partitions.
1089 All users updated.
1090 * disk/loopback.c (grub_loopback): Remove has_partitions.
1091 All users updated.
1092 (options): Remove partitions. All users updated.
1093 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1094 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1095 actual partition table is found.
1096
3352800b
VS
10972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Remove readability checks (too many false negatives).
1100
1101 * util/grub-install.in: Remove readability checks.
1102 * util/grub-mkconfig.in: Likewise.
1103 * util/grub.d/10_hurd.in: Likewise.
1104 * util/grub.d/10_kfreebsd.in: Likewise.
1105 * util/grub.d/10_linux.in: Likewise.
1106 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1107 way.
1108
2419f17a
VS
11092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 Enable acpi shutdown on all ACPI platforms.
1112
1113 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1114 on coreboo, multiboot and EFI.
1115 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1116 (grub_acpi_halt): Likewise.
1117 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1118 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1119 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1120 * grub-core/lib/i386/halt.c (grub_halt)
1121 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1122
0575c7c3
VS
11232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1126 context.
1127
54ac3cd1
VS
11282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1131 * grub-core/video/efi_uga.c: Likewise.
1132
b2a30ac5
VS
11332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 Filter devaliases and never open same device twice.
1136
1137 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1138 (last_ihandle): Likewise.
1139 (ofdisk_hash_ent): New member shortest.
1140 (ofdisk_hash_add): Add canonical path too.
1141 (scan): New function.
1142 (grub_ofdisk_iterate): Iterate over hashed entries.
1143 (compute_dev_path): Don't add :0.
1144 (grub_ofdisk_open): Don't really open the disk.
1145 (grub_ofdisk_close): Avoid closing unrelated disk.
1146 (grub_ofdisk_read): Implement reopen logic.
1147 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1148 New function.
1149 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1150 New proto.
1151
fb53b340
VS
11522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Fix sparc64.
1155
1156 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1157 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1158 right address. Add sparc64_ieee1275_ldflags.
1159 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1160 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1161 to grub_host_to_target_addr
1162 (load_image): Likewise.
1163
f452b040
VS
11642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/normal/completion.c (complete_file): Handle device
1167 containing slash.
1168 Fix based on patch by Doug Nazar.
1169
9b5b2541
VS
11702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 grub-mknetdir script.
1173
1174 * Makefile.util.def (grub-mknetdir): New module.
1175 * tests/util/grub-shell.in: Support boot=net
1176 * util/grub-mknetdir.in: New file.
1177
9d2be652
VS
11782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 videoinfo on non-vbe.
1181
1182 * grub-core/Makefile.core.def (vbeinfo): Removed.
1183 (vbetest): Removed.
1184 (videoinfo): New module.
1185 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1186 * grub-core/commands/i386/pc/vbetest.c: Removed.
1187 * grub-core/commands/videoinfo.c: New file.
1188 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1189 specification.
1190 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1191 as vbetest.
1192 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1193 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1194 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1195 mode_number. New parameter mode. All users updated.
1196 (grub_video_gop_iterate): New function.
1197 (grub_video_efi_gop): New member iterate.
1198 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1199 (grub_vbe_set_video_mode): Remove setting useless fields.
1200 (vbe2videoinfo): New function.
1201 (grub_video_vbe_iterate): Likewise.
1202 (grub_video_vbe_setup): Use vbe2videoinfo.
1203 (grub_video_vbe_print_adapter_specific_info): New function.
1204 (grub_video_vbe_adapter): New fields iterate and
1205 print_adapter_specific_info.
1206 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1207 All users updated.
1208 (grub_video_mode_info): New field mode_number.
1209 (grub_video_adapter): New fields iterate and
1210 print_adapter_specific_info.
1211
179503f5
TG
12122010-09-13 Tristan Gingold <gingold@free.fr>
12132010-09-13 Robert Millan <rmh.grub@aybabtu.com>
12142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/commands/efi/lsefisystab.c: New file.
1217 * grub-core/commands/efi/lssal.c: Likewise.
1218 * grub-core/Makefile.core.def (lsacpi): New module.
1219 (lsefisystab): Likewise.
1220 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
1221 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
1222 (grub_efi_sal_system_table): New struct.
1223 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
1224 (grub_efi_sal_system_table_memory_descriptor): Likewise.
1225 (grub_efi_sal_system_table_platform_features): Likewise.
1226 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
1227 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
1228 (grub_efi_sal_system_table_ap_wakeup): Likewise.
1229 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
1230
cf9827de
VS
12312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 Support explicit user claim that a device is BIOS-visible.
1234
1235 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
1236 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
1237 * grub-core/kern/emu/hostdisk.c
1238 (convert_system_partition_to_system_disk): Support mdX.
1239 (find_system_device): New parameter add. All users updated.
1240 (grub_util_biosdisk_is_present): New function.
1241 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
1242 proto.
1243
53f0eb1f
VS
12442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 Search hints support.
1247
1248 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
1249 All users updated.
1250
b23ffd70
YB
12512010-09-13 Yves Blusseau <blusseau@zetam.org>
1252
1253 Bash completion script for util commands
1254
1255 * Makefile.am: Add util/bash-completion.d directory
1256 * configure.ac: Likewise.
1257 * util/bash-completion.d/Makefile.am: New file.
1258 * util/bash-completion.d/grub-completion.bash.in: Likewise.
1259
d547dc28
VS
12602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
1263 (print_backlog): set backlog_ucs4 and backlog_glyphs.
1264 Reported by: Yves Blusseau.
1265
2fc8ccb9
VS
12662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
1269 partition size and offset.
1270
d8a84076
VS
12712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
1274
84fb3b3d
VS
12752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
1278
768ec2e2
VS
12792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
1282 (grub_xvasprintf): Likewise.
1283
4870900f
VS
12842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
1287
faca6bec
VS
12882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
1291 args ending with NULL.
1292
12932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
1294
1295 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
1296 pointer.
1297
3c70f225
SJ
12982010-09-11 Szymon Janc <szymon@janc.net.pl>
1299
1300 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
1301
4df7996d
VS
13022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Shutdown using ACPI.
1305
1306 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
1307 * grub-core/commands/acpihalt.c: New file.
1308 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
1309 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
1310 (grub_acpi_halt): New proto.
1311 (GRUB_ACPI_SLP_EN): New const.
1312 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
1313 (GRUB_ACPI_OPCODE_*): New enum.
1314 (GRUB_ACPI_EXTOPCODE_*): Likewise.
1315
126b4c32
TG
13162010-09-11 Tristan Gingold <gingold@free.fr>
13172010-09-11 Robert Millan <rmh.grub@aybabtu.com>
13182010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * commands/lsacpi.c: New file.
1321 * grub-core/Makefile.core.def (lsacpi): New module.
1322 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
1323 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
1324 (grub_acpi_madt_entry_header): New struct.
1325 (grub_acpi_madt): Likewise.
1326 (grub_acpi_madt_entry_interrupt_override): Likewise.
1327 (grub_acpi_madt_entry_sapic): Likewise.
1328 (grub_acpi_madt_entry_lsapic): Likewise.
1329 (grub_acpi_madt_entry_platform_int_source): Likewise.
1330 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
1331 (PRIuGRUB_UINT32_T): Likewise.
1332 (PRIxGRUB_UINT64_T): Likewise.
1333
1aa4fe88
VS
13342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Implement loading palette on ieee1275_fb.
1337
1338 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
1339 (have_setcolors): Likewise.
1340 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
1341 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
1342 (grub_video_ieee1275_set_palette): Implement.
1343
25761e13
VS
13442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13452010-09-11 Colin Watson <cjwatson@ubuntu.com>
1346
1347 * util/grub-install.in (grub_partition): New variable.
1348 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
1349 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
1350 Fixes a bug reported by Yves Blusseau.
1351
050abaea
VS
13522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Fix emu on mipsel.
1355
1356 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
1357 =grub_cpu_flush_cache on all mips and not only yeeloong.
1358 * configure.ac (COND_mips): New conditional.
1359 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
1360 platforms.
1361 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
1362 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
1363 [GRUB_LINKER_HAVE_INIT]: New function.
1364 (grub_emu_post_init): Likewise.
1365 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
1366 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
1367 * include/grub/cache.h (_mips): Include mips/cache.h.
1368 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
1369 LVM and RAID prototypes.
1370 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
1371 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
1372 function.
1373
5ed7d816
CW
13742010-09-10 Colin Watson <cjwatson@ubuntu.com>
1375
1376 * util/grub-install.in: Don't try to verify core.img until after
1377 running grub-mkimage to create it.
1378
90367e04
RM
13792010-09-10 Robert Millan <rmh@gnu.org>
1380
1381 * util/grub.d/10_hurd.in: Add misc readability checks.
1382 * util/grub.d/10_kfreebsd.in: Likewise.
1383 * util/grub.d/10_linux.in: Likewise.
1384
c452fa66
CW
13852010-09-10 Colin Watson <cjwatson@ubuntu.com>
1386
1387 * util/grub-install.in: ${imgext} won't be defined here until the
1388 install branch is merged. For the meantime, only verify core.img on
1389 i386-pc and sparc64-ieee1275 platforms.
1390
c38fe9f4
RM
13912010-09-10 Robert Millan <rmh@gnu.org>
1392
1393 Solaris support in grub_find_zpool_from_dir(). Thanks
1394 Seth Goldberg for referring to getextmntent() facility.
1395
1396 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
1397 `sys/mkdev.h'.
1398 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
1399 `<sys/mnttab.h>'.
1400 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
1401 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
1402 method for finding zpool name.
1403
905f7773
CW
14042010-09-10 Colin Watson <cjwatson@ubuntu.com>
1405
1406 grub-fstest needs the host and hostfs modules while other utilities
1407 actively require those modules to be absent, so grub-fstest needs
1408 its own initialisation and finalisation code.
1409
1410 * Makefile.am (grub_fstest.pp): New target.
1411 (grub_fstest_init.lst): Likewise.
1412 (grub_fstest_init.c): Likewise.
1413 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
1414
fb90b546
RM
14152010-09-10 Robert Millan <rmh@gnu.org>
1416
1417 * configure.ac: Check for `struct statfs.f_fstypename' and
1418 `struct statfs.f_mntfromname'.
1419
1420 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
1421 kFreeBSD-specific code.
1422
66d4bea5
RM
14232010-09-10 Robert Millan <rmh@gnu.org>
1424
1425 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
1426 on ZFS. Now non-main filesystems are supported as / too.
1427
b6a690ee
CW
14282010-09-09 Colin Watson <cjwatson@ubuntu.com>
1429
1430 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
1431 and grub-core/disk/host.c to ...
1432 (grub-fstest): ... here. Having the host disk implementation
1433 present confuses grub-probe and other utility programs.
1434
1435 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
1436 when writing to a file, not when writing to stdout.
1437
8901b00c 14382010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
1439
1440 * tests/partmap_test.in: New test for partitions.
1441 * Makefile.util.def: Rules for new test.
1442
7bf45fdd
RM
14432010-09-09 Robert Millan <rmh@gnu.org>
1444
1445 * util/grub-probe.c (probe): Fix a pair of unhandled error
1446 conditions.
1447
4dfbc574
RM
14482010-09-09 Robert Millan <rmh@gnu.org>
1449
1450 Basic Btrfs support (detection and UUID).
1451
1452 * grub-core/fs/btrfs.c: New file.
1453 * Makefile.util.def (library): Register btrfs.c.
1454 * grub-core/Makefile.core.def: Likewise.
1455
6b8e78ae
RM
14562010-09-08 Robert Millan <rmh@gnu.org>
1457
1458 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
1459 with (optional) parameters to specify device and relative path.
1460 * util/grub-install.in: Use is_path_readable_by_grub() to
1461 verify readability of a few critical files.
1462 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
1463 verify readability of grub.cfg.new.
1464
27f21a8b
VS
14652010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Split minix.mod into minix.mod and minix2.mod.
1468
1469 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
1470 * grub-core/Makefile.core.def (minix2): New module.
1471 * grub-core/fs/minix.c: Use definitions instead of runtime version
1472 checking.
1473 * grub-core/fs/minix2.c: New file.
1474
c0e53ea5
YB
14752010-09-08 Yves Blusseau <blusseau@zetam.org>
1476
1477 Add new --boot-directory option to replace --root-directory
1478
1479 * util/grub-install.in: Add new --boot-directory option
1480 * util/grub-reboot.in: Likewise.
1481 * util/grub-set-default.in: Likewise.
1482
b9fe6ea2
YB
14832010-09-08 Yves Blusseau <blusseau@zetam.org>
1484
1485 * util/grub-mkconfig.in: Use new variable.
1486
d87aedff
YB
14872010-09-08 Yves Blusseau <blusseau@zetam.org>
1488
1489 * configure.ac: Define some useful variables.
1490
e55e8495
VS
14912010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1494 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
1495 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
1496 Use terminfo and don't use cursor-on/cursor-off unless it's known
1497 to work.
1498 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
1499 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
1500
6fa6d675
CW
15012010-09-08 Colin Watson <cjwatson@ubuntu.com>
1502
1503 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
1504 starts with "(,", fill the drive containing the loaded image in
1505 between those two characters, but expect that a full partition
1506 specification including partition map names will follow.
1507
92f2aef0
RM
15082010-09-08 Robert Millan <rmh@gnu.org>
1509
1510 * configure.ac: Remove `--enable-grub-fstest' option.
1511 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
1512
1513 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
1514 `grub-fstest' instead of `grub-probe' for readability verification.
1515 * util/grub-probe.c (probe): Remove readability verification kludge.
1516
99fd620d
RM
15172010-09-08 Robert Millan <rmh@gnu.org>
1518
1519 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
1520 initializing `GRUB_FS'.
1521
058e30ac 15222010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
1523
1524 Not command (!) support to GRUB script.
1525
1526 * tests/grub_script_not.in: New test.
1527 * Makefile.util.def: Rules for new test.
1528
1529 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1530 ! command as a special case.
1531 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
1532
b61d05ed 15332010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1534
058e30ac 1535 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
1536 grub_free.
b61d05ed 1537
4d69c786 15382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1539
1540 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
1541
aa3119c4 15422010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
1543
1544 * docs/grub.texi (Shell-like scripting): Documentation for break,
1545 continue, shift and return commands.
1546
db0f7e3d
VS
15472010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Rename CD-ROM to cd on BIOS.
1550
1551 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
1552 "cd".
1553 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
1554
88b87c93
VS
15552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
1558 * util/grub-probe.c (main): Likewise.
1559 * util/i386/pc/grub-setup.c (main): Likewise.
1560 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1561 Reported and debugged by: alexxy
1562
294f324d
VS
15632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
1566 diagnostic info.
1567
d7ee3441
JS
15682010-09-05 Jo Shields <directhex@apebox.org>
1569
1570 * util/grub.d/30_os-prober.in: Add missing classes.
1571
d7e06c1f
VS
15722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * docs/grub.texi (Theme file format): Document new position format.
1575
fc157e53
VS
15762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
1579 a table. Use @code instead of @verbatim.
1580
506e9a1c
CB
15812010-09-05 Colin D Bennett <colin@gibibit.com>
1582
1583 Gfxmenu documentation.
1584
1585 * docs/grub.texi (Theme file format): New chapter.
1586
f0aff67c
SJ
15872010-09-05 Szymon Janc <szymon@janc.net.pl>
1588
1589 * grub-core/Makefile.core.def (xzio): New module.
1590 * grub-core/io/xzio.c: New file.
1591 * grub-core/lib/xzembed/xz.h: New file (from xembed).
1592 * grub-core/lib/xzembed/xz_config.h: Likewise.
1593 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
1594 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
1595 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
1596 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
1597 * grub-core/lib/xzembed/xz_private.h: Likewise.
1598 * grub-core/lib/xzembed/xz_stream.h: Likewise.
1599 * include/grub/file.h (grub_file_filter_id): New compression filter
1600 GRUB_FILE_FILTER_XZIO.
1601
82a85062
VS
16022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
1605 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
1606 size.
1607
3579415d
VS
16082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
1611 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
1612
5124ae6d
VS
16132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 Uncompressed checksum support.
1616
1617 * grub-core/commands/hashsum.c (options): Add option --uncompress.
1618 (check_list): New parameter uncompress.
1619 (grub_cmd_hashsum): Handle --uncompress.
1620
9aadb3d1
VS
16212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 Reintroduce testload.
1624
1625 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
1626 from here ...
1627 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
1628 (GRUB_MOD_INIT): New function.
1629 (GRUB_MOD_FINI): Likewise.
1630 * grub-core/Makefile.core.def (testload): New module.
1631
a17792c3
SJ
16322010-09-05 Szymon Janc <szymon@janc.net.pl>
1633
1634 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
1635 (uint8_t): New type.
1636 (uint16_t): Likewise.
1637 (uint32_t): Likewise.
1638 (uint64_t): Likewise.
1639
b81e40a3
SJ
16402010-09-05 Szymon Janc <szymon@janc.net.pl>
1641
1642 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
1643
fc2ef117
VS
16442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
1647 Made static.
1648 (grub_gzfile_open): Removed. All users updated.
1649 (GRUB_MOD_INIT): New function.
1650 (GRUB_MOD_FINI): Likewise.
1651 * grub-core/kern/file.c (grub_file_filters_all): New variable.
1652 (grub_file_filters_enabled): Likewise.
1653 (grub_file_open): Handle filters.
1654 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
1655 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
1656 * include/grub/file.h (grub_file_filter_id_t): New type.
1657 (grub_file_filter_t): Likewise.
1658 (grub_file_filters_all): New extern variable.
1659 (grub_file_filters_enabled): Likewise.
1660 (grub_file_filter_register): New inline function.
1661 (grub_file_filter_unregister): Likewise.
1662 (grub_file_filter_disable): Likewise.
1663 (grub_file_filter_disable_compression): Likewise.
1664 * include/grub/gzio.h: Removed.
1665
35ee15e0
BC
16662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1667
1668 Filename expansion support for wildcards in GRUB script.
1669
1670 * tests/grub_script_expansion.in: New test.
1671 * Makefile.util.def: Rule for new test.
1672
1673 * grub-core/commands/wildcard.c: New file, implements filename
1674 expansion support for GRUB script.
1675 * grub-core/Makefile.core.def: Rule update for regexp.mod.
1676 * grub-core/script/argv.c: Cosmetic changes.
1677 * grub-core/script/execute.c (grub_script_arglist_to_argv):
1678 Refactored to perform wildcard expansion on arguments.
1679 * include/grub/script_sh.h (grub_script_wildcard_translator): New
1680 struct.
1681
1682 * tests/util/grub-shell.in: Fix quoting for read input.
1683
5f0c4aca
BC
16842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1685
1686 Support for updating environment variables with matched substrings
1687 of regexp.
1688
1689 * tests/grub_cmd_regexp.in: New test.
1690 * Makefile.util.def: Rule for new test.
1691
1692 * grub-core/commands/regexp.c: New option -s to update environment
1693 variables with regexp matches.
1694
3759a35f
SJ
16952010-09-04 Szymon Janc <szymon@janc.net.pl>
1696
1697 * include/grub/file.h (grub_file): New member not_easly_seekable.
1698 (grub_file_seekable): New inline function.
1699 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
1700 easily seekable.
1701 (grub_gzio_open): Set not_easly_seekable.
1702 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
1703 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
1704
ed8c6dec
BC
17052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1706
1707 Support for options to appear multiple times on cmdline.
1708
1709 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
1710 * grub-core/commands/extcmd.c: Support for repeatable option.
1711 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
1712 repeatable option support.
1713
1714 Refactor menuentry into a regular command.
1715
1716 * grub-core/commands/menuentry.c: New file, menuentry command
1717 implementation.
1718 * grub-core/Makefile.core.def: Rule update for normal.mod.
1719 * grub-core/normal/main.c: Moved menuentry creation to
1720 grub-core/commands/menuentry.c.
1721 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
1722 (grub_menu_execute_entry_real): Removed.
1723 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
1724 function.
1725 (grub_script_execute_menuentry): Removed.
1726 * grub-core/script/parser.y (menuentry): Removed.
1727 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
1728 * grub-core/script/yylex.l (menuentry): Removed.
1729 * include/grub/menu.h (grub_menu_init): New prototype.
1730 (grub_menu_fini): New prototype.
1731 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
1732 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
1733 (grub_script_execute_sourcecode): New prototype.
1734
dacd0cf0
BC
17352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1736
1737 "return" command for GRUB script functions.
1738
1739 * tests/grub_script_return.in: New test.
1740 * Makefile.util.def: Rules for new test.
1741
1742 * grub-core/script/execute.c (grub_script_return): New function.
1743 * grub-core/script/main.c: Register/unregister return commaond.
1744 * include/grub/script_sh.h (grub_script_return): New prototype.
1745
52e72f9d
BC
17462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1747
1748 "setparams" command to update positional parameters.
1749
1750 * tests/grub_script_setparams.in: New test.
1751 * Makefile.util.def: Rules for new test.
1752
1753 * grub-core/script/argv.c (grub_script_argv_make): New function.
1754 * grub-core/script/execute.c (replace_scope): New function.
1755 (grub_script_setparams): New function.
1756 * grub-core/script/lexer.c: Remove unused variables.
1757 * grub-core/script/main.c: Register/unregister setparams command.
1758 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
1759 (grub_script_setparams): New prototype.
1760
25b60c91
BC
17612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1762
1763 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
1764 grub_free order.
1765
37e7bf68
BC
17662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1767
1768 Support for passing block of commands as an argument to extcmds.
1769
1770 * Makefile.util.def: Rules for new test.
1771 * tests/grub_script_blockarg.in: New test.
1772 * grub-core/tests/test_blockarg.c: New file, block argument
1773 command used in the test.
1774
1775 * include/grub/extcmd.h (grub_extcmd_context): New struct.
1776 (grub_register_extcmd_prio): New function prototype.
1777 (grub_extcmd_dispatcher): New function prototype.
1778 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
1779 type.
1780 * include/grub/script_sh.h (struct grub_script): New members
1781 `children', `next_siblings' and `refcnt' for block arguments and
1782 reference counting.
1783 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
1784 (grub_script_arg): New member `script' for block argument.
1785 (grub_script_argv): New member `script' for block argument.
1786 (grub_parser_param): New member `scripts' for block argument.
1787 (grub_script_mem_free): New extern function prototype.
1788 (grub_script_ref): New function prototype.
1789 (grub_script_unref): New function prototype.
1790
1791 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
1792 extcmd form to support block arguments.
1793 * grub-core/script/argv.c: Block arguments support.
1794 * grub-core/script/execute.c: Likewise.
1795 * grub-core/script/lexer.c: Likewise.
1796 * grub-core/script/main.c: Likewise.
1797 * grub-core/script/script.c: Likewise.
1798 * grub-core/script/parser.y: Likewise. New `block' and `block0'
1799 non-terminals.
1800
1801 * grub-core/commands/acpi.c: Update extcmd implementations with
1802 grub_extcmd_context_t.
1803 * grub-core/commands/cat.c: Likewise.
1804 * grub-core/commands/echo.c: Likewise.
1805 * grub-core/commands/extcmd.c: Likewise.
1806 * grub-core/commands/hashsum.c: Likewise.
1807 * grub-core/commands/hdparm.c: Likewise.
1808 * grub-core/commands/help.c: Likewise.
1809 * grub-core/commands/hexdump.c: Likewise.
1810 * grub-core/commands/i386/cpuid.c: Likewise.
1811 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1812 * grub-core/commands/i386/pc/halt.c: Likewise.
1813 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1814 * grub-core/commands/iorw.c: Likewise.
1815 * grub-core/commands/keystatus.c: Likewise.
1816 * grub-core/commands/loadenv.c: Likewise.
1817 * grub-core/commands/ls.c: Likewise.
1818 * grub-core/commands/lspci.c: Likewise.
1819 * grub-core/commands/memrw.c: Likewise.
1820 * grub-core/commands/probe.c: Likewise.
1821 * grub-core/commands/search_wrap.c: Likewise.
1822 * grub-core/commands/setpci.c: Likewise.
1823 * grub-core/commands/sleep.c: Likewise.
1824 * grub-core/disk/loopback.c: Likewise.
1825 * grub-core/hello/hello.c: Likewise.
1826 * grub-core/loader/i386/bsd.c: Likewise.
1827 * grub-core/loader/xnu.c: Likewise.
1828 * grub-core/term/gfxterm.c: Likewise.
1829 * grub-core/term/serial.c: Likewise.
1830 * grub-core/tests/lib/functional_test.c: Likewise.
1831
888d1500
BC
18322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
1833
1834 Multi-line quoted strings support.
1835
1836 * grub-core/script/lexer.c (append_newline): Removed.
1837 (grub_script_lexer_yywrap): Refactored.
1838 (grub_script_lexer_init): Refactored.
1839 * grub-core/script/yylex.l (yywrap): New function.
1840 (grub_lexer_resplit): New function.
1841 (grub_lexer_unput): New function.
1842 * include/grub/script_sh.h (grub_lexer_param): New members, unput
1843 and resplit.
1844 * tests/grub_script_echo1.in: Added few more testcases.
1845
dda060dd
VS
18462010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/kern/misc.c: Don't add abort alias in utils.
1849 Reported by: echoline.
1850
6556eba9
BC
18512010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
1852
1853 Add missing files into "make dist" tarball for other platforms.
1854
1855 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
1856 * conf/Makefile.common (dist_noinst_DATA): New variable.
1857 * conf/Makefile.extra-dist: Added missing make dist files.
1858 * grub-core/Makefile.core.def: Likewise.
1859
c8e7bf5f
VS
18602010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 Compress grub_prefix.
1863
1864 * grub-core/boot/i386/pc/lnxboot.S: Use
1865 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
1866 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
1867 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
1868 GRUB_MACHINE_PREFIX_END. All users updated.
1869 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
1870 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
1871 + 0x40.
1872 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
1873 * util/grub-mkimage.c (image_target_desc): Change data_end to
1874 prefix_end. All users updated.
1875
a7c00cdb
VS
18762010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
1879 value.
1880 (grub_openbsd_boot): Likewise.
1881 (grub_netbsd_boot): Likewise.
1882 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
1883 (grub_xnu_boot): Likewise.
1884
9f915872
VS
18852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * configure.ac: Clean LIBS variable after tests.
1888
efa1bee7
CW
18892010-09-02 Colin Watson <cjwatson@ubuntu.com>
1890
1891 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
1892
61d720e5
VS
18932010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
1896 echo if libdevmapper will be used.
1897
ef8e0ec8
IT
18982010-09-02 Ian Turner <Ian.Turner@deshaw.com>
1899
1900 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
1901 constant for the same file.
1902
03e261d8
VS
19032010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
1906
c2a4eba6
CW
19072010-09-02 Colin Watson <cjwatson@ubuntu.com>
1908
1909 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
1910 grub-core/*.pp.
1911
9056cbf3
CW
19122010-09-02 Colin Watson <cjwatson@ubuntu.com>
1913
1914 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
1915 required by the boot protocol.
1916
1917 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
1918 ebp and edi members.
1919 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
1920 state.ebp and state.edi.
1921 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
1922 %ebp and %edi according to grub_relocator32_ebp and
1923 grub_relocator32_edi respectively.
1924 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
1925 and state.edi.
1926
529cc99a
VS
19272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 Add i386-pc-pxe image target.
1930
1931 * util/grub-mkimage.c (image_target_desc): New enum value
1932 IMAGE_I386_PC_PXE.
1933 (image_targets): New target i386-pc-pxe.
1934 (generate_image): Handle i386-pc-pxe image.
1935
9a093920
VS
19362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 Fix grub_pxe_scan.
1939
1940 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
1941 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
1942 All users updated.
1943 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
1944 (grub_pxe_pxenv): Correct type.
1945
f9cefc4e
CW
19462010-09-01 Colin Watson <cjwatson@ubuntu.com>
1947
1948 * NEWS: Document most of the important changes since 1.98.
1949
4066f57f
CW
19502010-09-01 Colin Watson <cjwatson@ubuntu.com>
1951
1952 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
1953 generated manual page) a little.
1954
da2891f9
CW
19552010-09-01 Colin Watson <cjwatson@ubuntu.com>
1956
1957 * docs/grub.texi: Add myself as an author.
1958
ad717fae
VS
19592010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * Makefile.util.def (libgrub.a): Add missing sunpc.
1962 Reported by: Seth Goldberg.
1963
eefe8abd
VS
19642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Interrupt wrapping and code simplifications.
1967
9494ef9a
VS
1968 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
1969 x86_noieee1275 which are functionaly equivalent in this case.
1970 (grub-install): Make source on each platform explicit. Enable on
1971 all noemu.
1972 * gentpl.py (x86_efi_pc): Removed group.
1973 (x86_noefi): Likewise.
1974 (i386_noefi): Likewise.
1975 (x86_noieee1275): Likewise.
1976 (i386_noieee1275): Likewise.
1977 (i386_noefi_noieee1275): Likewise.
1978 (i386_pc_qemu_coreboot): Likewise.
1979 (i386_coreboot_multiboot): Likewise.
1980 (i386_pc_coreboot_multiboot_qemu): Likewise.
1981 (x86_noefi_mips): Likewise.
1982 (noieee1275): Likewise.
1983 (ieee1275_mips): Likewise.
1984 (noemu_noieee1275): Likewise.
1985 (cmos): New group.
1986 (usb): Likewise.
1987 (videoinkernel): Likewise.
1988 (videomodules): Likewise.
eefe8abd 1989 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
1990 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
1991 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
1992 include/grub/loader.h, include/grub/msdos_partition.h,
1993 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
1994 include/grub/machine/console.h, include/grub/machine/vga.h,
1995 include/grub/machine/vbe.h, include/grub/machine/init.h,
1996 include/grub/machine/kernel.h, include/grub/cpu/time.h,
1997 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 1998 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
1999 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2000 * grub-core/Makefile.core.def (kernel): Explicit the source for
2001 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2002 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2003 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2004 Use videoinkernel tag.
2005 (usb): Enable on all usb.
2006 (usbserial_common): Likewise.
2007 (usbserial_pl2303): Likewise.
2008 (usbserial_ftdi): Likewise.
2009 (uhci): Enable on all x86.
2010 (ohci): Enable on all pci.
2011 (cmostest): Enable on all CMOS.
2012 (acpi): Include commands/acpi.c on all platforms.
2013 (halt): Add relevant lib/*/halt.c.
2014 (hdparm): Enable on all pci.
2015 (lspci): Likewise.
2016 (usbtest): Enable on all usb.
2017 (ata): Enable on all pci.
2018 (ata_pthru): Likewise.
2019 (usbms): Enable on all usb.
2020 (usb_keyboard): Likewise.
2021 (font): Use tag videomodules.
2022 (bufio): Likewise.
2023 (datetime): Use tag cmos. Enable on all noemu.
2024 (mmap): Use tags common and x86.
2025 (gfxterm): Use tag videomodules.
2026 (bitmap): Likewise.
2027 (bitmap_scale): Likewise.
2028 (video_fb): Likewise.
2029 (video): Likewise.
2030 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2031 adjust padding accordingly. All users updated.
2032 (grub_ohci_transaction): Fix bad format specification.
2033 (GRUB_MOD_INIT): Add asserts for struct size.
2034 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2035 (grub_alloc_td): Likewise.
2036 (grub_free_queue): Likewise.
2037 (grub_uhci_transfer): Likewise.
2038 (grub_uhci_transaction): Fix bad format specification.
2039 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2040 (grub_usb_bulk_readwrite): Likewise.
2041 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2042 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2043 Made static.
2044 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2045 Made static.
2046 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2047 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2048 Transformed into C.
2049 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2050 Moved from here ...
2051 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2052 ... here. Transformed into C. Made static.
2053 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2054 Moved from here ...
2055 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2056 ... here. Transformed into C. Made static.
2057 * grub-core/kern/i386/pc/startup.S
2058 (grub_biosdisk_check_int13_extensions): Moved from here ...
2059 * grub-core/disk/i386/pc/biosdisk.c
2060 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2061 Made static.
2062 * grub-core/kern/i386/pc/startup.S
2063 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2064 * grub-core/disk/i386/pc/biosdisk.c
2065 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2066 Transformed into C. Made static.
2067 * grub-core/kern/i386/pc/startup.S
2068 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2069 * grub-core/disk/i386/pc/biosdisk.c
2070 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2071 Transformed into C. Made static.
2072 * grub-core/kern/i386/pc/startup.S
2073 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2074 * grub-core/disk/i386/pc/biosdisk.c
2075 (grub_biosdisk_get_diskinfo_standard): ... here.
2076 Transformed into C. Made static.
2077 * grub-core/kern/i386/pc/startup.S
2078 (grub_biosdisk_get_num_floppies): Moved from here ...
2079 * grub-core/disk/i386/pc/biosdisk.c
2080 (grub_biosdisk_get_num_floppies): ... here.
2081 Transformed into C. Made static.
2082 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2083 New function.
2084 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2085 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2086 Transformed into C. Made static.
2087 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2088 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2089 Transformed into C. Made static.
2090 * grub-core/kern/i386/ieee1275/init.c: Removed.
2091 * grub-core/kern/i386/misc.S: Likewise.
2092 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2093 Splitted from here ...
2094 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2095 Transformed into C. Made static. All users updated.
2096 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2097 Transformed into C. Made static. All users updated.
2098 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2099 Moved from here...
2100 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2101 Transformed into C. Made static. All users updated.
2102 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2103 Moved from here...
2104 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2105 Transformed into C. Made static. All users updated.
2106 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2107 Removed (replaced by C version).
2108 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2109 Moved from here...
2110 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2111 Transformed into C. Made static.
2112 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2113 Moved from here...
2114 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2115 ... here. Transformed into C.
2116 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2117 Moved from here...
2118 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2119 ... here. Transformed into C.
2120 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2121 Moved from here...
2122 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2123 ... here. Transformed into C. Made static.
2124 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2125 Moved from here...
2126 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2127 ... here. Transformed into C.
21ed554b
VS
2128 * grub-core/kern/i386/pc/startup.S
2129 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2130 * grub-core/video/i386/pc/vbe.c
2131 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2132 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2133 Moved from here...
2134 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2135 ... here. Transformed into C.
2136 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2137 Moved from here...
2138 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2139 ... here. Transformed into C.
2140 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2141 Moved from here...
2142 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2143 ... here. Transformed into C.
2144 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2145 Moved from here...
2146 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2147 ... here. Transformed into C.
2148 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2149 Moved from here...
2150 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2151 ... here. Transformed into C. Made static.
2152 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2153 Moved from here...
2154 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2155 ... here. Transformed into C. Made static.
2156 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2157 Moved from here...
2158 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2159 ... here. Transformed into C. Made static.
2160 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2161 pxe_rm_entry as third argument.
2162 (grub_bios_interrupt): New function.
2163 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2164 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2165 of calling grub_stop.
2166 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2167 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2168 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2169 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2170 * grub-core/lib/i386/halt.c: Moved from here ...
2171 * grub-core/lib/i386/halt.c: ... here.
2172 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2173 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2174 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2175 grub_stop_floppy.
2176 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2177 * include/grub/i386/coreboot/init.h: Removed.
2178 * include/grub/i386/multiboot/init.h: Likewise.
2179 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2180 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2181 * include/grub/i386/pc/int.h: New file.
2182 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2183 (grub_pxe_scan): Removed.
2184 (grub_pxe_call): Update prototype.
2185 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2186 prototypes.
2187 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2188 * include/grub/i386/qemu/init.h: Removed.
2189 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2190 noreturn.
2191 (grub_halt): Likewise.
2192 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2193 (grub_reboot): Likewise.
2194 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2195 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2196 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2197
215dd471
RM
21982010-08-30 Robert Millan <rmh@gnu.org>
2199
2200 * NEWS: Document addition of ZFS support in `grub-install' and
2201 `grub-mkconfig'.
2202
ebd65b82
BC
22032010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2204
2205 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2206 dprintf output.
2207
11721d19
VS
22082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Remove leftover embedding of font objects.
2211
2212 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2213 * util/grub-install.in (font): Removed.
2214 * util/grub-mkimage.c (generate_image): Remove font support. All users
2215 updated.
2216
37837d4e
VS
22172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 Remove leftover embedding of font objects.
2220
2221 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
2222 * util/grub-install.in (font): Removed.
2223 * util/grub-mkimage.c (generate_image): Remove font support. All users
2224 updated.
2225
b4c1aae0
VS
22262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 2229 Reported by: Ian Turner
b4c1aae0 2230
8920a08d
VS
22312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
2234 timeout to avoid indefinite boot stalling.
2235
f21db033
VS
22362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
2239 (grub_env_write_color_highlight): Likewise.
2240
9a9de209
VS
22412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/normal/term.c (print_more): Return to normal and not
2244 to standard state after printing "---MORE---".
2245
3dca01d7
VS
22462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
2249 Mask out the bit 0x80 since it has other meaning that specifiing color.
2250
0b986c40
VS
22512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 New relocator. Allows for more kernel support and more straightforward
2254 loader writing.
2255
2256 * Makefile.am (BOOTTARGET): New variable.
2257 (QEMU32): Likewise.
2258 (linux.init.x86_64): New target.
2259 (linux.init.i386): Likewise.
2260 (multiboot.elf): Likewise.
2261 (kfreebsd.elf): Likewise.
2262 (kfreebsd.aout): Likewise.
2263 (pc-chainloader.elf): Likewise.
2264 (pc-chainloader.bin): Likewise.
2265 (ntldr.elf): Likewise.
2266 (ntldr.bin): Likewise.
2267 (multiboot2.elf): Likewise.
2268 (kfreebsd.init.x86_64): Likewise.
2269 (kfreebsd.init.i386): Likewise.
2270 (knetbsd.init.i386): Likewise.
2271 (kopenbsd.init.i386): Likewise.
2272 (knetbsd.init.x86_64): Likewise.
2273 (kopenbsd.init.x86_64): Likewise.
2274 (linux-initramfs.i386): Likewise.
2275 (linux-initramfs.x86_64): Likewise.
2276 (kfreebsd-mfsroot.i386.img): Likewise.
2277 (knetbsd.image.i386): Likewise.
2278 (kopenbsd.image.i386): Likewise.
2279 (kopenbsd.image.x86_64): Likewise.
2280 (knetbsd.miniroot-image.i386.img): Likewise.
2281 (kfreebsd-mfsroot.x86_64.img): Likewise.
2282 (knetbsd.image.x86_64): Likewise.
2283 (knetbsd.miniroot-image.x86_64.img): Likewise.
2284 (kfreebsd-mfsroot.i386.gz): Likewise.
2285 (bootcheck-kfreebsd-i386): Likewise.
2286 (kfreebsd-mfsroot.x86_64.gz): Likewise.
2287 (bootcheck-kfreebsd-x86_64): Likewise.
2288 (knetbsd.miniroot-image.i386.gz): Likewise.
2289 (bootcheck-knetbsd-i386): Likewise.
2290 (bootcheck-kopenbsd-i386): Likewise.
2291 (bootcheck-kopenbsd-x86_64): Likewise.
2292 (knetbsd.miniroot-image.x86_64.gz): Likewise.
2293 (bootcheck-knetbsd-x86_64): Likewise.
2294 (bootcheck-linux-i386): Likewise.
2295 (bootcheck-linux-x86_64): Likewise.
2296 (bootcheck-linux16-i386): Likewise.
2297 (bootcheck-linux16-x86_64): Likewise.
2298 (bootcheck-multiboot): Likewise.
2299 (bootcheck-multiboot2): Likewise.
2300 (bootcheck-kfreebsd-aout): Likewise.
2301 (bootcheck-pc-chainloader): Likewise.
2302 (bootcheck-ntldr): Likewise.
2303 (CLEANFILES): Add new targets.
2304 (BOOTCHECKS): New variable.
2305 (.PHONY): Add bootchecks.
2306 (SUCCESSFUL_BOOT_STRING): New variable.
2307 (BOOTCHECK_TIMEOUT): Likewise.
2308 (bootcheck): New target
2309 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
2310 * configure.ac: Correct efiemu excuse.
2311 * docs/grub.texi (Supported kernels): New chapter.
2312 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
2313 include/grub/mm_private.h. Simplify inclusion of
2314 include/grub/boot.h, include/grub/loader.h
2315 and include/grub/msdos_partition.h
2316 (KERNEL_HEADER_FILES) [i386_coreboot]:
2317 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
2318 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
2319 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
2320 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
2321 include/grub/machine/loader.h.
2322 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
2323 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
2324 extra_dist.
2325 (pci.mod): Enable on i386-multiboot.
2326 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
2327 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
2328 i386-qemu.
2329 (relocator.mod): Rewritten.
2330 (aout.mod): Enable on all x86.
2331 (bsd.mod): Likewise.
2332 (ntldr.mod): New module.
2333 (linux.mod): Use loader/i386/linux.c on all x86.
2334 (xnu.mod): Enable on all x86.
2335 (vga_text.mod): disable on EFI and QEMU.
2336 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
2337 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
2338 * grub-core/efiemu/loadcore.c: Likewise.
2339 * grub-core/efiemu/main.c: Likewise.
2340 (grub_efiemu_exit_boot_services): Removed.
2341 (grub_efiemu_finish_boot_services): Likewise.
2342 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
2343 function.
2344 * grub-core/efiemu/i386/nocfgtables.c: New file.
2345 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
2346 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
2347 (grub_efi_finish_boot_services): Moved from here ...
2348 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
2349 Fille finish memory map and related data.
2350 (finish_mmap_buf): New variable.
2351 (grub_efi_uintn_t finish_mmap_size): Likewise.
2352 (grub_efi_uintn_t finish_key): Likewise.
2353 (grub_efi_uintn_t finish_desc_size): Likewise.
2354 (grub_efi_uint32_t finish_desc_version): Likewise.
2355 (grub_efi_is_finished): Likewise.
2356 (grub_efi_get_memory_map): Use saved memory map if EFI is already
2357 finished.
2358 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
2359 (grub_elf64_phdr_iterate): Likewise.
2360 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
2361 (grub_os_area_size): Likewise.
2362 (grub_machine_init): Don't reserve os area.
2363 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
2364 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2365 * grub-core/kern/i386/loader.S: Removed.
2366 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
2367 (grub_os_area_size): Likewise.
2368 (grub_machine_init): Don't reserve os area.
2369 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2370 Don't call grub_dl_unload_all.
2371 Don't include loader.S.
2372 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2373 Declare the memory after _end as available.
2374 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 2375 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 2376 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
2377 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
2378 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
2379 * include/grub/mm_private.h (grub_mm_header): ... here.
2380 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
2381 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
2382 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
2383 (grub_mm_region): ..here. Removed addr. Added pre_size.
2384 All users updated.
2385 * grub-core/kern/mm.c (base): Renamed to ...
2386 (grub_mm_base): ... this. Made global.
2387 (grub_real_malloc): Alloc from end of region.
2388 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
2389 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
2390 * grub-core/kern/powerpc/cache_flush.S: ... here.
2391 * grub-core/lib/efi/relocator.c: New file.
2392 * grub-core/lib/i386/relocator.c: Rewritten.
2393 * grub-core/lib/i386/relocator16.S: New file.
2394 * grub-core/lib/i386/relocator32.S: Likewise.
2395 * grub-core/lib/i386/relocator64.S: Likewise.
2396 * grub-core/lib/i386/relocator_asm.S: Rewritten.
2397 * grub-core/lib/i386/relocator_common.S: New file.
2398 * grub-core/lib/ieee1275/relocator.c: Likewise.
2399 * grub-core/lib/mips/relocator.c: Rewritten.
2400 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
2401 stylistic adjustments.
2402 * grub-core/lib/powerpc/relocator.c: New file.
2403 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
2404 * grub-core/lib/relocator.c: Rewritten.
2405 * grub-core/lib/x86_64/relocator_asm.S: New file.
2406 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
2407 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
2408 (bsd_tag): New struct.
2409 (tags): New variable.
2410 (tags_last): Likewise.
2411 (netbsd_module): New struct.
2412 (netbsd_mods): New variable.
2413 (netbsd_mods_last): Likewise.
2414 (openbsd_opts): New parameter "serial".
2415 (OPENBSD_SERIAL_ARG): New definition.
2416 (netbsd_opts): New parameter "serial".
2417 (NETBSD_SERIAL_ARG): New definition.
2418 (grub_freebsd_add_meta): Reorganised into ...
2419 (grub_bsd_add_meta): ...this. All users updated.
2420 (grub_freebsd_add_mmap): Reorganised into ...
2421 (generate_e820_mmap): ...this...
2422 (grub_bsd_add_mmap): ...and this. All users updated.
2423 (grub_freebsd_list_modules): Use tags.
2424 (grub_netbsd_add_meta_module): New function.
2425 (grub_netbsd_list_modules): Likewise.
2426 (grub_freebsd_boot): Use relocator and finish EFI.
2427 (grub_openbsd_boot): Likewise.
2428 (grub_netbsd_setup_video): New function.
2429 (grub_netbsd_add_modules): Likewise.
2430 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
2431 and finish EFI.
2432 (grub_bsd_unload): Unload tags.
2433 (grub_bsd_load_aout): Use relocator.
2434 (grub_bsd_elf32_size_hook): New function.
2435 (grub_bsd_elf32_hook): Use relocator.
2436 (grub_bsd_elf64_size_hook): New function.
2437 (grub_bsd_elf64_hook): Use relocator.
2438 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
2439 (grub_bsd_load): Zero-out openbsd_ramdisk.
2440 (grub_bsd_load): Use relocator.
2441 (grub_cmd_openbsd): Support serial.
2442 (grub_cmd_netbsd): Support modules.
2443 (grub_cmd_freebsd_module): Use relocator.
2444 (grub_netbsd_module_load): New function.
2445 (grub_cmd_netbsd_module): Likewise.
2446 (grub_cmd_openbsd_ramdisk): Likewise.
2447 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
2448 kopenbsd_ramdisk.
2449 (GRUB_MOD_FINI): Unregister new commands.
2450 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
2451 (grub_freebsd_load_elfmodule_obj): Use relocator.
2452 (grub_freebsd_load_elfmodule): Likewise.
2453 (grub_freebsd_load_elf_meta): Likewise.
2454 (grub_netbsd_load_elf_meta): New function.
2455 (grub_openbsd_find_ramdisk): Likewise.
2456 * grub-core/loader/i386/bsd_helper.S: Removed.
2457 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
2458 * grub-core/loader/i386/bsd_trampoline.S: Removed.
2459 * grub-core/loader/i386/efi/linux.c: Likewise.
2460 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
2461 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
2462 (DEFAULT_VIDEO_MODE): Likewise.
2463 (real_mode_target): New variable.
2464 (prot_mode_target): Likewise.
2465 (initrd_mem_target): Likewise.
2466 (relocator): Likewise.
2467 (efi_mmap_buf): Likewise.
2468 (efi_mmap_size): Likewise.
2469 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
2470 (free_pages): Use relocator.
2471 (allocate_pages): Account for efi_mmap and use relocator. Return error.
2472 (grub_linux_setup_video): Return error.
2473 (grub_linux_trampoline_start): Removed.
2474 (grub_linux_trampoline_end): Likewise.
2475 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
2476 andd video parameters depending on firmware.
2477 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
2478 [GRUB_MACHINE_EFI]: Pass EFI parameters.
2479 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
2480 (grub_cmd_initrd): Use relocator.
2481 * grub-core/loader/i386/linux_trampoline.S: Removed.
2482 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
2483 (elf_sec_entsize): Likewise.
2484 (elf_sec_shstrndx): Likewise.
2485 (elf_sections): Likewise.
2486 (grub_multiboot_load): Use relocator.
2487 (grub_multiboot_get_mbi_size): Account for sections.
2488 (grub_multiboot_make_mbi): Use relocator and support sections.
2489 (grub_multiboot_add_elfsyms): New function.
2490 (grub_multiboot_free_mbi): Free sections.
2491 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
2492 (grub_linux_real_target): Likewise.
2493 (grub_linux_real_chunk): Likewise.
2494 (grub_linux16_prot_size): Likewise.
2495 (grub_linux16_boot): Use relocator.
2496 (grub_linux_unload): Unload relocator.
2497 (grub_cmd_linux): Use relocator.
2498 (grub_cmd_initrd): Likewise.
2499 * grub-core/loader/i386/pc/ntldr.c: New file.
2500 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
2501 Don't try to guess CPU frequency.
2502 (grub_xnu_set_video): Stretch bitmap.
2503 (grub_xnu_boot): Use relocator.
2504 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
2505 (grub_linux_unload): Free relocator.
2506 (grub_linux_load32): Use relocator.
2507 (grub_linux_load64): Likewise.
2508 (grub_cmd_initrd): Likewise.
2509 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
2510 (grub_multiboot_unload): Unload relocator.
2511 (grub_cmd_multiboot): Use relocator.
2512 (grub_cmd_module): Likewise.
2513 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
2514 Use relocator and support sections.
2515 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
2516 (elf_sec_entsize): Likewise.
2517 (elf_sec_shstrndx): Likewise.
2518 (elf_sections): Likewise.
2519 (grub_multiboot_load): Use relocator.
2520 (grub_multiboot_get_mbi_size): Account for sections.
2521 (grub_multiboot_make_mbi): Use relocator and support sections.
2522 (grub_multiboot_add_elfsyms): New function.
2523 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
2524 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
2525 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
2526 Prototype changed. All users updated.
2527 (grub_xnu_align_heap): Simplified.
2528 (grub_xnu_writetree_toheap): Likewise.
2529 (grub_xnu_unload): Unload relocator.
2530 (grub_cmd_xnu_kernel): Use relocator.
2531 (grub_cmd_xnu_kernel64): Likewise.
2532 (grub_xnu_register_memory): Simplified.
2533 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
2534 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
2535 EFI is finished.
2536 (grub_console_checkkey): Likewise.
2537 (grub_console_getkey): Likewise.
2538 (grub_console_getwh): Likewise.
2539 (grub_console_getxy): Likewise.
2540 (grub_console_gotoxy): Likewise.
2541 (grub_console_cls): Likewise.
2542 (grub_console_setcolorstate): Likewise.
2543 (grub_console_setcursor): Likewise.
2544 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
2545 * grub-core/tests/boot/kbsd.init-i386.S: New file.
2546 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
2547 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
2548 * grub-core/tests/boot/kernel-8086.S: Likewise.
2549 * grub-core/tests/boot/kernel-i386.S: Likewise.
2550 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
2551 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
2552 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
2553 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
2554 * grub-core/tests/boot/knetbsd.cfg: Likewise.
2555 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
2556 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
2557 * grub-core/tests/boot/linux.cfg: Likewise.
2558 * grub-core/tests/boot/linux.init-i386.S: Likewise.
2559 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
2560 * grub-core/tests/boot/linux16.cfg: Likewise.
2561 * grub-core/tests/boot/multiboot.cfg: Likewise.
2562 * grub-core/tests/boot/multiboot2.cfg: Likewise.
2563 * grub-core/tests/boot/ntldr.cfg: Likewise.
2564 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
2565 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
2566 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
2567 New definition.
2568 * include/grub/dl.h (grub_dl_unload_all): Removed.
2569 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
2570 (grub_efi_finish_boot_services): Change prototype.
2571 (grub_efi_is_finished): New variable.
2572 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
2573 Changed prototype.
2574 (grub_efiemu_finish_boot_services): Removed.
2575 (grub_machine_efiemu_init_tables): New prototype.
2576 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
2577 (grub_elf64_phdr_iterate): Likewise.
2578 * include/grub/i386/bsd.h: Include relocator.h.
2579 (freebsd_tag_header): New struct.
2580 (grub_openbsd_bios_mmap): Removed.
2581 (grub_unix_real_boot): Removed.
2582 (grub_freebsd_load_elfmodule32): Changed prototype.
2583 (grub_freebsd_load_elfmodule_obj64): Likewise.
2584 (grub_freebsd_load_elf_meta32): Likewise.
2585 (grub_freebsd_load_elf_meta64): Likewise.
2586 (grub_freebsd_add_meta): Removed.
2587 (grub_netbsd_load_elf_meta32): New prototype.
2588 (grub_netbsd_load_elf_meta64): Likewise.
2589 (grub_bsd_add_meta): Likewise.
2590 (grub_openbsd_ramdisk_descriptor): New struct.
2591 (grub_openbsd_find_ramdisk32): New prototype.
2592 (grub_openbsd_find_ramdisk64): Likewise.
2593 * include/grub/i386/coreboot/loader.h: Removed.
2594 * include/grub/i386/efi/loader.h: Likewise.
2595 * include/grub/i386/ieee1275/loader.h: Likewise.
2596 * include/grub/i386/linux.h (linux_kernel_header): Change void *
2597 to grub_uint32_t.
2598 * include/grub/i386/loader.h: Removed.
2599 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
2600 value.
2601 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
2602 (grub_phys_addr_t): New type.
2603 (grub_vtop): New inline function.
2604 (grub_map_memory): Likewise.
2605 (grub_unmap_memory): Likewise.
2606 * include/grub/i386/multiboot/loader.h: Removed.
2607 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
2608 (NETBSD_BTINFO_CONSOLE): New definition.
2609 (NETBSD_BTINFO_SYMTAB): Likewise.
2610 (NETBSD_BTINFO_MODULES): Likewise.
2611 (NETBSD_BTINFO_FRAMEBUF): Likewise.
2612 (grub_netbsd_bootinfo): New struct.
2613 (grub_netbsd_btinfo_common): Use explicit bitsize.
2614 (grub_netbsd_btinfo_mmap_entry): Removed.
2615 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
2616 (grub_netbsd_btinfo_bootdisk): New struct.
2617 (grub_netbsd_btinfo_symtab): Likewise.
2618 (grub_netbsd_btinfo_serial): Likewise.
2619 (grub_netbsd_btinfo_modules): Likewise.
2620 (grub_netbsd_btinfo_framebuf): Likewise.
2621 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
2622 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
2623 Likewise.
2624 (grub_openbsd_bootargs): Use explicit bitsize.
2625 (grub_openbsd_bootarg_console): New struct.
2626 (GRUB_OPENBSD_COM_MAJOR): New definition.
2627 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
2628 * include/grub/i386/pc/efiemu.h: Removed.
2629 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
2630 * include/grub/i386/qemu/loader.h: Removed.
2631 * include/grub/i386/relocator.h: Rewritten.
2632 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
2633 * include/grub/mips/memory.h: New file.
2634 * include/grub/mips/multiboot.h: Rewritten.
2635 * include/grub/mips/relocator.h: Rewritten.
2636 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
2637 (grub_vtop): New function.
2638 (grub_map_memory): Likewise.
2639 (grub_unmap_memory): Likewise.
2640 * include/grub/misc.h (ALIGN_DOWN): New definition.
2641 * include/grub/mm.h (grub_mm_check_real): New proto.
2642 (GRUB_MM_CHECK): New definition.
2643 * include/grub/mm_private.h: New file.
2644 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
2645 (grub_multiboot_get_mbi_size): Removed.
2646 (grub_multiboot_make_mbi): Change prottype.
2647 (grub_multiboot_set_accepts_video): New proto.
2648 (grub_multiboot_add_elfsyms): Likewise.
2649 (grub_multiboot_payload_eip): New variable.
2650 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
2651 New prototype.
2652 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
2653 New definition.
2654 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
2655 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
2656 * include/grub/powerpc/ieee1275/loader.h: Removed.
2657 * include/grub/powerpc/memory.h: New file.
2658 * include/grub/powerpc/relocator.h: Likewise.
2659 * include/grub/relocator.h: Likewise.
2660 * include/grub/relocator_private.h: Likewise.
2661 * include/grub/sparc64/ieee1275/loader.h: Removed.
2662 * include/grub/x86_64/memory.h: New file.
2663 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
2664 (grub_xnu_heap_malloc): Likewise.
2665 (grub_xnu_heap_real_start): Removed.
2666 (grub_xnu_heap_start): Likewise.
2667 (grub_xnu_relocator): New variable.
2668 (grub_xnu_heap_target_start): Likewise.
2669 * tests/util/grub-shell.in: Support non-pc.
2670 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 2671
5303b85d
VS
26722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
2675 on malloc error.
2676 (grub_bidi_logical_to_visual): Check that malloc succeded.
2677 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
2678 puts.
2679 (grub_xputs_normal): Likewise.
2680
d768d159
VS
26812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
2684 extra_dist.
2685
26862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/efiemu/runtime/efiemu.sh: Removed.
2689
5bf84df4
VS
26902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
2693
3626810e
VS
26942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
2697 dprintf.
2698
a7363f53
BC
26992010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
2700
2701 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
2702
902f75f6
VS
27032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/normal/term.c (print_more): Fix a memory leak.
2706 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
2707 (grub_xputs_normal): Likewise.
2708
3c707967
VS
27092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
2712 the begining of the string
2713
2053cc07
VS
27142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/script/script.c (grub_script_parse): Free parsed on
2717 failure.
2718
46422ebf
VS
27192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
2722 on failure.
2723
9e0fa3f6
VS
27242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
2727 return.
2728
3393cf16
VS
27292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
2732 (scroll_up): Fix a memory leak.
2733
b17540cb
VS
27342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
2737 errors.
2738
67140446
VS
27392010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Handle USB pendrives exposed as floppies.
2742
2743 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
2744 floppy.
2745 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
2746 Check for partitions on all devices.
2747
e35e46fc
VS
27482010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
2751 (readkey): Likewise.
2752
d24c6190
BC
27532010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2754
2755 Multiple variable names support to "export" command.
2756
2757 * normal/context.c (grub_cmd_export): "export" command supports
2758 multiple variable names.
2759
04ddcc6a
ST
27602010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
2761
2762 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
2763 --target=drive output to Mach device name.
2764
0c8b61d8
BC
27652010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
2766
2767 New Automake based build system for GRUB.
2768
2769 * ABOUT-NLS: New file.
2770 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
2771 in Makefile.util.def file.
2772 * Makefile.util.def: New file. Autogen build definitions file for
2773 GRUB host utils.
2774 * conf/Makefile.common: New file. Common variables for GRUB host
2775 utils and target modules.
2776 * conf/Makefile.extra-dist: New file. Extra files for make dist.
2777 * docs/Makefile.am: New file. Automake file for docs.
2778 * gentpl.py: New file. Python script to generate Autogen
2779 template.
2780 * grub-core/Makefile.am: New file. GRUB target modules' rules
2781 that doesn't fit in Makefile.core.def file.
2782 * grub-core/Makefile.core.def: New file. Autogen build
2783 definitions file for GRUB target modules.
2784 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
2785 specific setjmp.S file.
2786 * po/Makefile.am: New file.
2787
2788 * .bzrignore: New ignores.
2789 * INSTALL: New requirements, without Ruby.
2790 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
2791 * autogen.sh: Updated to invoke autogen as necessary.
2792 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
2793 and defines for Automake conditionals.
2794 * geninit.sh: Refactoring.
2795
2796 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
2797 necessary.
2798 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
2799 New prototype.
2800
2801 * include/grub/test.h: Fix functional test modules' naming.
2802 * grub-core/tests/example_functional_test.c: Fix test module name.
2803
2804 * util/misc.c: Hosted versions' of grub functions for libgrub.a
2805 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
2806 * util/grub-editenv.c: Likewise.
2807 * util/grub-fstest.c: Likewise.
2808 * util/grub-mkdevicemap.c: Likewise.
2809 * util/grub-mkfont.c: Likewise.
2810 * util/grub-mkimage.c: Likewise.
2811 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2812 * util/grub-probe.c: Likewise.
2813 * util/grub-script-check.c: Likewise.
2814 * util/i386/pc/grub-setup.c: Likewise.
2815 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2816
2817 * tests/util/grub-shell.in: Fix override directory path.
2818 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
2819 * util/import_gcry.py: Create Makefile.gcry.def file instead.
2820
2821 * util/lvm.c: Update #includes.
2822 * util/raid.c: Likewise.
2823 * util/resolve.c: Likewise.
2824 * grub-core/bus/emu/pci.c: Likewise.
2825 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
2826 * grub-core/lib/posix_wrap/string.h: Likewise.
2827 * grub-core/kern/emu/main.c: Likewise.
2828
2829 * grub-core/gensymlist.sh: New file. Script for generating kernel
2830 symbols file.
2831 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
2832
2833 * grub-core/gentrigtables.c: Fix unused variable warnings.
2834
2835 * Makefile.in: Removed.
2836 * conf/any-emu.rmk: Removed.
2837 * conf/common.rmk: Removed.
2838 * conf/i386-coreboot.rmk: Removed.
2839 * conf/i386-efi.rmk: Removed.
2840 * conf/i386-ieee1275.rmk: Removed.
2841 * conf/i386-multiboot.rmk: Removed.
2842 * conf/i386-pc.rmk: Removed.
2843 * conf/i386-qemu.rmk: Removed.
2844 * conf/i386.rmk: Removed.
2845 * conf/mips-yeeloong.rmk: Removed.
2846 * conf/mips.rmk: Removed.
2847 * conf/powerpc-ieee1275.rmk: Removed.
2848 * conf/sparc64-ieee1275.rmk: Removed.
2849 * conf/tests.rmk: Removed.
2850 * conf/x86-efi.rmk: Removed.
2851 * conf/x86_64-efi.rmk: Removed.
2852 * gendistlist.sh: Removed.
2853 * geninitheader.sh: Removed.
2854 * genkernsyms.sh.in: Removed.
2855 * genmk.rb: Removed.
2856 * gensymlist.sh.in: Removed.
2857 * mkinstalldirs: Removed.
2858 * boot: Moved ...
2859 * grub-core/boot: ... to here.
2860 * bus: Moved ...
2861 * grub-core/bus: ... to here.
2862 * commands: Moved ...
2863 * grub-core/commands: ... to here.
2864 * disk: Moved ...
2865 * grub-core/disk: ... to here.
2866 * efiemu: Moved ...
2867 * grub-core/efiemu: ... to here.
2868 * font: Moved ...
2869 * grub-core/font: ... to here.
2870 * fs: Moved ...
2871 * grub-core/fs: ... to here.
2872 * gencmdlist.sh: Moved ...
2873 * grub-core/gencmdlist.sh: ... to here.
2874 * genemuinit.sh: Moved ...
2875 * grub-core/genemuinit.sh: ... to here.
2876 * genemuinitheader.sh: Moved ...
2877 * grub-core/genemuinitheader.sh: ... to here.
2878 * genfslist.sh: Moved ...
2879 * grub-core/genfslist.sh: ... to here.
2880 * genhandlerlist.sh: Moved ...
2881 * grub-core/genhandlerlist.sh: ... to here.
2882 * genmoddep.awk: Moved ...
2883 * grub-core/genmoddep.awk: ... to here.
2884 * genmodsrc.sh: Moved ...
2885 * grub-core/genmodsrc.sh: ... to here.
2886 * genpartmaplist.sh: Moved ...
2887 * grub-core/genpartmaplist.sh: ... to here.
2888 * genparttoollist.sh: Moved ...
2889 * grub-core/genparttoollist.sh: ... to here.
2890 * genterminallist.sh: Moved ...
2891 * grub-core/genterminallist.sh: ... to here.
2892 * gentrigtables.c: Moved ...
2893 * grub-core/gentrigtables.c: ... to here.
2894 * genvideolist.sh: Moved ...
2895 * grub-core/genvideolist.sh: ... to here.
2896 * gettext: Moved ...
2897 * grub-core/gettext: ... to here.
2898 * gfxmenu: Moved ...
2899 * grub-core/gfxmenu: ... to here.
2900 * gnulib: Moved ...
2901 * grub-core/gnulib: ... to here.
2902 * hello: Moved ...
2903 * grub-core/hello: ... to here.
2904 * hook: Moved ...
2905 * grub-core/hook: ... to here.
2906 * io: Moved ...
2907 * grub-core/io: ... to here.
2908 * kern: Moved ...
2909 * grub-core/kern: ... to here.
2910 * lib: Moved ...
2911 * grub-core/lib: ... to here.
2912 * loader: Moved ...
2913 * grub-core/loader: ... to here.
2914 * mmap: Moved ...
2915 * grub-core/mmap: ... to here.
2916 * normal: Moved ...
2917 * grub-core/normal: ... to here.
2918 * partmap: Moved ...
2919 * grub-core/partmap: ... to here.
2920 * parttool: Moved ...
2921 * grub-core/parttool: ... to here.
2922 * script: Moved ...
2923 * grub-core/script: ... to here.
2924 * term: Moved ...
2925 * grub-core/term: ... to here
2926 * tests/example_functional_test.c: Moved ...
2927 * grub-core/tests/example_functional_test.c: ... to here.
2928 * tests/lib/functional_test.c: Moved ...
2929 * grub-core/tests/lib/functional_test.c: ... to here.
2930 * tests/lib/test.c: Moved ...
2931 * grub-core/tests/lib/test.c: ... to here.
2932 * video: Moved ...
2933 * grub-core/video: ... to here.
2934
645586e6
BC
29352010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
2936
2937 Replace --enable-grub-emu-modules with grub-emu-lite.
2938
2939 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
2940 cache.S.
2941
2942 * include/grub/emu/misc.h (grub_emu_init): New prototype.
2943 * kern/emu/full.c: New file. For grub-emu specific initialization.
2944 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
2945 * kern/emu/main.c: Call initialization function grub_emu_init.
2946
2947 * Makefile.in: Include grub-emu-lite in install.
2948 * commands/parttool.c: Use grub_no_autoload to differentiate
2949 between grub-emu and grub-emu-lite.
2950 * include/grub/misc.h: New variable grub_no_autoload.
2951
2952 * conf/any-emu.rmk: New rules for grub-emu-lite.
2953 * configure.ac: Remove --enable-grub-emu-modules.
2954 * genmk.rb: Cleanup unnecessary rules.
2955 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
2956
2957 * normal/main.c: Don't load list files on grub-emu-lite.
2958 * util/misc.c (grub_arch_sync_caches): Removed.
2959
f86a4030
CW
29602010-08-23 Colin Watson <cjwatson@ubuntu.com>
2961
2962 * kern/mips/startup.S (grub_prefix): Update comment to refer to
2963 grub-mkimage rather than grub-mkelfimage.
2964 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2965
06776944
VS
29662010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
2969 a key after CapsLock or NumLock. It's just a qemu bug.
2970
df262419
VS
29712010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
2974 needed by libusb wrapper.
2975
b40ea81b
ST
29762010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
2977
2978 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
2979
dee50575
VS
29802010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
2983 --nounzip is passed.
2984
fb1d7b79
VS
29852010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 USB hotunplugging and USB serial support.
2988
2989 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
2990 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
2991 (grub_uhci_transfer): Respect timeout and set *actual.
2992 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
2993 non-standard length.
2994 (grub_usb_device_attach): Autoload modules.
2995 (GRUB_MOD_INIT): Set grub_term_poll_usb.
2996 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
2997 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
2998 users updated.
2999 (grub_usb_add_hub): Fill nports and children.
3000 (attach_root_port): Receive hub instead of controller.
3001 All users updated. Fill hub->devices.
3002 (grub_usb_root_hub): Allocate hub->devices.
3003 (detach_device): New function.
3004 (poll_nonroot_hub): Fill children and detach devices.
3005 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3006 actual arguments. All users updated.
3007 (grub_usb_bulk_read_extended): New function.
3008 * bus/usb/serial/common.c: New file.
3009 * bus/usb/serial/ftdi.c: Likewise.
3010 * bus/usb/serial/pl2303.c: Likewise.
3011 * commands/terminal.c (handle_command): Support wildcard.
3012 * commands/usbtest.c: Output "Unknown" instead of empty string.
3013 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3014 (usbserial_common_mod_SOURCES): New variable.
3015 (usbserial_common_mod_CFLAGS): Likewise.
3016 (usbserial_common_mod_LDFLAGS): Likewise.
3017 (pkglib_MODULES): Add usbserial_pl2303.mod.
3018 (usbserial_pl2303_mod_SOURCES): New variable.
3019 (usbserial_pl2303_mod_CFLAGS): Likewise.
3020 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3021 (pkglib_MODULES): Add usbserial_ftdi.mod.
3022 (usbserial_ftdi_mod_SOURCES): New variable.
3023 (usbserial_ftdi_mod_CFLAGS): Likewise.
3024 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3025 (pkglib_MODULES): Add serial.mod.
3026 (serial_mod_SOURCES): New variable.
3027 (serial_mod_CFLAGS): Likewise.
3028 (serial_mod_LDFLAGS): Likewise.
3029 * conf/i386-pc.rmk: Likewise.
3030 * conf/mips-yeeloong.rmk: Likewise.
3031 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3032 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3033 * disk/usbms.c (first_available_slot): New variable.
3034 (grub_usbms_attach): Don't reuse free slots due to potential cache
3035 problems.
3036 * include/grub/serial.h: Moved to ..
3037 * include/grub/ns8250.h: ...this.
3038 * include/grub/serial.h: New file.
3039 * include/grub/term.h (grub_term_poll_usb): New variable.
3040 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3041 readkey. All users updated.
3042 (grub_terminfo_output_state): Pass term to put.
3043 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3044 (grub_usb_controller_dev): Add timeout and actual arguments to
3045 transfer. All users updated.
3046 (grub_usb_interface): New field detach_data.
3047 (grub_usb_device): New fields children and nports.
3048 (grub_usb_ep_type_t): New type.
3049 (grub_usb_get_ep_type): New function.
3050 (grub_usb_bulk_read_extended): Likewise.
3051 * include/grub/usbdesc.h (grub_usb_desc): New type.
3052 * include/grub/usbserial.h: New file.
3053 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3054 * kern/term.c (grub_term_poll_usb): New variable.
3055 (grub_getkey): Call grub_term_poll_usb if set.
3056 (grub_checkkey): Likewise.
3057 (grub_getkeystatus): Likewise.
3058 * term/serial.c: Moved controller-specific parts to ...
3059 * term/ns8250.c: ... here.
3060 * term/serial.c: Mostly rewritten.
3061 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3062 according to spec.
3063
21a313de
RM
30642010-08-20 Robert Millan <rmh@gnu.org>
3065
3066 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3067 a separate module and maybe other interesting combinations.
3068
3069 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3070 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3071 (kfreebsd_entry): Add generic filesystem module load routine.
3072 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3073
63c734a6
CW
30742010-08-20 Colin Watson <cjwatson@ubuntu.com>
3075
3076 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3077 "numcenter" (I misunderstood the purpose of this entry).
3078 * docs/grub.texi (sendkey): Likewise.
3079
c4d16542
CW
30802010-08-20 Colin Watson <cjwatson@ubuntu.com>
3081
3082 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3083 status flag options; simply omitting the option is equivalent and
3084 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3085 (keysym_table): Rename "num5numlock" to "numlock".
3086 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3087 can uniformly say that only the last of multiple `sendkey'
3088 invocations has any effect.
3089 * docs/grub.texi (sendkey): New section.
3090
93541d66
CW
30912010-08-19 Colin Watson <cjwatson@ubuntu.com>
3092
3093 * commands/i386/pc/sendkey.c (options): Fix three typos.
3094
b4ece5e1
VS
30952010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 Implement sendkey support.
3098
3099 * commands/i386/pc/sendkey.c: New file.
3100 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3101 (sendkey_mod_SOURCES): New variable.
3102 (sendkey_mod_CFLAGS): Likewise.
3103 (sendkey_mod_LDFLAGS): Likewise.
3104
51f1f5af
CW
31052010-08-18 Colin Watson <cjwatson@ubuntu.com>
3106
3107 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3108 fix warnings from Autoconf.
3109
9da94e05
CW
31102010-08-18 Colin Watson <cjwatson@ubuntu.com>
3111
3112 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3113 to avoid false positives with some assemblers that output things
3114 like "someprefix_func" as part of their output.
3115
729a0f2e
RM
31162010-08-15 Robert Millan <rmh@gnu.org>
3117
3118 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3119 errors.
3120 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3121 grub_get_libzfs_handle() errors.
3122
f3710e08
RM
31232010-08-14 Robert Millan <rmh@gnu.org>
3124
3125 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3126 filesystem is not ZFS.
3127
7a3c13de
BC
31282010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3129
3130 Fix for misspelled color names defaulting to black/black (bug
3131 reported by Doug Nazar)
3132
3133 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3134 status to prototype.
3135 * normal/color.c (grub_parse_color_name_pair): Return failure
3136 status.
3137 (grub_env_write_color_normal): Ignore bad color names.
3138 (grub_env_write_color_highlight): Likewise.
3139 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3140
ab8ba50d
BC
31412010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3142
3143 "shift" command support to GRUB script.
3144
3145 * include/grub/script_sh.h (grub_script_shift): New prototype.
3146 * script/execute.c (grub_script_shift): New function.
3147 * script/main.c (grub_script_init): Register shift command.
3148 (grub_script_fini): Unregister shift command.
3149 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3150
3151 * tests/grub_script_shift.in: New testcase.
3152 * conf/tests.rmk: Rules for new testcase.
3153
4d61999e
BC
31542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3155
3156 "continue" command support to GRUB script.
3157
3158 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3159 (grub_script_break): Continue support.
3160 * script/main.c (grub_script_init): Register continue command.
3161 (grub_script_fini): Unregister continue command.
3162
3163 * tests/grub_script_continue.in: New testcase.
3164 * conf/tests.rmk: Rules for new testcase.
3165
4df51e00
BC
31662010-08-12 BVK Chaitanya <bvk@dbook>
3167
3168 "break" command support to GRUB script.
3169
3170 * conf/common.rmk: Rule updates to grub-script-check.
3171 * include/grub/misc.h (grub_min): New function.
3172 * include/grub/script_sh.h (grub_script_init): New prototype.
3173 (grub_script_fini): New prototype.
3174 (grub_script_break): New prototype.
3175 * script/main.c (grub_script_init): New function.
3176 (grub_script_fini): New function.
3177 * script/execute.c (grub_script_break): New function.
3178 * normal/main.c: Calls to grub_script_{init,fini}.
3179 * util/grub-script-check.c (grub_script_break): New function.
3180
3181 * tests/grub_script_break.in: New testcase.
3182 * conf/tests.rmk: Rules for new test case.
3183
f12c8420
BC
31842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3185
3186 Function parameters support to GRUB script.
3187
3188 * script/yylex.l (VARIABLE): Regular expression update.
3189 * script/function.c (grub_script_function_call): Moved ...
3190 * script/execute.c (grub_script_function_call): ... to here.
3191 (grub_script_execute_arglist_to_argv): Removed.
3192 (grub_script_arglist_to_argv): New function.
3193 * script/argv.c: New file.
3194 (grub_script_argv_free): New function.
3195 (grub_script_argv_next): Likewise.
3196 (grub_script_argv_append): Likewise.
3197 (grub_script_argv_split_append): Likewise.
3198 * include/grub/script_sh.h (grub_script_argv): New struct.
3199 (grub_script_argv_free): New function.
3200 (grub_script_argv_next): Likewise.
3201 (grub_script_argv_append): Likewise.
3202 (grub_script_argv_split_append): Likewise.
3203
3204 * conf/common.rmk (normal.mod): New source script/argv.c.
3205
3206 * tests/grub_script_echo1.in: More tests.
3207 * tests/grub_script_vars1.in: Likewise.
3208 * tests/grub_script_functions.in: New test case.
3209 * conf/tests.rmk: Rules for new testcase.
3210
8022b748
BC
32112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3212
3213 Remove grub_script_cmdblock struct.
3214
3215 * include/grub/script_sh.h: Remove grub_script_cmdblock.
3216 * script/parser.y: Likewise.
3217 * script/execute.c: Rename cmdblock suffix to cmdlist.
3218 * script/script.c: Likewise.
3219 * util/grub-script-check.c: Likewise.
3220
79a6ba61
YB
32212010-08-11 Yves Blusseau <blusseau@zetam.org>
3222
3223 * .bzrignore: add grub-macho2img
3224
d04b9414
VS
32252010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
3228
f947ab49
VS
32292010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 Remove the dump of sm712 initialisation sequence.
3232
3233 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
3234 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
3235 (GRUB_VGA_IO_MISC_WRITE): Likewise.
3236 (GRUB_VGA_CR_*): Added many registers.
3237 (GRUB_VGA_SR_*): Likewise.
3238 (GRUB_VGA_GR_*): Likewise.
3239 (grub_vga_write_arx): New function.
3240 (grub_video_hw_config): New struct.
3241 (grub_vga_set_geometry): New function.
3242 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
3243 GRUB_PCI_CLASS_SUBCLASS_VGA.
3244 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
3245 * video/sm712.c (grub_sm712_write_reg): New function
3246 (grub_sm712_read_reg): Likewise.
3247 (grub_sm712_sr_write): Likewise.
3248 (grub_sm712_gr_write): Likewise.
3249 (grub_sm712_cr_write): Likewise.
3250 (grub_sm712_write_arx): Likewise.
3251 (grub_sm712_cr_shadow_write): Likewise.
3252 (grub_sm712_write_dda_lookup): Likewise.
3253 (grub_video_sm712_setup): Initialise the video rather then
3254 blindly replay the dump.
3255 (main) [TEST]: Add a routine to be able to compile as standalone for
3256 tests.
3257 * video/sm712_init.c (sm712_init): Removed.
3258 (sm712_sr_seq1): New array.
3259 (sm712_sr_seq2): Likewise.
3260
f0206638
VS
32612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * include/grub/vga.h: Add missing grub/pci.h include.
3264
2764da3b
YB
32652010-08-10 Yves Blusseau <blusseau@zetam.org>
3266
3267 * util/grub-macho2img.c (main): fix typo
3268
cf0c775e
VS
32692010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
3272 (grub_vga_gr_read): Likewise.
3273 (grub_vga_cr_write): Likewise.
3274 (grub_vga_cr_read): Likewise.
3275 (grub_vga_sr_write): Likewise.
3276 (grub_vga_sr_read): Likewise.
3277 (grub_vga_palette_read): Likewise.
3278 (grub_vga_palette_write): Likewise.
3279 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
3280 (grub_sm712_sr_read): New function.
3281 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
3282 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
3283
07f360e9
RM
32842010-08-09 Robert Millan <rmh@gnu.org>
3285
3286 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
3287 out unused variables on non-ZFS build.
3288
346c2072
RM
32892010-08-08 Robert Millan <rmh@gnu.org>
3290
3291 Fix path generation for sub-filesystems in ZFS.
3292
3293 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
3294 missing slash.
3295
71175420
RM
32962010-08-08 Robert Millan <rmh@gnu.org>
3297
3298 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
3299
0d8286f3
RM
33002010-08-08 Robert Millan <rmh@gnu.org>
3301
3302 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
3303 exist, issue a proper error message (rely on `ls' for translated
3304 strings).
3305
55dd2924
RM
33062010-08-08 Robert Millan <rmh@gnu.org>
3307
3308 Fix grub-probe invocation.
3309
3310 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
3311
d3dd9e80
RM
33122010-08-04 Robert Millan <rmh@gnu.org>
3313
3314 * configure.ac: Remove checks for getfsstat() and getmntany().
3315 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
3316 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
3317 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
3318 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
3319 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
3320 function.
3321 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
3322 via find_mount_point_from_dir() and getfsstat() / getmntany().
3323
0de22aa9
RM
33242010-08-04 Robert Millan <rmh@gnu.org>
3325
3326 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3327 (grub_find_zpool_from_mount_point): Merge into ...
3328 (grub_find_zpool_from_dir): ... this.
3329 * kern/emu/misc.c: Likewise.
3330
3331 * kern/emu/misc.c
3332 (grub_make_system_path_relative_to_its_root): Replace
3333 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
3334 with grub_find_zpool_from_dir().
3335 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
3336
62858144
RM
33372010-08-04 Robert Millan <rmh@gnu.org>
3338
3339 Support OpenSolaris in ZFS device resolution.
3340
3341 * configure.ac: Check for getmntany().
3342 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
3343 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
3344 support.
3345
9dd6fd50
RM
33462010-08-03 Robert Millan <rmh@gnu.org>
3347
3348 Fix grub-emu build.
3349
3350 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
3351 * include/grub/emu/misc.h: ... here.
3352
3353 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
3354 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
3355
3356 * util/misc.c: Remove `<grub/util/libzfs.h>'.
3357 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
3358 (grub_get_libzfs_handle): Move to ...
3359 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
3360 (grub_get_libzfs_handle): ... here.
3361
c9f7ff97
BC
33622010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
3363
3364 * script/execute.c (grub_script_execute_cmdline): Check for NULL
3365 as command name case.
3366
a870a783
CW
33672010-08-02 Colin Watson <cjwatson@ubuntu.com>
3368
3369 * disk/raid.c (insert_array): Select unique numbers for named arrays
3370 as well, for use as keys in the disk cache.
3371
c7db243b
RM
33722010-08-01 Robert Millan <rmh@gnu.org>
3373
3374 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
3375 kFreeBSD device name, except on ZFS where the filesystem label is
3376 used.
3377 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
3378 `/boot/zfs/zpool.cache'.
3379 Set mountfrom kernel variable using ${kfreebsd_device}.
3380
f7abdefb
RM
33812010-08-01 Robert Millan <rmh@gnu.org>
3382
3383 Make it even harder to use uninitialized `libzfs_handle' (and
3384 make the interface a bit simpler).
3385
3386 * include/grub/util/misc.h (grub_util_init_libzfs)
3387 (libzfs_handle): Remove.
3388 (grub_get_libzfs_handle): New prototype.
3389
3390 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
3391 attribute.
3392 (grub_util_init_libzfs): Remove.
3393 (grub_get_libzfs_handle): New function.
3394
3395 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
3396 grub_get_libzfs_handle() to obtain a libzfs handle instead of
3397 accessing `libzfs_handle' directly.
3398
c882acc0
RM
33992010-08-01 Robert Millan <rmh@gnu.org>
3400
3401 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3402 (grub_find_zpool_from_mount_point): New function prototypes.
3403
3404 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3405 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3406
3407 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3408 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3409 `static' attribute.
3410
3411 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3412 finding zpool from mount point into ...
3413 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3414
3415 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3416 requested path is part of a ZFS pool, use
3417 grub_find_zpool_from_mount_point() to detect its filesystem name,
3418 and generate a path with `/fsname@path' syntax.
3419
8bfe31d8
CW
34202010-08-01 Colin Watson <cjwatson@ubuntu.com>
3421
3422 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
3423 (void) rather than () so that this is a proper prototype.
3424
553df63d
VS
34252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
3428
8687cf07
VS
34292010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
3432 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
3433
ea9be8ea
CW
34342010-08-01 Colin Watson <cjwatson@ubuntu.com>
3435
3436 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
3437
6eea041a
CW
34382010-08-01 Colin Watson <cjwatson@ubuntu.com>
3439
3440 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
3441
2cfb45df
CW
34422010-08-01 Colin Watson <cjwatson@ubuntu.com>
3443
3444 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
3445 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
3446 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
3447 disable gfxpayload.
3448 (Shell-like scripting): Add real content.
3449 (Serial terminal): Suggest `terminal_input serial; terminal_output
3450 serial' rather than putting the two commands on separate lines,
3451 since console input will be inoperative after the first command.
3452 (menuentry): Document --class, --users, and --hotkey options.
3453 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
3454 Vladimir Serbinenko).
3455
7decd202
VS
34562010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34572010-08-01 Colin Watson <cjwatson@ubuntu.com>
3458
3459 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
3460
c882acc0
RM
34612010-08-01 Robert Millan <rmh@gnu.org>
3462
3463 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
3464 (grub_find_zpool_from_mount_point): New function prototypes.
3465
3466 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
3467 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
3468
3469 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
3470 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
3471 `static' attribute.
3472
3473 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
3474 finding zpool from mount point into ...
3475 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
3476
3477 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
3478 requested path is part of a ZFS pool, use
3479 grub_find_zpool_from_mount_point() to detect its filesystem name,
3480 and generate a path with `/fsname@path' syntax.
3481
deb0caa3
RM
34822010-08-01 Robert Millan <rmh@gnu.org>
3483
3484 Prevent accidental use of uninitialized libzfs_handle.
3485
3486 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
3487 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
3488 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
3489
ce04ef47
CW
34902010-08-01 Colin Watson <cjwatson@ubuntu.com>
3491
3492 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
3493 util/grub.d/10_linux.in). Fixes Debian bug #591093.
3494
ebf53056
RM
34952010-08-01 Robert Millan <rmh@gnu.org>
3496
3497 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 3498
3710bb6b
RM
34992010-07-31 Robert Millan <rmh@gnu.org>
3500
3501 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
3502
8072efeb
RM
35032010-07-31 Robert Millan <rmh@gnu.org>
3504
3505 * kern/emu/misc.c: Add missing license header.
3506
3169f4c7
RM
35072010-07-31 Robert Millan <rmh@gnu.org>
3508
3509 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
3510
3511 * include/grub/util/libnvpair.h: Include `<config.h>'.
3512 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
3513 declaring libnvpair prototypes ourselves.
3514 * include/grub/util/libzfs.h: Include `<config.h>'.
3515 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
3516 declaring libzfs prototypes ourselves.
3517
3518 (libzfs_handle): Moved to ...
3519 * include/grub/util/misc.h (libzfs_handle): ... here.
3520 Include `<grub/util/libzfs.h>'.
3521
c9a00aee
RM
35222010-07-30 Robert Millan <rmh@gnu.org>
3523
3524 * include/grub/emu/misc.h: Add missing license header.
3525
a184f9c8
RM
35262010-07-30 Robert Millan <rmh@gnu.org>
3527
3528 Enable `grub-probe -t device' resolution on ZFS.
3529
3530 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
3531 * include/grub/util/libnvpair.h: New file.
3532 * include/grub/util/libzfs.h: New file.
3533
3534 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
3535 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
3536 `<grub/util/libnvpair.h>'.
3537 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
3538
3539 (find_mount_point_from_dir): New static function.
3540 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
3541 function.
3542 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
3543 find_root_device_from_libzfs() before ressorting to find_root_device().
3544
3545 * include/grub/util/misc.h (grub_util_init_libzfs): New function
3546 prototype.
3547 * util/misc.c: Include `<grub/util/libzfs.h>'.
3548 (grub_util_init_libzfs): New function.
3549 [HAVE_LIBZFS] (libzfs_handle): New global variable.
3550 [HAVE_LIBZFS] (fini_libzfs): New static function.
3551 (grub_util_init_libzfs): New function.
3552 * util/grub-probe.c (main): Call grub_util_init_libzfs().
3553
f7790cdd
RM
35542010-07-30 Robert Millan <rmh@gnu.org>
3555
3556 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
3557 (xmalloc, xrealloc, xstrdup, xasprintf): Add
3558 `warn_unused_result' attribute.
3559 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
3560 (grub_xasprintf, grub_xvasprintf): Likewise.
3561 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
3562
0806b63c
RM
35632010-07-29 Robert Millan <rmh@gnu.org>
3564
3565 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
3566 (probe): Handle `PRINT_FS_LABEL'.
3567 (main): Handle `-t fs_label'.
3568
9f841f5c
RM
35692010-07-29 Robert Millan <rmh@gnu.org>
3570
3571 * configure.ac: Remove grub-mkisofs checks.
3572
46371121
VS
35732010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * util/ieee1275/grub-install.in: Don't use empty grub_device.
3576 Reported by: Lennart Sorensen.
3577
35782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
3581 prior to terminal_input/terminal_output separation. It's been over 1.5
3582 years and those versions weren't widely deployed.
3583
a9600892
CW
35842010-07-22 Colin Watson <cjwatson@ubuntu.com>
3585
3586 * disk/raid.c (insert_array): Don't count named arrays when looking
3587 for unused array numbers.
697e053c 3588 Reported and tested by: Michael Guntsche.
a9600892 3589
c03507df
CW
35902010-07-20 Colin Watson <cjwatson@ubuntu.com>
3591
3592 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
3593 implementation of this so that grub-emu links again, with a note
3594 that this should support hotplugging in the future.
3595
b26f1c11
CW
35962010-07-20 Colin Watson <cjwatson@ubuntu.com>
3597
3598 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3599
efc9d7f1
CW
36002010-07-20 Colin Watson <cjwatson@ubuntu.com>
3601
3602 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
3603 handle on failure.
3604 (grub_loopback_close): Remove empty function.
3605 (grub_loopback_dev): Remove close method.
3606
dd8ff5c9
CW
36072010-07-20 Colin Watson <cjwatson@ubuntu.com>
3608
3609 Disable EFI cursor when the EFI console becomes inactive.
3610
3611 * term/efi/console.c (grub_efi_console_init): New function.
3612 (grub_efi_console_fini): New function.
3613 (grub_console_term_output): Register init and fini methods.
3614
5e3bec67
VS
36152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * tests/util/grub-shell-tester.in: Remove bashism and declare as
3618 sh script.
3619
afaec079
VS
36202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * disk/loopback.c (grub_loopback): Replace filename with file.
3623 (delete_loopback): Handle new semantics.
3624 (grub_cmd_loopback): Likewise.
3625 (grub_loopback_iterate): Likewise.
3626 (grub_loopback_close): Likewise.
3627
a6a11f3c
VS
36282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
3631 with -p "".
3632 Reported by: Tito Keitel.
3633
64a638b0
VS
36342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * docs/grub.texi (Naming convention): Document new naming convention.
3637
ab8ba957
VS
36382010-07-20 Vadim Solomin <vadic052@gmail.com>
36392010-07-20 Colin Watson <cjwatson@ubuntu.com>
3640
3641 Generate device.map in something closer to the old ordering.
3642
3643 * util/deviceiter.c (struct device): New declaration.
3644 (compare_file_names): Rename to ...
3645 (compare_devices): ... this. Sort by kernel name in preference to
3646 the stable by-id name, but keep the latter as a fallback comparison.
3647 Update header comment.
3648 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
3649 of `struct device' rather than of plain file names.
3650
a29d6a4b
TF
36512010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
3652
3653 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
3654 on i386.
3655
39d824e8
VS
36562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * commands/acpi.c (setup_common_tables): Use sizeof instead of
3659 hardcoding size.
3660 (setv1table): Likewise.
3661
f058276b
FZ
36622010-07-20 Colin Watson <cjwatson@ubuntu.com>
3663
3664 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
3665 removing the homehost if present.
3666 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
3667 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
3668 removing the homehost if present.
3669 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
3670 if possible.
3671 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
3672
3673 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
3674 parameter. Set its pointer target to 0.
3675 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
3676 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
3677 `data_offset' value from the superblock for 1.x metadata.
3678 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
3679 data on the device.
3680 (insert_array): Record the start sector of data on the device.
3681 (grub_raid_register): Pass start_sector parameters to
3682 grub_raid_list->detect and insert_array.
3683 * include/grub/raid.h (struct grub_raid_array): Add start_sector
3684 member.
3685 (struct grub_raid): Add start_sector parameter to `detect'.
3686
3687 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
3688 __attribute__ ((packed)), leaving a comment.
3689 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
3690 (grub_mdraid_detect_09): ... here and ...
3691 (grub_mdraid_detect_1x): ... here.
3692
36932010-07-20 Peter Henn <peter.henn@web.de>
3694
3695 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
3696 chunk size and disk size, which are already given as sector counts
3697 as distinct from the 0.90 units. Fetch the correct device number
3698 from the role table instead of using the table index.
3699
37002010-07-20 Felix Zielcke <fzielcke@z-51.de>
3701
3702 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
3703 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
3704 (WriteMostly1): New macro.
3705 Set array->name to NULL for metadata format 0.90. Add support for
3706 metadata 1.x. Fix some comments.
3707 * disk/raid.c (): Add support for name based RAID arrays. Fix a
3708 few comments.
3709 * util/getroot.c (grub_util_get_grub_dev): Add support for
3710 /dev/md/name style devices.
3711
4b761da9
CW
37122010-07-20 Colin Watson <cjwatson@ubuntu.com>
3713
3714 * .bzrignore: Ignore 20_linux_xen.
3715
5771289a
CW
37162010-07-17 Colin Watson <cjwatson@ubuntu.com>
3717
3718 * util/import_unicode.py: Remove unnecessary imports.
3719
5dab68df
AN
37202010-07-17 Aleš Nesrsta <starous@volny.cz>
3721
3722 Hotplugging and USB hub support.
3723
3724 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
3725 (grub_ohci): Likewise.
3726 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
3727 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
3728 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
3729 (GRUB_OHCI_CTRL_EDS): Likewise.
3730 (GRUB_OHCI_BULK_EDS): Likewise.
3731 (GRUB_OHCI_TDS): Likewise.
3732 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
3733 (grub_ohci_ed_phys2virt): New function.
3734 (grub_ohci_virt_to_phys): Likewise.
3735 (grub_ohci_td_phys2virt): Likewise.
3736 (grub_ohci_td_virt2phys): Likewise.
3737 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
3738 attachment.
3739 (grub_ohci_find_ed): New function.
3740 (grub_ohci_alloc_td): Likewise.
3741 (grub_ohci_free_td): Likewise.
3742 (grub_ohci_free_tds): Likewise.
3743 (grub_ohci_transfer): Use previously allocated memory.
3744 (grub_ohci_portstatus): Reset status changed bit.
3745 (grub_ohci_detect_dev): Supply status changed.
3746 (grub_ohci_fini_hw): Free memory.
3747 (grub_ohci_restore_hw): Reallocate memory.
3748 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
3749 Reset status change.
3750 (grub_uhci_detect_dev): Supply status_change.
3751 * bus/usb/usb.c (attach_hooks): New var.
3752 (grub_usb_device_attach): New function.
3753 (grub_usb_register_attach_hook_class): Likewise.
3754 (grub_usb_unregister_attach_hook_class): Likewise.
3755 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
3756 (grub_usb_add_hub): Reset connection changed bit.
3757 (attach_root_port): New function.
3758 (grub_usb_root_hub): Likewise.
3759 (poll_nonroot_hub): Likewise.
3760 (grub_usb_poll_devices): Likewise.
3761 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
3762 * disk/usbms.c (grub_usbms_open): Use device hooks.
3763 (grub_usbms_iterate) :Poll devices.
3764 (grub_usbms_finddevs): Split into ...
3765 (grub_usbms_attach): ... this ...
3766 (grub_usbms_attach): ... and this.
3767 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
3768 in detect_dev.
3769 (grub_usb_interface): New fields attached and detach_hook.
3770 (grub_usb_attach_hook_class): New type.
3771 (grub_usb_attach_desc): New struct.
3772 (grub_usb_register_attach_hook_class): New function.
3773 (grub_usb_unregister_attach_hook_class): Likewise.
3774 (grub_usb_poll_devices): Likewise.
3775 (grub_usb_device_attach): Likewise.
3776 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
3777 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
3778
3222efaf
VS
37792010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
3782 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
3783 delta determination style. Works with most NetBSD partitions too.
3784
139b714a
VS
37852010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
3788 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
3789
986aad56
VS
37902010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
3793
99be513c
AB
37942010-07-14 Anton Blanchard <anton@samba.org>
3795
3796 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
3797 ET_DYN files.
3798
18075f62
GS
37992010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3800
3801 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
3802
8d9a5b15
GS
38032010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3804
3805 * kern/partition.c (grub_partition_check_containment): New function to
3806 check that a partition is physically contained in a parent. Since
3807 offsets are relative (and non-negative), this reduces to checking that
3808 the partition ends before its parent.
3809 (grub_partition_map_probe): Discard out-of-range sub-partitions.
3810 (grub_partition_iterate): Likewise.
3811 * include/grub/partition.h (grub_partition_map): Slightly more detailed
3812 comments.
3813 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
3814 partitions that start before their parent, and add debug printfs.
3815
19563c25
CW
38162010-07-13 Colin Watson <cjwatson@ubuntu.com>
3817
3818 * Makefile.in (.SUFFIX): Spell correctly, as ...
3819 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
3820 bare module name without `.mod', e.g. `test') tried to invoke a
3821 Modula-2 compiler.
3822
1a1f1e67
CW
38232010-07-13 Colin Watson <cjwatson@ubuntu.com>
3824
3825 * README: Point to the Info manual.
3826
811b0dca
JS
38272010-07-13 Jiro SEKIBA <jir@unicus.jp>
3828
3829 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
3830 2nd superblock position from partition size.
3831
e4f4eafc
CW
38322010-07-10 Colin Watson <cjwatson@ubuntu.com>
3833
3834 * Makefile.in (MAINTAINER_CLEANFILES): Remove
3835 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
3836 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
3837 outputs.
3838
4274c30f
VS
38392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 Restructure SCSI .id handling.
3842 Reported and tested by: Aleš Nesrsta.
3843
3844 * disk/ata.c (grub_atapi_close): Removed. All users updated.
3845 (grub_atapi_dev): Changed .name to "ata". New field .id.
3846 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
3847 (grub_usbms_dev): New field .id.
3848 * disk/scsi.c (grub_scsi_iterate): Generate name.
3849 (grub_scsi_open): Parse name.
3850 * include/grub/scsi.h (grub_make_scsi_id): New function.
3851 (grub_scsi_dev): Change iterate and open to number instead of naming
3852 busses. All users updated.
3853 (grub_scsi): Remove name. Add .bus.
3854
5bc24388
VS
38552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * commands/help.c (grub_cmd_help): Fix a typo.
3858
249975ba
VS
38592010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
3862 Reported and tested by: Colin Watson.
3863
3eaac1a1
VS
38642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
3867 in this context.
3868
becce1b1
VS
38692010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
3872
f7bf0918
CW
38732010-07-07 Colin Watson <cjwatson@ubuntu.com>
3874
3875 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
3876 indentation.
3877
0b0f9620
CW
38782010-07-06 Colin Watson <cjwatson@ubuntu.com>
3879
3880 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
3881 and disk/raid6_recover.c.
3882 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
3883 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
3884
1e545469
CW
38852010-07-06 Colin Watson <cjwatson@ubuntu.com>
3886
3887 * term/gfxterm.c (repaint_schedulded): Rename to ...
3888 (repaint_scheduled): ... this. Update all callers.
3889 (repaint_was_schedulded): Rename to ...
3890 (repaint_was_scheduled): ... this. Update all callers.
3891
5357687a
CW
38922010-07-06 Colin Watson <cjwatson@ubuntu.com>
3893
3894 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
3895 which we expect to be handled by upper layers.
3896
29d7e783
BC
38972010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
3898
3899 * bus/usb/usbhub.c: #include time.h header.
3900
37582066
CW
39012010-07-06 Colin Watson <cjwatson@ubuntu.com>
3902
3903 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
3904 entry_name also for entries without stat blocks (e.g. ".."); fixes
3905 corruption of the first entry in a directory.
3906
c8c06953
CW
39072010-07-06 Colin Watson <cjwatson@ubuntu.com>
3908
3909 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
3910 after setting gfxterm as the active terminal. GRUB_BACKGROUND
3911 doesn't work otherwise.
3912
e75056f1
CW
39132010-07-05 Colin Watson <cjwatson@ubuntu.com>
3914
3915 * docs/grub.texi (Features): Update list of supported file systems.
3916 (GNU/Linux): Update for GRUB 2.
3917 (Serial terminal): Remove mention of --disable-serial, which was a
3918 GRUB Legacy configure option. Update instructions to use
3919 `terminal_input' and `terminal_output' rather than `terminal'.
3920 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
3921 configuration' and `Installing GRUB using grub-install'.
3922 (Menu entry editor): Update for GRUB 2.
3923 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
3924 Document new -a, -u, and -v options.
3925 (initrd): New section.
3926 (initrd16): New section.
3927 (linux): New section.
3928 (linux16): New section.
3929 (search): The `var' argument to `--set' is optional.
3930 (GRUB only offers a rescue shell): Go into a little more detail on
3931 drive ordering.
3932
5cf69151
CW
39332010-07-05 Colin Watson <cjwatson@ubuntu.com>
3934
3935 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
3936
e3f90044
CW
39372010-07-05 Colin Watson <cjwatson@ubuntu.com>
3938
3939 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
3940 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
3941
38d8f4f3
CW
39422010-07-05 Colin Watson <cjwatson@ubuntu.com>
3943
3944 * util/i386/pc/grub-setup.c (setup): Rename prefix to
3945 install_prefix, in line with install_dos_part and install_bsd_part.
3946 Add new prefix variable, which is copied to install_prefix after
3947 comparing core.img in memory with the one read from disk in the
3948 no-embedding case, and use that rather than overwriting
3949 install_prefix immediately when installing to a partition.
3950 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
3951 Bicakci.
3952
57ebd41e
GS
39532010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
3954
3955 * configure.ac: Avoid == in test command, it's not portable.
3956 * util/grub.d/30_os-prober.in: Likewise.
3957
cb7f64b2
CW
39582010-07-04 Colin Watson <cjwatson@ubuntu.com>
3959
3960 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
3961
6b654bb0
GS
39622010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
3963
3964 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
3965 multiple (top-level) partmaps.
3966
72a2026d
VS
39672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 3970 Reported by: Tino Keitel.
72a2026d 3971
df3eb88f
VS
39722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Bidi and diacritics support.
3975
3976 * Makefile.in (widthspec.bin): New target.
3977 (widthspec.h): Likewise.
3978 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
3979 * autogen.sh: Generate unidata.c.
3980 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
3981 * commands/ls.c (grub_ls_list_devices): Likewise.
3982 (grub_ls_list_files): Likewise.
3983 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
3984 (grub_mini_cmd_lsmod): Likewise.
3985 * commands/read.c: Likewise.
3986 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
3987 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
3988 * lib/arg.c (grub_arg_show_help): Likewise.
3989 * lib/crypto.c (grub_password_get): Likewise.
3990 * normal/auth.c (grub_username_get): Likewise.
3991 * normal/misc.c (grub_normal_print_device_info): Likewise.
3992 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
3993 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
3994 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
3995 (normal/charset.c_DEPENDENCIES): New variable.
3996 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
3997 (pkglib_MODULES): Remove charset.mod.
3998 (charset_mod_SOURCES): Removed.
3999 (charset_mod_CFLAGS): Likewise.
4000 (charset_mod_LDFLAGS): Likewise.
4001 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4002 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4003 and term/tparm.c.
4004 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4005 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4006 (kernel_img_HEADERS): Add terminfo.h.
4007 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4008 Fill ->font. Reverse ascii bitmaps.
4009 (grub_font_get_xheight): New function.
4010 * font/font.c (grub_font_get_string_width): Moved from here ...
4011 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4012 * font/font.c (grub_font_draw_string): Moved from here ...
4013 * gfxmenu/font.c (grub_font_draw_string): ... here.
4014 * font/font.c (grub_font_dup_glyph): New function.
4015 (grub_font_blit_glyph): Likewise.
4016 (grub_font_blit_glyph_mirror): Likewise.
4017 (blit_comb): Likewise.
4018 (grub_font_construct_dry_run): Likewise.
4019 (grub_font_get_constructed_device_width): Likewise.
4020 (grub_font_construct_glyph): Likewise.
4021 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4022 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4023 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4024 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4025 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4026 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4027 (grub_font_get_xheight): New proto.
4028 (grub_font_get_constructed_device_width): Likewise.
4029 (grub_font_construct_glyph): Likewise.
4030 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4031 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4032 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4033 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4034 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4035 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4036 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4037 (grub_console_getcharwidth): Likewise.
4038 * include/grub/misc.h (grub_xputs): New proto.
4039 (grub_puts): Inlined.
4040 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4041 (grub_normal_get_line_counter): Removed.
4042 (grub_install_newline_hook): Likewise.
4043 (grub_normal_get_char_counter): New proto.
4044 (grub_normal_reset_more): Likewise.
4045 (grub_xputs_normal): Likewise.
4046 * include/grub/powerpc/ieee1275/console.h: Removed.
4047 * include/grub/sparc64/ieee1275/console.h: Likewise.
4048 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4049 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4050 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4051 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4052 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4053 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4054 (grub_term_input): Pass reference to self. All users updated.
4055 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4056 Pass reference to self. New fields normal_color, highlight_color and
4057 data. All users updated.
4058 (grub_putchar): Removed.
4059 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4060 (grub_unicode_estimate_width): New function.
4061 (grub_term_getcharwidth): Add defaults.
4062 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4063 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4064 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4065 (grub_cls): Remove EXPORT_FUNC.
4066 (grub_setcolorstate): Inline.
4067 (grub_newline_hook): Removed.
4068 * include/grub/terminfo.h: Rewritten. All users updated.
4069 * include/grub/unicode.h: New file.
4070 * include/grub/video.h (grub_video_signed_rect): New type.
4071 * kern/emu/console.c (grub_console_highlight_color): Removed.
4072 (grub_console_normal_color): Likewise.
4073 (grub_console_standard_color): Made static.
4074 (grub_ncurses_putchar): Remove mapping.
4075 (grub_ncurses_getcharwidth): Removed.
4076 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4077 (grub_ncurses_setcolor): Removed.
4078 (grub_ncurses_getcolor): Likewise.
4079 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4080 (grub_console_putchar): ... this.
4081 (grub_console_putchar): Handle argument difference.
4082 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4083 console_init_early and console_init_lately.
4084 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4085 * kern/misc.c (grub_puts): Removed.
4086 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4087 (grub_vsnprintf_real): Remove str = NULL support.
4088 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4089 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4090 * kern/term.c (grub_putcode): Renamed to ...
4091 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4092 (grub_putchar): Removed.
4093 (grub_xputs_dumb): New function.
4094 (grub_xputs): New variable.
4095 * lib/charset.c: Move from here ...
4096 * normal/charset.c: ... to here.
4097 (grub_ucs4_to_utf8): New function.
4098 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4099 (join_types): New variable.
4100 (unpack_join): New function.
4101 (bidi_types): New variable.
4102 (unpack_bidi): New function.
4103 (get_bidi_type): Likewise.
4104 (get_join_type): Likewise.
4105 (is_mirrored): Likewise.
4106 (grub_unicode_get_comb_type): Likewise.
4107 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4108 (is_type_after): Likewise.
4109 (grub_unicode_aglomerate_comb): Likewise.
4110 (bidi_line_wrap): Likewise.
4111 (grub_bidi_line_logical_to_visual): Likewise.
4112 (grub_bidi_logical_to_visual): Likewise.
4113 (grub_unicode_mirror_code): Likewise.
4114 (grub_unicode_shape_code): Likewise.
4115 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4116 Don't use grub_putchar.
4117 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4118 (grub_normal_reader_init): Likewise.
4119 (grub_xputs_saved): New variable.
4120 (GRUB_MOD_INIT): Set grub_xputs.
4121 (GRUB_MOD_FINI): Restore grub_xputs.
4122 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4123 (menu_init): Avoid printing gfxmenu error.
4124 (show_menu): Use grub_normal_get_char_counter.
4125 * normal/menu_entry.c (update_screen): Fix out-of-array.
4126 (complete): Avoid NULL dereferencing.
4127 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4128 * normal/menu_text.c (print_spaces): Removed.
4129 (grub_print_ucs4): Likewise.
4130 (grub_print_message_indented): Use grub_print_ucs4.
4131 (print_message): Use grub_putcode.
4132 (print_entry): Hanlde diacritics.
4133 * normal/term.c (term_state): New type.
4134 (grub_more_lines): Removed.
4135 (term_states): New variable.
4136 (grub_normal_line_counter): Renamed to ..
4137 (grub_normal_char_counter): ...this. All users updated.
4138 (grub_normal_get_line_counter): Renamed to ...
4139 (grub_normal_get_char_counter): ... this.
4140 (grub_normal_reset_more): New function.
4141 (process_newline): Removed.
4142 (print_more): New function.
4143 (grub_install_newline_hook): Removed.
4144 (map_code): New function.
4145 (grub_puts_terminal): Use grub_print_ucs4.
4146 (putglyph): New function.
4147 (putcode_real): Likewise.
4148 (grub_putcode): Use putcode_real.
4149 (get_maxwidth): New function.
4150 (get_startwidth): Likewise.
4151 (print_ucs4_terminal): Likewise.
4152 (find_term_state): Likewise.
4153 (put_glyphs_terminal): Likewise.
4154 (print_backlog): Likewise.
4155 (print_ucs4_real): Likewise.
4156 (grub_print_ucs4): Likewise.
4157 (grub_xputs_normal): Likewise.
4158 * term/efi/console.c (grub_console_putchar): Output diacritics.
4159 (grub_console_getcharwidth): Removed.
4160 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4161 * term/gfxterm.c (clear_char): Free chars.
4162 (scroll_up): Avoid leaking memory.
4163 (grub_gfxterm_putchar): Support diacritics.
4164 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4165 * term/i386/pc/console.c (grub_console_term_output): Declare as
4166 GRUB_TERM_CODE_TYPE_VGA.
4167 * term/i386/pc/vga.c (grub_vga_term): Declare as
4168 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4169 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4170 GRUB_TERM_CODE_TYPE_VGA.
4171 * term/i386/vga_common.c (map_char): Removed.
4172 (grub_console_putchar): Likewise.
4173 (grub_console_getcharwidth): Likewise.
4174 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4175 (colors): Reordered to match terminfo.
4176 (grub_ofconsole_normal_color): Removed.
4177 (grub_ofconsole_writeesc): Likewise.
4178 (grub_ofconsole_highlight_color): Likewise.
4179 (grub_ofconsole_getcharwidth): Likewise.
4180 (grub_ofconsole_setcolorstate): Likewise.
4181 (grub_ofconsole_setcolor): Likewise.
4182 (grub_ofconsole_getcolor): Likewise.
4183 (grub_ofconsole_readkey): Renamed to ...
4184 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4185 key.
4186 (grub_ofconsole_checkkey): Removed.
4187 (grub_ofconsole_getkey): Likewise.
4188 (grub_ofconsole_getxy): Likewise.
4189 (grub_ofconsole_gotoxy): Likewise.
4190 (grub_ofconsole_cls): Likewise.
4191 (grub_ofconsole_refresh): Likewise.
4192 (grub_ofconsole_terminfo_input): New struct.
4193 (grub_ofconsole_terminfo_output): Likewise.
4194 (grub_ofconsole_term_input): Use terminfo.
4195 (grub_ofconsole_term_output): Likewise.
4196 (grub_console_init): Split into ...
4197 (grub_console_init_early): ...this and ...
4198 (grub_console_init_lately): ...this. Use terminfo.
4199 (grub_ofconsole_putchar): Renamed to ...
4200 (put): ... this. Remove mapping.
4201 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4202 * term/serial.c: Simplify using terminfo.
4203 (xpos): Removed.
4204 (ypos): Likewise.
4205 (keep_track): Likewise.
4206 (registered): Likewise.
4207 (input_buf): Likewise.
4208 (npending): Likewise.
4209 (serial_translate_key_sequence): Likewise.
4210 (fill_input_buf): Likewise.
4211 (grub_serial_checkkey): Likewise.
4212 (grub_serial_getkey): Likewise.
4213 (grub_serial_getxy): Likewise.
4214 (grub_serial_gotoxy): Likewise.
4215 (grub_serial_putchar): Likewise.
4216 (grub_serial_cls): Likewise.
4217 (grub_serial_setcolorstate): Likewise.
4218 (grub_serial_setcursor): Likewise.
4219 (serial_hw_init): Use serial_hw_fetch.
4220 (grub_serial_terminfo_input): New variable.
4221 (grub_serial_terminfo_output): Likewise.
4222 (grub_serial_term_input): Use terminfo.
4223 (grub_serial_term_output): Likewise.
4224 * term/terminfo.c (putstr): Use put.
4225 (grub_terminfo_all_free): New function
4226 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
4227 (grub_terminfo_output_register): New function.
4228 (grub_terminfo_output_unregister): Likewise.
4229 (grub_terminfo_getxy): Likewise.
4230 (grub_terminfo_readkey): Likewise.
4231 (grub_terminfo_checkkey): Likewise.
4232 (grub_terminfo_getkey): Likewise.
4233 (grub_terminfo_input_init): Likewise.
4234 (print_terminfo): Likewise.
4235 (grub_cmd_terminfo): Handle encoding.
4236 (grub_terminfo_gotoxy): Track position.
4237 (grub_terminfo_cls): Likewise.
4238 (grub_terminfo_putchar): Likewise.
4239 (grub_terminfo_setcolorstate): Handle colors
4240 (grub_terminfo_cursor_on): This ...
4241 (grub_terminfo_cursor_off): ... and this merged into ...
4242 (grub_terminfo_setcursor): ... this.
4243 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
4244 * unicode/ArabicShaping.txt: New file (imported from Unicode).
4245 * unicode/BidiMirroring.txt: Likewise.
4246 * unicode/UnicodeData.txt: Likewise.
4247 * unicode/COPYING: Likewise.
4248 * util/grub-editenv.c (grub_putchar): Removed.
4249 (grub_xputs_real): New function.
4250 (grub_xputs): New variable.
4251 * util/grub-fstest.c (grub_putchar): Removed.
4252 (grub_xputs_real): New function.
4253 (grub_xputs): New variable.
4254 * util/grub-mkdevicemap.c (grub_putchar): Removed.
4255 (grub_xputs_real): New function.
4256 (grub_xputs): New variable.
4257 * util/grub-probe.c (grub_putchar): Removed.
4258 (grub_xputs_real): New function.
4259 (grub_xputs): New variable.
4260 * util/grub-script-check.c (grub_putchar): Removed.
4261 (grub_xputs_real): New function.
4262 (grub_xputs): New variable.
4263 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
4264 (grub_xputs_real): New function.
4265 (grub_xputs): New variable.
4266 * util/import_unicode.py: New file.
4267 * util/grub-mkfont.c (ft_errmsgs): New array.
4268 (grub_glyph_info): Make bitmap a pointer.
4269 (file_formats): New type WIDTH_SPEC.
4270 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
4271 (options): Add width-spec.
4272 (help): Likewise.
4273 (add_char): Renamed to ...
4274 (add_glyph): ... this.
4275 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
4276 (glyph_replace): New type.
4277 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
4278 (add_char): New function.
4279 (add_subst): Likewise.
4280 (process_cursive): Likewise.
4281 (add_font): Handle GSUB.
4282 (write_font_width_spec): New function.
4283 (main): Sort glyphs.
4284 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
4285 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
4286 * kern/term.c (grub_cls): Moved from here...
4287 * normal/term.c (grub_cls): ... here.
4288
50f0bcda
CW
42892010-07-02 Colin Watson <cjwatson@ubuntu.com>
4290
4291 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
4292 suitable for using within the format argument of printf when
4293 converting grub_size_t.
4294 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
4295 "x" to convert grub_size_t arguments.
4296
40372103
VS
42972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
4300 too long captions.
4301 (list_get_minimal_size): Take selection box into account.
4302
942a10c7
VS
43032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
4306 NULL font.
4307
2bdb2892
CW
43082010-07-02 Colin Watson <cjwatson@ubuntu.com>
4309
4310 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
4311 devices when iterating over /dev/disk/by-id; they will be handled
4312 later if appropriate, which they aren't always (e.g. LVM).
4313
e03ed6c1
CW
43142010-07-02 Colin Watson <cjwatson@ubuntu.com>
4315
4316 * include/grub/misc.h (grub_reboot): Declare as noreturn.
4317 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
4318 fails.
4319 (grub_halt): Likewise.
4320 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
4321 reset-all fails.
4322 (grub_halt): Don't return, even if all of shut-down, power-off, and
4323 poweroff fail.
4324
47695765
CW
43252010-07-02 Colin Watson <cjwatson@ubuntu.com>
4326
4327 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
4328 arguments, not three.
4329
507736c8
CW
43302010-07-02 Colin Watson <cjwatson@ubuntu.com>
4331
4332 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
4333 * util/grub.d/10_linux.in: Use it to check for LVM, so that
4334 LVM-on-RAID is handled correctly.
4335
e3c8cd37
CW
43362010-07-02 Colin Watson <cjwatson@ubuntu.com>
4337
4338 * docs/grub.texi (Changes from GRUB Legacy): New section.
4339 (Future): Fix typo.
4340
8d4a2fec
CW
43412010-07-02 Colin Watson <cjwatson@ubuntu.com>
4342
4343 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
4344 grub.d/README accidentally ends up executable for one reason or
4345 another. Ignore it.
4346
1c4827be
VS
43472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
4350 (gpt_partition_map_iterate): Support non-512B sectors.
4351
d9a0c941
VS
43522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * kern/efi/init.c (grub_efi_init): Disable watchdog.
4355 Tested by: Seth Goldberg.
4356
48f27e87
VS
43572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
4360 Properly align mbi.
4361 Reported by: Seth Goldberg.
4362
b0c4f956
VS
43632010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * util/grub-mkrescue.in: Avoid module duplication.
4366
105a2e8c
SF
43672010-07-01 Sean Finney <seanius@seanius.net>
4368
4369 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
4370
5944958c
SF
43712010-07-01 Sean Finney <seanius@seanius.net>
4372
4373 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
4374
43752010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * disk/lvm.c (grub_lvm_checkvalue): New function.
4378 (grub_lvm_check_flag): Likewise.
4379
b79889ba
RM
43802010-07-01 Robert Millan <rmh@gnu.org>
4381
4382 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
4383 Support 'p' as partition separator on kernel of FreeBSD (used
4384 with GPT labels).
4385 (grub_util_biosdisk_get_grub_dev): Likewise.
4386
ec1d04f1
VS
43872010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 Yeeloong firmware port.
4390
4391 * boot/mips/yeeloong/fwstart.S: New file.
4392 * bus/cs5536.c (gpiodump): New const.
4393 (set_io_space): New function.
4394 (set_iod): Likewise.
4395 (set_p2d): Likewise.
4396 (grub_cs5536_init_geode): Likewise.
4397 * commands/mips/yeeloong/lsspd.c: New file.
4398 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
4399 (serial_mod_SOURCES): New variable.
4400 (serial_mod_CFLAGS): Likewise.
4401 (serial_mod_LDFLAGS): Likewise.
4402 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
4403 term/terminfo.c and term/tparm.c.
4404 (pkglib_IMAGES): Add fwstart.img.
4405 (fwstart_img_SOURCES): New variable.
4406 (fwstart_img_CFLAGS): Likewise.
4407 (fwstart_img_ASFLAGS): Likewise.
4408 (fwstart_img_LDFLAGS): Likewise.
4409 (fwstart_img_FORMAT): Likewise.
4410 (pkglib_MODULES): Add lsspd.mod.
4411 (lsspd_mod_SOURCES): New variable.
4412 (lsspd_mod_CFLAGS): Likewise.
4413 (lsspd_mod_LDFLAGS): Likewise.
4414 (pkglib_MODULES): Add halt.mod.
4415 (halt_mod_SOURCES): New variable.
4416 (halt_mod_CFLAGS): Likewise.
4417 (halt_mod_LDFLAGS): Likewise.
4418 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
4419 (serial_mod_SOURCES): Removed.
4420 (serial_mod_CFLAGS): Likewise.
4421 (serial_mod_LDFLAGS): Likewise.
4422 * disk/ata.c (check_device): New function.
4423 (grub_ata_device_initialize): Use check_device.
4424 (grub_ata_iterate): Recheck devices.
4425 (grub_ata_open): Likewise.
4426 (grub_atapi_iterate): Likewise.
4427 (grub_atapi_open): Likewise.
4428 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
4429 (GRUB_ATA_CH1_PORT1): Likewise.
4430 (GRUB_ATA_CH0_PORT2): Likewise.
4431 (GRUB_ATA_CH1_PORT2): Likewise.
4432 * include/grub/mips/loongson.h: New file.
4433 * include/grub/mips/yeeloong/ec.h: Likewise.
4434 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
4435 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
4436 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
4437 * include/grub/misc.h (grub_halt): Declare as noreturn.
4438 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
4439 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
4440 (UART_ENABLE_FIFO_TRIGGER1): New definition.
4441 (UART_ENABLE_DTRRTS): Likewise.
4442 (UART_ENABLE_MODEM): Removed.
4443 (UART_ENABLE_OUT2): New const.
4444 * include/grub/term.h (grub_term_register_input_active): New function.
4445 (grub_term_register_output_active): Likewise.
4446 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
4447 argument.
4448 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
4449 (init_pci): New function.
4450 (grub_machine_init): Execute platform init when firmware. Init serial.
4451 (grub_halt): Implement.
4452 (grub_exit): Likewise.
4453 (grub_reboot): Likewise.
4454 * term/serial.c (serial_hw_init): Update macros.
4455 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
4456 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
4457 (image_targets): New target mipsel-yeeloong-flash.
4458 (generate_image): Support IMAGE_YEELOONG_FLASH.
4459 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
4460 (grub_video_sm712_setup): Init card.
4461 (grub_video_sm712_set_palette): Removed.
4462 * video/sm712_init.c: New file.
4463
ff4a70d2
CW
44642010-06-30 Colin Watson <cjwatson@ubuntu.com>
4465
4466 * Makefile.in (install-local): Temporarily prepend $(builddir) to
4467 PATH when running help2man and then run it on the unadorned
4468 executable names, rather than passing $(builddir)/* paths to
4469 help2man. This avoids the build directory ending up in generated
4470 manual pages.
4471
1246efeb
CW
44722010-06-29 Colin Watson <cjwatson@ubuntu.com>
4473
4474 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
4475 to avoid accidents when debugging with 'sh -x'.
4476 * util/grub-mkrescue.in: Likewise.
4477 * util/grub.d/00_header.in: Likewise.
4478 * util/grub.d/10_hurd.in: Likewise.
4479 * util/grub.d/10_kfreebsd.in: Likewise.
4480 * util/grub.d/10_linux.in: Likewise.
4481 * util/grub.d/10_netbsd.in: Likewise.
4482 * util/grub.d/10_windows.in: Likewise.
4483 * util/grub.d/20_linux_xen.in: Likewise.
4484 * util/grub.d/30_os-prober.in: Likewise.
4485 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4486
1ba9b889
CW
44872010-06-29 Colin Watson <cjwatson@ubuntu.com>
4488
4489 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
4490 last character in the buffer.
4491 Reported by: Vladimir Serbinenko.
4492
dccaf99d
RM
44932010-06-29 Robert Millan <rmh@gnu.org>
4494
4495 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
4496 (Command-line and menu entry commands): Document `badram' command.
4497
d500ed12
RM
44982010-06-28 Robert Millan <rmh@gnu.org>
4499
4500 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
4501 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
4502 command using ${GRUB_BADRAM} as parameter.
4503
20bc84a6
CW
45042010-06-28 Colin Watson <cjwatson@ubuntu.com>
4505
4506 * docs/grub.texi (Device map): New section.
4507 (Themes): New section (stub).
4508 * Makefile.in (docs/grub.info): The info documentation now builds
4509 without errors. Make sure it stays that way.
4510
4045dee1
VS
45112010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 Use normal parser for menu entries.
4514 Reported by: Thomas Frauendorfer
4515
4516 * include/grub/parser.h (grub_parser_execute): Don't export.
4517 * normal/menu.c (grub_menu_execute_entry_real): New function.
4518 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
4519
bca58c7b
CW
45202010-06-28 Colin Watson <cjwatson@ubuntu.com>
4521
4522 * docs/grub.texi (Embedded configuration): New section (replacing
4523 old "Preset Menu" stub).
4524 (Images): New section.
4525 (configfile): Note that any menu entries defined in `file' are shown
4526 immediately.
4527
dec53e63
JT
45282010-06-28 Josh Triplett <josh@joshtriplett.org>
4529
4530 * mmap/i386/pc/mmap_helper.S: Set CF on return.
4531
c06e40f7
CW
45322010-06-28 Colin Watson <cjwatson@ubuntu.com>
4533
4534 * util/grub-install.in: Add --debug-image= option.
4535
cb88052b
CW
45362010-06-28 Colin Watson <cjwatson@ubuntu.com>
4537
4538 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
4539 possible on Linux.
4540
4541 * util/deviceiter.c (check_device): Rename to ...
4542 (check_device_readable_unique): ... this. Update all callers.
4543 Maintain and check a list of which devices (by canonicalized name)
4544 have already been seen.
4545 (clear_seen_devices): New function.
4546 (compare_file_names) [__linux__]: New function.
4547 (grub_util_iterate_devices): Clear the list of seen devices on exit
4548 and (just in case) on entry.
4549 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
4550 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
4551 seen-devices list, superseded by general code in check_device.
4552
bbe34652
CW
45532010-06-28 Colin Watson <cjwatson@ubuntu.com>
4554
4555 * commands/cat.c (options): New variable.
4556 (grub_cmd_cat): Parse options. If the --dos option is given, print
4557 DOS-style "\r\n" line endings as simple newlines (Debian bug
4558 #586358).
4559 (GRUB_MOD_INIT): Use extcmd.
4560 (GRUB_MOD_FINI): Likewise.
4561 * docs/grub.texi (cat): Document --dos.
4562
412e09f3
VS
45632010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 XEN with Linux grub-mkconfig support.
4566
4567 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
4568 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
4569 GRUB_CMDLINE_XEN_DEFAULT.
4570 * util/grub.d/20_linux_xen.in: New file.
4571
53f3ef38 45722010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
4573
4574 Initialise VGA video on qemu ourselves.
4575
4576 * boot/i386/qemu/boot.S: Don't call 0xc000.
4577 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
4578 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
4579 (kernel_img_HEADERS): Add pci.h.
4580 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
4581 * configure.ac: Force unifont on qemu and yeeloong.
4582 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
4583 (grub_vga_palette_write): Use correct register.
4584 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
4585 Call grub_qemu_init_cirrus.
4586 * kern/i386/qemu/init.c: New file.
4587 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
4588
4589 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
4590
c75be4fb
PR
45912010-06-26 Pavel Roskin <proski@gnu.org>
4592
4593 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
4594 13.
4595
d8034603
CW
45962010-06-26 Colin Watson <cjwatson@ubuntu.com>
4597
4598 * docs/grub.texi (Simple configuration): Explain that
4599 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
4600 set to `true' to disable their respective recovery entries, not
4601 merely set.
4602
3fa06487
CW
46032010-06-26 Colin Watson <cjwatson@ubuntu.com>
4604
4605 Make the `source' command slightly faster.
4606
4607 * normal/main.c (grub_normal_execute): Don't re-read list files when
4608 nested.
4609
e9b29642
CW
46102010-06-23 Colin Watson <cjwatson@ubuntu.com>
4611
4612 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
4613 field position and mask size to red fields from mode_info, not
4614 green.
4615 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
4616 Remove redundant tag->common.framebuffer_type assignment.
4617 Reported by: Seth Goldberg.
4618
e726542f
CW
46192010-06-23 Colin Watson <cjwatson@ubuntu.com>
4620
4621 Sync up other versions of the Linux loader with Robert Millan's
4622 change of 2010-01-09, "Make loader output a bit more user-friendly".
4623
4624 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
4625 grub_dprintf().
4626 (grub_cmd_linux): Likewise.
4627 (grub_cmd_initrd): Likewise.
4628 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
4629 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4630
d6e98a17
CW
46312010-06-21 Colin Watson <cjwatson@ubuntu.com>
4632
4633 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
4634 larger than MEMORY_MAP_SIZE.
4635
14d3f08e
BC
46362010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
4637
4638 Fix parallel build.
4639
4640 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
4641 dependency.
4642 * script/parser.y: #include grub_script.tab.h header.
4643
4f9613a3
VS
46442010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 Support >3GiB and <16MiB RAM in i386-qemu.
4647
4648 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
4649 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
4650 (grub_lower_mem): Removed.
4651 (grub_upper_mem): Likewise.
4652 (mem_size): Made static.
4653 (above_4g): New variable.
4654 (grub_machine_mmap_init): Detect small mem_size and above_4g.
4655 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
4656 support.
4657
05e51879
VS
46582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Cirrus 5446 and Bochs video cards support.
4661
4662 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
4663 video_bochs.mod
4664 (video_cirrus_mod_SOURCES): New variable.
4665 (video_cirrus_mod_CFLAGS): Likewise.
4666 (video_cirrus_mod_LDFLAGS): Likewise.
4667 (video_bochs_mod_SOURCES): Likewise.
4668 (video_bochs_mod_CFLAGS): Likewise.
4669 (video_bochs_mod_LDFLAGS): Likewise.
4670 * include/grub/vga.h: New file.
4671 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
4672 (grub_video_fb_set_page_t): New type.
4673 (grub_video_fb_setup): New prototype.
4674 (grub_video_fb_swap_buffers): Likewise.
4675 (grub_video_fb_get_info_and_fini): Likewise.
4676 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
4677 (CRTC_DATA_PORT): Likewise.
4678 (CRTC_CURSOR): Likewise.
4679 (CRTC_CURSOR_ADDR_HIGH): Likewise.
4680 (CRTC_CURSOR_ADDR_LOW): Likewise.
4681 (CRTC_CURSOR_DISABLE): Likewise.
4682 (update_cursor): Use grub_vga_cr_write.
4683 (grub_vga_text_setcursor): Likewise.
4684 * video/bochs.c: New file.
4685 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
4686 (palette): Likewise.
4687 (palette_size): Likewise.
4688 (framebuffer): New variable.
4689 (grub_video_fb_init): Use 'framebuffer'.
4690 (grub_video_fb_fini): Likewise.
4691 (grub_video_fb_get_info): Likewise.
4692 (grub_video_fb_get_palette): Likewise.
4693 (grub_video_fb_set_palette): Likewise.
4694 (grub_video_fb_set_viewport): Likewise.
4695 (grub_video_fb_get_viewport): Likewise.
4696 (grub_video_fb_map_color): Likewise.
4697 (grub_video_fb_map_rgb): Likewise.
4698 (grub_video_fb_map_rgba): Likewise.
4699 (grub_video_fb_unmap_color): Likewise.
4700 (grub_video_fb_unmap_color_int): Likewise.
4701 (grub_video_fb_fill_rect): Likewise.
4702 (grub_video_fb_blit_bitmap): Likewise.
4703 (grub_video_fb_blit_render_target): Likewise.
4704 (grub_video_fb_scroll): Likewise.
4705 (grub_video_fb_create_render_target): Likewise.
4706 (grub_video_fb_doublebuf_blit_init): Likewise.
4707 (grub_video_fb_set_active_render_target): Handle doublebuffering.
4708 (doublebuf_pageflipping_update_screen): New function.
4709 (doublebuf_pageflipping_init): Likewise.
4710 (grub_video_fb_setup): Likewise.
4711 (grub_video_fb_swap_buffers): Likewise.
4712 (grub_video_fb_get_info_and_fini): Likewise.
4713 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
4714 All users updated.
4715 (doublebuf_pageflipping_commit): Restructured into ...
4716 (doublebuf_pageflipping_set_page): ... this.
4717 (doublebuf_pageflipping_update_screen): Removed.
4718 (doublebuf_pageflipping_init): Likewise.
4719 (double_buffering_init): Likewise.
4720 (grub_video_vbe_setup): Use grub_video_fb_setup.
4721 (grub_video_vbe_swap_buffers): Removed.
4722 (grub_video_vbe_set_active_render_target): Likewise.
4723 (grub_video_vbe_get_active_render_target): Likewise.
4724 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
4725 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
4726 grub_video_fb_set_active_render_target and
4727 grub_video_fb_get_active_render_target.
4728 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
4729 (SEQUENCER_DATA_PORT): Likewise.
4730 (MAP_MASK_REGISTER): Likewise.
4731 (CRTC_ADDR_PORT): Likewise.
4732 (CRTC_DATA_PORT): Likewise.
4733 (START_ADDR_HIGH_REGISTER): Likewise.
4734 (START_ADDR_LOW_REGISTER): Likewise.
4735 (GRAPHICS_ADDR_PORT): Likewise.
4736 (GRAPHICS_DATA_PORT): Likewise.
4737 (READ_MAP_REGISTER): Likewise.
4738 (INPUT_STATUS1_REGISTER): Likewise.
4739 (INPUT_STATUS1_VERTR_BIT): Likewise.
4740 (get_map_mask): Use grub_vga_sr_read.
4741 (set_map_mask): Use grub_vga_sr_write.
4742 (set_read_map): Use grub_vga_gr_write.
4743 (set_start_address): Use grub_vga_cr_write.
4744 * video/sm712.c (framebuffer): Remove leftover fields.
4745
4321c64a
CW
47462010-06-20 Colin Watson <cjwatson@ubuntu.com>
4747
4748 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
4749 setting GRUB_VIDEO_BACKEND. Make it available as a user override
4750 instead. Replace the gfxterm backend check with a check that
4751 ${GRUB_PREFIX}/video.lst is non-empty.
4752 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
4753 again.
4754 (load_video): New generated function. Call it before loading
4755 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
4756 * util/grub.d/10_linux.in (linux_entry): Call load_video.
4757 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
4758 * docs/grub.texi (Simple configuration): Document
4759 GRUB_VIDEO_BACKEND.
4760
47612010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Use video functions in linux and xnu loaders.
4764
4765 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
4766 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
4767 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
4768 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
4769 loader/i386/pc/linux.c.
4770 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
4771 (find_line_len): Removed.
4772 (find_framebuf): Likewise.
4773 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
4774 * loader/i386/efi/xnu.c: Removed.
4775 * loader/i386/pc/xnu.c: Moved from here...
4776 * loader/i386/xnu.c: ...here.
4777
4778 Enable priorities in video drivers.
4779
4780 * include/grub/video.h (grub_video_adapter_prio_t): New type.
4781 (grub_video_adapter): New field prio.
4782 (grub_video_register): Respect prio when inserting.
4783 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
4784 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
4785 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
4786 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
4787 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
4788 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
4789 * video/sm712.c (grub_video_sm712_adapter): Likewise.
4790
4791 Fix SDL driver ID.
4792
4793 * include/grub/video.h (grub_video_driver_id_t): New value
4794 GRUB_VIDEO_DRIVER_SDL.
4795 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
4796
7d24e434
CW
47972010-06-17 Colin Watson <cjwatson@ubuntu.com>
4798
4799 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
4800 argument to printf.
4801 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
4802
c88a83f6
CW
48032010-06-17 Colin Watson <cjwatson@ubuntu.com>
4804
4805 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
4806 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
4807
094dfb69
CW
48082010-06-17 Colin Watson <cjwatson@ubuntu.com>
4809
4810 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
4811 directly, and recommend grub-install instead.
4812 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
4813
2164da6b
CW
48142010-06-17 Colin Watson <cjwatson@ubuntu.com>
4815
4816 Fix i386-pc prefix handling with nested partitions (Debian bug
4817 #585068). Note that the case where the core image is booted using
4818 multiboot and relocated from its original location still requires
4819 more work.
4820
4821 * kern/i386/pc/init.c (make_install_device): If the prefix starts
4822 with "(,", fill the boot drive in between those two characters, but
4823 expect that a full partition specification including partition map
4824 names will follow.
4825 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
4826 specified, write a prefix without the drive name but including a
4827 full partition specification.
4828
044e2e60
CW
48292010-06-16 Colin Watson <cjwatson@ubuntu.com>
4830
4831 * util/grub-mkconfig.in: Ignore non-option arguments, for
4832 compatibility with older versions (before 2010-06-12) which did the
4833 same. In particular, this makes it easier to ship an update-grub
4834 wrapper which is compatible with that used with GRUB Legacy (Debian
4835 bug #586056).
4836
5591324f
GS
48372010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4838
4839 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
4840 for manual page generation.
4841
662e24d5
GS
48422010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4843
4844 * po/POTFILES: Remove leftover commands/handler.c.
4845
8d70754e
CW
48462010-06-14 Colin Watson <cjwatson@ubuntu.com>
4847
4848 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
4849 left this script non-functional.
4850
41160e2e
CW
48512010-06-14 Colin Watson <cjwatson@ubuntu.com>
4852
4853 * docs/man/grub-emu.h2m: New file.
4854
b5309cc1
CW
48552010-06-13 Colin Watson <cjwatson@ubuntu.com>
4856
4857 * docs/grub.texi (Commands): Document reduced command set in rescue
4858 mode.
4859 (cpuid): New section.
4860
fcb2d090
GS
48612010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
4862
4863 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
4864 new partition naming style.
4865 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
4866
96e5c556
BC
48672010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
4868
4869 Add "-o grub.iso" like cmdline options support.
4870
4871 * util/grub-install.in: Improve cmdline option parsing.
4872 * util/grub-mkconfig.in: Likewise.
4873 * util/grub-mkrescue.in: Likewise.
4874 * util/grub-reboot.in: Likewise.
4875 * util/grub-set-default.in: Likewise.
4876 * util/i386/efi/grub-install.in: Likewise.
4877 * util/ieee1275/grub-install.in: Likewise.
4878 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4879
c16be99b
CW
48802010-06-12 Colin Watson <cjwatson@ubuntu.com>
4881
4882 * .bzrignore: Ignore 41_custom.
4883
ce08a9fb
TS
48842010-06-12 Thomas Schmitt <scdbackup@gmx.net>
4885
4886 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
4887
7beac90c
CW
48882010-06-12 Colin Watson <cjwatson@ubuntu.com>
4889
4890 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
4891 prototype declarations.
4892
4893 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
4894 generating fs, partmap, and video lists.
4895 * include/grub/fs.h (grub_fs_register): Omit prototype if
4896 GRUB_LST_GENERATOR is defined.
4897 * include/grub/partition.h (grub_partition_map_register): Likewise.
4898 * include/grub/video.h (grub_video_register): Likewise.
4899
1c8f0f8d
JM
49002010-06-12 Javier Martín <lordhabbit@gmail.com>
4901
4902 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
4903
a6085973
TS
49042010-06-12 Thomas Schmitt <scdbackup@gmx.net>
4905
4906 * util/grub-mkrescue.in: Support --xorriso argument.
4907
25c56d29
VS
49082010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
4911 Suggested by: Thomas Schmitt.
4912
e03e4b24
VS
49132010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
4916 Suggested by: Thomas Schmitt.
4917
57711df6
VS
49182010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 custom.cfg support.
4921
4922 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
4923 * util/grub.d/41_custom.in: New file.
4924
ee62c427
CW
49252010-06-12 Colin Watson <cjwatson@ubuntu.com>
4926
4927 * util/grub-mkrescue.in (make_image): Remove sh module, which has
4928 been merged back into normal.
4929
283af07a
CW
49302010-06-11 Colin Watson <cjwatson@ubuntu.com>
4931
4932 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
4933 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
4934
56a0d956
CW
49352010-06-11 Colin Watson <cjwatson@ubuntu.com>
4936
4937 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
4938 when generating manual pages.
4939 * docs/man/grub-bin2h.h2m: New file.
4940 * docs/man/grub-editenv.h2m: New file.
4941 * docs/man/grub-fstest.h2m: New file.
4942 * docs/man/grub-install.h2m: New file.
4943 * docs/man/grub-macho2img.h2m: New file.
4944 * docs/man/grub-mkconfig.h2m: New file.
4945 * docs/man/grub-mkdevicemap.h2m: New file.
4946 * docs/man/grub-mkfont.h2m: New file.
4947 * docs/man/grub-mkimage.h2m: New file.
4948 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
4949 * docs/man/grub-mkrelpath.h2m: New file.
4950 * docs/man/grub-mkrescue.h2m: New file.
4951 * docs/man/grub-ofpathname.h2m: New file.
4952 * docs/man/grub-pe2elf.h2m: New file.
4953 * docs/man/grub-probe.h2m: New file.
4954 * docs/man/grub-reboot.h2m: New file.
4955 * docs/man/grub-script-check.h2m: New file.
4956 * docs/man/grub-set-default.h2m: New file.
4957 * docs/man/grub-setup.h2m: New file.
4958
3a37e322
VS
49592010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 Use FOR_* macros instead of *_iterate whenever possible.
4962
4963 * commands/handler.c: Removed.
4964 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
4965 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
4966 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4967 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
4968 (grub_probe_SOURCES): Remove kern/parser.c.
4969 (util/grub-script-check.c_DEPENDENCIES): Removed.
4970 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
4971 and grub_script_check_init.c.
4972 (grub_script_check_init.lst): Removed.
4973 (grub_script_check_init.h): Likewise.
4974 (grub_script_check_init.c): Likewise.
4975 (pkglib_MODULES): Remove handler.mod and sh.mod.
4976 (handler_mod_SOURCES): Removed.
4977 (handler_mod_CFLAGS): Likewise.
4978 (handler_mod_LDFLAGS): Likewise.
4979 (normal_mod_SOURCES): Remove normal/handler.c.
4980 Add script/main.c, script/script.c, script/execute.c,
4981 script/function.c, script/lexer.c, grub_script.tab.c
4982 and grub_script.yy.c.
4983 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4984 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4985 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
4986 (grub_setup_SOURCES): Remove kern/parser.c.
4987 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4988 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
4989 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4990 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4991 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4992 (grub_setup_SOURCES): Remove kern/parser.c.
4993 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
4994 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
4995 * include/grub/command.h (grub_command_iterate): Removed.
4996 (FOR_COMMANDS): New macro.
4997 * include/grub/dl.h (grub_dl): New member next.
4998 (grub_dl_iterate): Removed.
4999 (grub_dl_head): New variable declaration.
5000 (FOR_DL_MODULES): New macro.
5001 * include/grub/fs.h: Include list.h.
5002 (grub_fs): Make next first element.
5003 (grub_fs_list): New variable declaration.
5004 (grub_fs_register): Make inline.
5005 (grub_fs_unregister): Likewise.
5006 (grub_fs_iterate): Removed.
5007 (FOR_FILESYSTEMS): New macro.
5008 * include/grub/handler.h: Removed.
5009 * include/grub/list.h (grub_list_hook_t): Removed.
5010 (grub_list_test_t): Likewise.
5011 (grub_list_pop): Likewise.
5012 (grub_list_iterate): Likewise.
5013 (grub_list_insert): Likewise.
5014 (FOR_LIST_ELEMENTS): New macro.
5015 * include/grub/parser.h (grub_parser_class): Removed.
5016 (grub_parser_register): Likewise.
5017 (grub_parser_unregister): Likewise.
5018 (grub_parser_get_current): Likewise.
5019 (grub_parser_set_current): Likewise.
5020 (grub_register_rescue_parser): Likewise.
5021 (grub_rescue_parse_line): New function.
5022 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5023 * include/grub/script_sh.h (grub_script_function_list): New variable
5024 declaration.
5025 (FOR_SCRIPT_FUNCTIONS): New macro.
5026 (grub_script_function_iterate): Removed.
5027 (grub_normal_parse_line): New prototype.
5028 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5029 (FOR_DISABLED_TERM_INPUTS): Likewise.
5030 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5031 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5032 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5033 element.
5034 (grub_video_register): Inline.
5035 (grub_video_unregister): Likewise.
5036 (grub_video_adapter_list): New variable declaration.
5037 (grub_video_iterate): Removed.
5038 (FOR_VIDEO_ADAPTERS): New macro.
5039 * kern/dl.c (grub_dl_list): Removed. All users updated.
5040 (grub_dl_iterate): Removed.
5041 * kern/fs.c (grub_fs_list): Make global.
5042 (grub_fs_register): Removed.
5043 (grub_fs_unregister): Likewise.
5044 (grub_fs_iterate): Likewise.
5045 * kern/handler.c: Removed.
5046 * kern/list.c (grub_list_pop): Removed.
5047 (grub_list_iterate): Likewise.
5048 (grub_list_insert): Likewise.
5049 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5050 (grub_prio_list_insert): Don't use grub_list_insert.
5051 * kern/main.c (grub_register_rescue_parser): Don't call
5052 grub_register_rescue_parser.
5053 * kern/parser.c (grub_parser_class): Removed.
5054 (grub_parser_execute): Use grub_rescue_parse_line.
5055 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5056 (grub_rescue_parser): Removed.
5057 (grub_register_rescue_parser): Likewise.
5058 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5059 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5060 (grub_auth_check_authentication): Likewise.
5061 * normal/completion.c (iterate_command): Removed.
5062 (grub_normal_do_completion): Use FOR_COMMANDS.
5063 * normal/handler.c: Removed.
5064 * normal/main.c (read_config_file): Remove parser changing.
5065 (grub_normal_execute): Don't call read_handler_list.
5066 (grub_normal_read_line_real): Statically allocate prompt.
5067 (grub_cmdline_run): Use grub_normal_parse_line.
5068 (GRUB_MOD_FINI): Don't call free_handler_list.
5069 * normal/menu_entry.c (run): Likewise.
5070 * script/function.c (grub_script_function_list): Make global.
5071 (grub_script_function_iterate): Removed.
5072 * script/main.c (grub_normal_parse_line): Make global.
5073 (grub_sh_parser): Removed.
5074 (GRUB_MOD_INIT): Likewise.
5075 (GRUB_MOD_FINI): Likewise.
5076 * tests/lib/functional_test.c (grub_functional_test): Use
5077 FOR_LIST_ELEMENTS.
5078 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5079 (grub_test_run): Use FOR_LIST_ELEMENTS.
5080 * tests/lib/unit_test.c (main): Likewise.
5081 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5082 grub_list_pop.
5083 * util/grub-fstest.c (grub_term_input_class): Removed.
5084 (grub_term_output_class): Likewise.
5085 * util/grub-probe.c: Likewise.
5086 * util/i386/pc/grub-setup.c: Likewise.
5087 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5088 * util/grub-script-check.c (main): Don't call grub_init_all and
5089 grub_fini_all.
5090 * video/video.c (grub_video_adapter_list): Make global.
5091 (grub_video_register): Removed.
5092 (grub_video_unregister): Likewise.
5093 (grub_video_iterate): Likewise.
5094
6289c3a7
VS
50952010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5098 reported by Henrique Ferreiro.
5099
91460247
RM
51002010-06-09 Robert Millan <rmh@gnu.org>
5101
5102 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5103 ones, when both are available.
5104
0ea7c4f9
GS
51052010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5106
5107 Make --version uniform and avoid hard-coded program name.
5108
5109 * util/grub-mkimage.c (main): Use `program_name' instead of
5110 hard-coded string.
5111 * util/i386/pc/grub-setup.c (main): Likewise.
5112 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5113 * util/grub-install.in: Save the basename of $0 in $self, and use the
5114 latter in informational messages. Use the same format for --version
5115 as the binary programs.
5116 * util/grub-mkconfig.in: Likewise.
5117 * util/grub-mkrescue.in: Likewise.
5118 * util/grub-reboot.in: Likewise.
5119 * util/grub-set-default.in: Likewise.
5120 * util/i386/efi/grub-install.in: Likewise.
5121 * util/ieee1275/grub-install.in: Likewise.
5122 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5123
e8a6f3b6
GS
51242010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5125
5126 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5127 embedding area. Use <= instead of == when checking for non-emptiness.
5128
f4d095d7
GS
51292010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5130
5131 * configure.ac: Add `.' to the directories searched for unifont.
5132
50e532ca
CW
51332010-06-08 Colin Watson <cjwatson@ubuntu.com>
5134
5135 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5136 grub_script.yy.h.
5137
d39f3dec
CW
51382010-06-08 Colin Watson <cjwatson@ubuntu.com>
5139
5140 * docs/grub.texi (History): Expand to cover GRUB 2.
5141 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5142 commands, not `terminal'.
5143 (serial): Likewise.
5144 (terminal_input): New section.
5145 (terminal_output): New section.
5146 (uppermem): New section (stub).
5147 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5148
6ef0ddb4
CW
51492010-06-08 Colin Watson <cjwatson@ubuntu.com>
5150
5151 * docs/grub.texi (Security): Menu entries are unrestricted by
5152 default, not restricted to superusers as I had previously thought.
5153 Reword to account for this.
5154
e0f4c438
CW
51552010-06-07 Colin Watson <cjwatson@ubuntu.com>
5156
5157 * kern/emu/misc.c (device_mapper_null_log): New function.
5158 (grub_device_mapper_supported): New function.
5159 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5160 prototype.
5161 * kern/emu/hostdisk.c (find_partition_start): Check whether
5162 device-mapper is supported before trying to use it.
5163 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5164
da908200
CW
51652010-06-07 Colin Watson <cjwatson@ubuntu.com>
5166
5167 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5168 (File name syntax): Likewise.
5169 (help): --all is no longer supported in GRUB 2. Be more precise
5170 about pattern matching.
5171
fb55c3ac
CW
51722010-06-07 Colin Watson <cjwatson@ubuntu.com>
5173
5174 * normal/completion.c (grub_normal_do_completion): When completing
5175 arguments to "set" and the current word contains an equals sign,
5176 skip to after the equals sign before starting completion.
5177
258c2573
CW
51782010-06-07 Colin Watson <cjwatson@ubuntu.com>
5179
5180 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5181
ee75515e
CW
51822010-06-07 Colin Watson <cjwatson@ubuntu.com>
5183
5184 * docs/grub.texi (Network): New section.
5185 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5186 `(nd)' as in GRUB Legacy.
5187 (pxe_unload): New section.
5188
a6a700aa
CW
51892010-06-07 Colin Watson <cjwatson@ubuntu.com>
5190
5191 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5192 in the rescue shell, so recommend using `set' instead. Thanks,
5193 Jordan Uggla.
5194
4003dd38
CW
51952010-06-07 Colin Watson <cjwatson@ubuntu.com>
5196
5197 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5198 (password): New section.
5199 (password_pbkdf2): New section.
5200 (search): New section.
5201 (Security): New section.
5202 (Troubleshooting): New section, currently very incomplete.
5203 (Invoking grub-mkpasswd-pbkdf2): New section.
5204 (Internals): New section, currently very incomplete.
5205
e1cbcc40
CW
52062010-06-07 Colin Watson <cjwatson@ubuntu.com>
5207
5208 * util/grub.d/00_header.in: Add some more quoting (of
5209 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5210 work again.
5211 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
5212
db8fa1ad
CW
52132010-06-07 Colin Watson <cjwatson@ubuntu.com>
5214
5215 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
5216 to `count', fixing variable shadowing that broke the -c option.
5217
52182010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
5219
5220 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
5221 in case they contain spaces.
5222
f28a9212
CW
52232010-06-04 Colin Watson <cjwatson@ubuntu.com>
5224
5225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
5226 "part_" to partmap module names, in line with grub-install.
5227 Reported by: Jindřich Makovička (Debian bug #584426).
5228
9cdfe32f
CW
52292010-06-04 Colin Watson <cjwatson@ubuntu.com>
5230
5231 * util/grub-mkimage.c: Make target-related error messages slightly
5232 more helpful; -O talks about "format". Explicitly point to the use
5233 of -O if no target is specified.
5234 Reported by: Didier Raboud (Debian bug #584415).
5235
795b593a
CW
52362010-06-03 Colin Watson <cjwatson@ubuntu.com>
5237
5238 * INSTALL: Document several build requirements for optional features
5239 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
5240
9d9b5833
GS
52412010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5242
5243 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
5244 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
5245 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
5246
0819fec8
CW
52472010-06-02 Colin Watson <cjwatson@ubuntu.com>
5248
5249 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
5250 Thanks to Jordan Uggla for spotting this.
5251
49396b4f
VS
52522010-06-02 Aleš Nesrsta <starous@volny.cz>
5253
5254 Finally make USB usable.
5255
5256 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
5257 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
5258 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
5259 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
5260 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
5261 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
5262 (GRUB_OHCI_FSMPS): Likewise.
5263 (GRUB_OHCI_PERIODIC_START): Likewise.
5264 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
5265 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
5266 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
5267 (GRUB_OHCI_SET_PORT_RESET): Likewise.
5268 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
5269 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
5270 (grub_ohci_transaction): Likewise.
5271 (grub_ohci_transfer): Improve condition detection algorithms.
5272 Handle toggle property. Program the transactions correctly.
5273 Improve error handling. Various important fixups.
5274 (grub_ohci_portstatus): Put register writes in right order.
5275 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
5276 (grub_uhci_transfer): Don't show "failed" message on success.
5277 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
5278 array.
5279 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
5280 determine its size.
5281 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
5282 before initialization is completed. Use IN direction for empty
5283 transfers. Use last_trans and compute toggle.
5284 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
5285 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
5286 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
5287 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
5288 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
5289 (grub_usb_device): Increase toggle to 256.
5290 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
5291 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
5292 GRUB_USBMS_SUBCLASS_SFF8070.
5293 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
5294 (grub_scsi_inquiry): New member page and alloc_length.
5295 (grub_scsi_request_sense): New structure.
5296 (grub_scsi_request_sense_data): Likewise.
5297 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
5298 control.
5299 * disk/scsi.c (grub_scsi_request_sense): New function.
5300 (grub_scsi_test_unit_ready): Likewise.
5301 (grub_scsi_inquiry): Fill new fields.
5302 (grub_scsi_read_capacity): Likewise.
5303 (grub_scsi_read10): Add request sense at the end.
5304 (grub_scsi_read12): Likewise.
5305 (grub_scsi_write10): Likewise.
5306 (grub_scsi_write12): Likewise.
5307 (grub_scsi_open): Add Test Unit Ready.
5308 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
5309 Support additional subclasses. Con't clear halt yet. Activate the
5310 proper config. Calculate LUNs correctly.
5311 (grub_usbms_transfer): Various important fixups.
5312
53132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
5316 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
5317 (grub_ohci_fini_hw): New function.
5318 (grub_ohci_restore_hw): Likewise.
5319 (GRUB_MOD_INIT(ohci)): Register preboot hook.
5320 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
5321 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
5322
53232010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 Dedicated DMA allocations.
5326
5327 * bus/pci.c (grub_memalign_dma32): New function
5328 (grub_dma_free): Likewise.
5329 (grub_dma_get_virt): Likewise.
5330 (grub_dma_get_phys): Likewise.
5331 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
5332 (grub_ohci_pci_iter): Use dma32_alloc.
5333 (grub_ohci_transfer): Likewise.
5334 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5335 (grub_usb_bulk_readwrite): Likewise.
5336 * include/grub/pci.h: Add declarations.
5337
53382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 CS5536 support.
5341
5342 * bus/cs5536.c: New file.
5343 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
5344 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
5345 (cs5536_mod_SOURCES): New variable.
5346 (cs5536_mod_CFLAGS): Likewise.
5347 (cs5536_mod_LDFLAGS): Likewise.
5348 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
5349 machine/pci.h.
5350 (kernel_img_SOURCES): Add bus/cs5536.c.
5351 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
5352 usb_keyboard.mod.
5353 (usb_mod_SOURCES): New variable.
5354 (usb_mod_CFLAGS): New variable.
5355 (usb_mod_LDFLAGS): New variable.
5356 (usbtest_mod_SOURCES): New variable.
5357 (usbtest_mod_CFLAGS): New variable.
5358 (usbtest_mod_LDFLAGS): New variable.
5359 (ohci_mod_SOURCES): New variable.
5360 (ohci_mod_CFLAGS): New variable.
5361 (ohci_mod_LDFLAGS): New variable.
5362 (usbms_mod_SOURCES): New variable.
5363 (usbms_mod_CFLAGS): New variable.
5364 (usbms_mod_LDFLAGS): New variable.
5365 (usb_keyboard_mod_SOURCES): New variable.
5366 (usb_keyboard_mod_CFLAGS): New variable.
5367 (usb_keyboard_mod_LDFLAGS): New variable.
5368 * include/grub/smbus.h: New file.
5369 * include/grub/cs5536.h: New file.
5370
0b35b2a9
CW
53712010-06-02 Colin Watson <cjwatson@ubuntu.com>
5372
5373 * util/grub.d/00_header.in: Add safety check to make sure that
5374 ${locale_dir} exists before trying to probe it.
5375
ca0afd5b
CW
53762010-06-02 Colin Watson <cjwatson@ubuntu.com>
5377
5378 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
5379 per the GNU Coding Standards; this is now too obscure to be worth
5380 documenting.
5381 (QNX): Likewise.
5382 (chainloader): Remove cross-reference to `SCO UnixWare'.
5383
1c41aa78
CW
53842010-06-02 Colin Watson <cjwatson@ubuntu.com>
5385
5386 * docs/grub.texi (Chain-loading): New section.
5387 (DOS/Windows): New section, borrowed from GRUB Legacy with details
5388 adjusted for GRUB 2.
5389 (SCO UnixWare): Likewise.
5390 (QNX): Likewise.
5391 (chainloader): Add reference to `Block list syntax'.
5392 (drivemap): New section.
5393 (parttool): New section.
5394
bb8ea0f5
CW
53952010-06-02 Colin Watson <cjwatson@ubuntu.com>
5396
5397 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
5398 the grub shell'.
5399 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
5400 (Installing GRUB using grub-install): Remove reference to the grub
5401 shell; mention `grub-mkimage' and `grub-setup' instead.
5402 (Invoking grub-install): Likewise.
5403 (Interface): Add reference to `Menu entry editor'.
5404 (serial): Remove `--device' option.
5405
288dd6ed
CW
54062010-06-02 Colin Watson <cjwatson@ubuntu.com>
5407
5408 * docs/grub.texi (Configuration): New section, documenting
5409 configuration file generation using grub-mkconfig. I've left a slot
5410 for documenting the full shell scripting format but have not yet
5411 started on writing that up.
5412 (Invoking grub-mkconfig): New section.
5413
34c9f0e9
CW
54142010-06-02 Colin Watson <cjwatson@ubuntu.com>
5415
5416 * docs/grub.texi (direntry): Remove grub-terminfo reference.
5417 (GNU GRUB manual): Likewise.
5418 (General commands): Update description of `terminfo' for GRUB 2.
5419
9121567e
CW
54202010-06-02 Colin Watson <cjwatson@ubuntu.com>
5421
5422 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
5423 (GRUB_MOD_INIT): Fix capitalisation.
5424 * docs/grub.texi (Command-line and menu entry commands): Document
5425 gettext and gptsync commands.
5426
ab631611
CW
54272010-06-02 Colin Watson <cjwatson@ubuntu.com>
5428
5429 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
5430 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
5431
bde4a9ac
CW
54322010-06-01 Colin Watson <cjwatson@ubuntu.com>
5433
5434 Add btrfs probing support, currently only in the single-device case.
5435
5436 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
5437 function.
5438 (grub_guess_root_device): Call find_root_device_from_mountinfo
5439 before looking in /dev.
5440
b1d17e10
VS
54412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
5444 GRUB_DISK_SIZE_UNKNOWN.
5445 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
5446
dfbfe004
JS
54472010-05-31 Jiro SEKIBA <jir@unicus.jp>
5448
5449 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
5450 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
5451 corrupted or not synced properly.
5452
c2ffc8e9
VS
54532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
5456 Reported by: Seth Goldberg.
5457
56293166
VS
54582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
5461 addition of dest.
5462 Reported by: Seth Goldberg.
5463
7620e7de
VS
54642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
5467 Reported by: Seth Goldberg.
5468
c837af3f
VS
54692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
5472 64-bit address as signed on MIPS.
5473
c7c75cf4
CW
54742010-05-28 Colin Watson <cjwatson@ubuntu.com>
5475
5476 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
5477 to the empty string.
5478
fa4b8490
BC
54792010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
5480
5481 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
5482
5483 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
5484 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
5485 * kern/misc.c (__enable_execute_stack): Disable on
5486 GRUB_MACHINE_EMU.
5487
a33075b9
CW
54882010-05-28 Colin Watson <cjwatson@ubuntu.com>
5489
5490 Make grub-probe work with symbolic links under /dev/mapper as well
5491 as with real block devices. The Linux world seems to be (at best)
5492 in transition here, and GRUB shouldn't get caught in the middle.
5493
5494 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
5495 /dev/mapper.
5496
d8708134
CW
54972010-05-27 Colin Watson <cjwatson@ubuntu.com>
5498
5499 * util/grub-script-check.c (main): Ensure defined behaviour on empty
5500 input files (in which case exit zero).
5501
db2102a0
CW
55022010-05-27 Colin Watson <cjwatson@ubuntu.com>
5503
5504 * kern/emu/misc.c (canonicalize_file_name): realpath can still
5505 return NULL for various reasons even if it has a maximum-length
5506 buffer: for example, there might be a symlink loop, or the path
5507 might exceed PATH_MAX. If this happens, return NULL.
5508
5fdba519
RM
55092010-05-27 Robert Millan <rmh@gnu.org>
5510
5511 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
5512 partmap module to handle cross-partmap setups.
5513 Reported by Orestes Mas. Gràcies!
5514
d1d368e4
CW
55152010-05-27 Colin Watson <cjwatson@ubuntu.com>
5516
5517 * util/grub-mkrescue.in: Initialise override_dir rather than
5518 assuming that it's unset or empty in the environment.
5519
95ac3c73
GS
55202010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
5521
5522 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
5523 variable index into p_index to suppress a warning with -Wshadow.
5524
7d8c0213
BC
55252010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
5526
5527 * INSTALL: Added flex >= 2.5.35 requirement.
5528
db4d5813
VS
55292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
5532
f24f4300
VS
55332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 cmostest support.
5536
5537 * commands/i386/cmostest.c: New file.
5538 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
5539 (cmostest_mod_SOURCES): New variable.
5540 (cmostest_mod_CFLAGS): Likewise.
5541 (cmostest_mod_LDFLAGS): Likewise.
5542 * conf/i386-pc.rmk: Likewise.
5543 * docs/grub.texi (Vendor power-on keys): New section.
5544 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
5545 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
5546 and GRUB_BUTTON_CMOS_ADDRESS.
5547 * util/grub.d/00_header.in: Handle powering-on by separate button.
5548
ad603f61
VS
55492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
5552 Removed drawing_scrollbar argument. All users updated
5553 Fixes #29792.
5554 Reported by Jo Shields
5555
3ecb080a
VS
55562010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
5559 buffer since gfxterm handles double repaint.
5560
5f2316c1
VS
55612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
5564 * term/gfxterm.c (real_scroll): Likewise.
5565
9a25f885
VS
55662010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
5569 before calling BIOS.
5570
39fbb79a
VS
55712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * include/grub/i18n.h: Always enable grub_gettext.
5574
228cfa97
VS
55752010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
5578 partition naming style.
5579
21717c8f
CW
55802010-05-21 Colin Watson <cjwatson@ubuntu.com>
5581
5582 * util/grub-mkconfig.in: Fix handling of -o so that it works when
5583 not the first option.
5584
c0f48e65
CW
55852010-05-20 Colin Watson <cjwatson@ubuntu.com>
5586
5587 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
5588
96779aec
CW
55892010-05-20 Colin Watson <cjwatson@ubuntu.com>
5590
5591 * util/misc.c: Move inclusion of <limits.h> to ...
5592 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
5593
fa9d256e
GS
55942010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5595
5596 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
5597 Fix merge error in NetBSD code.
5598 (find_partition_start) [__NetBSD__]: Likewise.
5599
123b7a85
BC
56002010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
5601
5602 Fix grub-mkrescue usage unit testing.
5603
5604 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
5605
74276c0d
CF
56062010-05-18 Christian Franke <franke@computer.org>
5607
5608 * util/grub.d/10_windows.in: Use path names instead of
5609 drive letters to prevent warning from Cygwin 1.7.
5610 Add drivemap command to menuentry if needed.
5611
c4f7b523
ST
56122010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
5613
5614 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
5615 gnumach and gnumach.gz.
5616
95b97950
VS
56172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * include/grub/i18n.h (gettext): Inline instead of using #define.
5620 (grub_gettext): Likewise.
5621 (_): Likewise.
5622
01b8d2d7
VS
56232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
5626 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
5627 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
5628 (main): Add a slash after pkglibdirroot.
5629
654e1d1e
VS
56302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * util/grub-install.in: Add missing "in" keyword.
5633
26966aeb
VS
56342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
5637 Reported by: Seth Goldberg.
5638
75006747
VS
56392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
5642
74cbf5bd
CW
56432010-05-18 Colin Watson <cjwatson@ubuntu.com>
5644
5645 * configure.ac: Check for Linux device-mapper support.
5646
5647 * util/hostdisk.c (device_is_mapped): New function.
5648 (find_partition_start): New function, partly broken out from
5649 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
5650 device-mapper support added.
5651 (linux_find_partition): Use find_partition_start.
5652 (convert_system_partition_to_system_disk): Add `st' argument.
5653 Support Linux /dev/mapper/* devices if device-mapper support is
5654 available; only DM-RAID devices are understood at present.
5655 (find_system_device): Add `st' argument. Pass it to
5656 convert_system_partition_to_system_disk.
5657 (grub_util_biosdisk_get_grub_dev): Pass stat result to
5658 find_system_device and convert_system_partition_to_system_disk. Use
5659 find_partition_start.
5660
5661 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
5662 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
5663 * util/deviceiter.c [__linux__]: Define MINOR.
5664 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
5665 * util/mkdevicemap.c (grub_putchar): New function.
5666 (grub_getkey): New function.
5667 (grub_refresh): New function.
5668 (main): Set debug=all if -v -v is used.
5669
355b51e9
CW
56702010-05-18 Colin Watson <cjwatson@ubuntu.com>
5671
5672 Fix build with non-GNU libcs.
5673
5674 * util/misc.c (canonicalize_file_name): Move to ...
5675 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
5676 grub_make_system_path_relative_to_its_root.
5677
7fb5c25f
CW
56782010-05-18 Colin Watson <cjwatson@ubuntu.com>
5679
5680 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
5681 we handle finding grub-mkimage. Default to finding grub-mkimage in
5682 ${bindir} with program_transform_name applied, and provide a
5683 --grub-mkimage option to override this.
5684
1d3293d6
VS
56852010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Remove grub-mkisofs.
5688
5689 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
5690 (grub_mkisofs_SOURCES): Removed.
5691 (grub_mkisofs_CFLAGS): Removed.
5692 * util/mkisofs/defaults.h: Removed.
5693 * util/mkisofs/eltorito.c: Likewise.
5694 * util/mkisofs/exclude.h: Likewise.
5695 * util/mkisofs/hash.c: Likewise.
5696 * util/mkisofs/include/: Likewise.
5697 * util/mkisofs/include/fctldefs.h: Likewise.
5698 * util/mkisofs/include/mconfig.h: Likewise.
5699 * util/mkisofs/include/prototyp.h: Likewise.
5700 * util/mkisofs/include/statdefs.h: Likewise.
5701 * util/mkisofs/iso9660.h: Likewise.
5702 * util/mkisofs/joliet.c: Likewise.
5703 * util/mkisofs/match.c: Likewise.
5704 * util/mkisofs/match.h: Likewise.
5705 * util/mkisofs/mkisofs.c: Likewise.
5706 * util/mkisofs/mkisofs.h: Likewise.
5707 * util/mkisofs/msdos_partition.h: Likewise.
5708 * util/mkisofs/multi.c: Likewise.
5709 * util/mkisofs/name.c: Likewise.
5710 * util/mkisofs/rock.c: Likewise.
5711 * util/mkisofs/tree.c: Likewise.
5712 * util/mkisofs/write.c: Likewise.
5713
5dde9afe
VS
57142010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 Unify grub-mkimage accross platforms.
5717
5718 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
5719 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
5720 (grub_mkelfimage_SOURCES): Removed.
5721 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
5722 (util/grub-mkimage.c_DEPENDENCIES): .. this.
5723 (bin_UTILITIES): Add grub-mkimage.
5724 (grub_mkimage_SOURCES): New variable.
5725 (kernel_img_HEADERS): Remove machine/kernel.h.
5726 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
5727 (pkglib_PROGRAMS): Add kernel.img.
5728 (kernel_img_HEADERS): Add machine/kernel.h.
5729 (kernel_img_FORMAT): Removed.
5730 (bin_UTILITIES): Remove grub-mkimage.
5731 (grub_mkimage_SOURCES): Removed.
5732 (grub_mkimage_CFLAGS): Likewise.
5733 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5734 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
5735 (pkglib_PROGRAMS): Add kernel.img.
5736 (bin_UTILITIES): Remove grub-mkimage.
5737 (grub_mkimage_SOURCES): Removed.
5738 (grub_mkimage_CFLAGS): Likewise.
5739 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5740 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
5741 (pkglib_PROGRAMS): Add kernel.img.
5742 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
5743 (pkglib_PROGRAMS): Add kernel.img.
5744 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
5745 (grub_mkimage_SOURCES): Removed.
5746 (grub_mkimage_CFLAGS): Likewise.
5747 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5748 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
5749 (pkglib_PROGRAMS): Add kernel.img.
5750 (bin_UTILITIES): Remove grub-mkimage.
5751 (grub_mkimage_SOURCES): Removed.
5752 (grub_mkimage_CFLAGS): Likewise.
5753 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5754 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
5755 (grub_mkimage_SOURCES): Removed.
5756 (grub_mkimage_CFLAGS): Likewise.
5757 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
5758 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
5759 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
5760 (grub_pe32_optional_header): ... this.
5761 (grub_pe64_optional_header): ... and this. All users updated.
5762 (GRUB_PE32_PE32_MAGIC): Split into ..
5763 (GRUB_PE32_PE32_MAGIC): .. this.
5764 (GRUB_PE32_PE64_MAGIC): .. and this.
5765 (GRUB_PE32_SIGNATURE_SIZE): New definition.
5766 * include/grub/elf.h (PT_GNU_STACK): New definition.
5767 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
5768 * include/grub/i386/efi/kernel.h: Likewise.
5769 * include/grub/i386/kernel.h: Likewise.
5770 * include/grub/i386/pc/kernel.h: Likewise.
5771 * include/grub/i386/qemu/boot.h: Likewise.
5772 * include/grub/mips/kernel.h: Likewise.
5773 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5774 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
5775 * include/grub/powerpc/kernel.h: Likewise.
5776 * include/grub/sparc64/ieee1275/boot.h: Likewise.
5777 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
5778 * include/grub/sparc64/kernel.h: Likewise.
5779 * include/grub/x86_64/efi/kernel.h: Likewise.
5780 * include/grub/x86_64/kernel.h: Likewise.
5781 * include/grub/offsets.h: New file.
5782 * include/grub/kernel.h (grub_module_info): Split into ...
5783 (grub_module_info32): ... this.
5784 (grub_module_info64): ... and this.
5785 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
5786 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
5787 (grub_boot_blocklist): Moved from here ...
5788 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
5789 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
5790 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
5791 * include/grub/types.h (grub_target_to_host16): Removed.
5792 (grub_target_to_host32): Likewise.
5793 (grub_target_to_host64): Likewise.
5794 (grub_host_to_target16): Likewise.
5795 (grub_host_to_target32): Likewise.
5796 (grub_host_to_target64): Likewise.
5797 (grub_host_to_target_addr): Likewise.
5798
5799 Support grub-mkrescue for efi, coreboot and qemu.
5800
5801 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
5802 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
5803 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
5804 * util/grub-mkrawimage.c: Moved from here ...
5805 * util/grub-mkimage.c: ... here. All users updated.
5806 (ALIGN_ADDR): Use image_target.
5807 (TARGET_NO_FIELD): New const.
5808 (image_target_desc): New type.
5809 (image_targets): New array.
5810 (grub_target_to_host64): Use image_target.
5811 (grub_target_to_host32): Likewise.
5812 (grub_target_to_host16): Likewise.
5813 (grub_host_to_target64): Likewise.
5814 (grub_host_to_target32): Likewise.
5815 (grub_host_to_target16): Likewise.
5816 (grub_host_to_target_addr): Likewise.
5817 (generate_image): Handle multiimage.
5818 (main): Require -O parameter. All users updated.
5819 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
5820 util/efi/grub-mkimage.c
5821 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
5822 New option --rom-directory.
5823 Use xorriso.
5824 * util/i386/efi/grub-mkimage.c: Removed.
5825 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
5826 (grub_target_to_host32): Likewise.
5827 (grub_target_to_host64): Likewise.
5828 (grub_host_to_target16): Likewise.
5829 (grub_host_to_target32): Likewise.
5830 (grub_host_to_target64): Likewise.
5831 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
5832 (grub_target_to_host32): Likewise.
5833 (grub_target_to_host64): Likewise.
5834 (grub_host_to_target16): Likewise.
5835 (grub_host_to_target32): Likewise.
5836 (grub_host_to_target64): Likewise.
5837
f4fc97d0
BC
58382010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
5839
5840 Source tree is reorganized for emu build.
5841
5842 * include/grub/util/console.h: Move from here...
5843 * include/grub/emu/console.h: ...to here.
5844 * include/grub/util/getroot.h: Move from here...
5845 * include/grub/emu/getroot.h: ...to here.
5846 * include/grub/util/hostdisk.h: Move from here...
5847 * include/grub/emu/hostdisk.h: ...to here.
5848 * util/console.c: Move from here...
5849 * kern/emu/console.c: ...to here.
5850 * util/getroot.c: Move from here...
5851 * kern/emu/getroot.c: ...to here.
5852 * util/grub-emu.c: Move from here...
5853 * kern/emu/main.c: ...to here.
5854 * util/hostdisk.c: Move from here...
5855 * kern/emu/hostdisk.c: ...to here.
5856 * util/hostfs.c: Move from here...
5857 * kern/emu/hostfs.c: ...to here.
5858 * util/mm.c: Move from here...
5859 * kern/emu/mm.c: ...to here.
5860 * util/pci.c: Move from here...
5861 * bus/emu/pci.c: ...to here.
5862 * util/sdl.c: Move from here...
5863 * video/emu/sdl.c: ...to here.
5864 * util/time.c: Move from here...
5865 * kern/emu/time.c: ...to here.
5866 * util/usb.c: Move from here...
5867 * bus/usb/emu/usb.c: ...to here.
5868
5869 * include/grub/emu/misc.h: New header for grub-emu functions.
5870 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
5871
5872 * conf/any-emu.rmk: Rule updates for above renames.
5873 * conf/common.rmk: Likewise.
5874 * conf/i386-pc.rmk: Likewise.
5875 * conf/i386-qemu.rmk: Likewise.
5876 * conf/mips.rmk: Likewise.
5877 * conf/sparc64-ieee1275.rmk: Likewise.
5878 * conf/x86-efi.rmk: Likewise.
5879
5880 * disk/lvm.h: #include updates for above renames.
5881 * util/grub-mkrelpath.c: Likewise.
5882 * util/grub-probe.c: Likewise.
5883 * util/i386/pc/grub-setup.c: Likewise.
5884 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5885 * kern/emu/console.c: Likewise.
5886 * kern/emu/getroot.c: Likewise.
5887 * kern/emu/hostdisk.c: Likewise.
5888 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
5889
5890 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
5891 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
5892 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
5893 * util/misc.c: Remove grub-emu functions.
5894
cced9145
VS
58952010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Fix gfxmenu crash.
5898 Reported by: Thorsten Grützmacher.
5899
5900 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
5901 timeout hook.
5902 (circprog_set_property): Register and unregister timeout hook.
5903 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
5904 (label_destroy): Free template. and unregister hook.
5905 (label_set_state): New function.
5906 (label_set_property): Handle templates and hooks.
5907 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
5908 timeout hook.
5909 (progress_bar_set_property): Register and unregister timeout hook.
5910 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
5911 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
5912 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
5913 (update_timeout_visit): Removed.
5914 (update_timeouts): New function.
5915 (redraw_timeouts): Likewise.
5916 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
5917 (grub_gfxmenu_clear_timeout): Likewise.
5918 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
5919 (grub_gfxmenu_timeout_notify): Likewise.
5920 (grub_gfxmenu_timeout_notifications): New external variable.
5921 (grub_gfxmenu_timeout_register): New function.
5922 (grub_gfxmenu_timeout_unregister): Likewise.
5923
c6e5caab
VS
59242010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Transform (broken) vga terminal into (working) vga video driver.
5927
5928 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
5929 video/i386/pc/vga.c.
5930 * include/grub/video.h (grub_video_driver_id):
5931 Add GRUB_VIDEO_DRIVER_VGA.
5932 * term/i386/pc/vga.c: Renamed to ...
5933 * video/i386/pc/vga.c: ...this
5934 (DEBUG_VGA): Removed.
5935 (CHAR_WIDTH): Likewise.
5936 (CHAR_HEIGHT): Likewise.
5937 (TEXT_WIDTH): Likewise.
5938 (TEXT_HEIGHT): Likewise.
5939 (DEFAULT_FG_COLOR): Likewise.
5940 (DEFAULT_BG_COLOR): Likewise.
5941 (colored_char): Likewise.
5942 (xpos): Likewise.
5943 (ypos): Likewise.
5944 (cursor_state): Likewise.
5945 (fg_color): Likewise.
5946 (bg_color): Likewise.
5947 (text_buf): Likewise.
5948 (page): Likewise.
5949 (font): Likewise.
5950 (framebuffer): New variable.
5951 (set_read_map): Disabled.
5952 (setup): New variable.
5953 (is_target): Likewise.
5954 (grub_vga_mod_init): Likewise.
5955 (grub_vga_mod_fini): Likewise.
5956 (check_vga_mem): Likewise.
5957 (write_char): Likewise.
5958 (write_cursor): Likewise.
5959 (scroll_up): Likewise.
5960 (grub_vga_putchar): Likewise.
5961 (grub_vga_getcharwidth): Likewise.
5962 (grub_vga_getwh): Likewise.
5963 (grub_vga_getxy): Likewise.
5964 (grub_vga_gotoxy): Likewise.
5965 (grub_vga_cls): Likewise.
5966 (grub_vga_setcolorstate): Likewise.
5967 (grub_vga_setcursor): Likewise.
5968 (grub_video_vga_init): New function.
5969 (grub_video_vga_setup): Likewise.
5970 (grub_video_vga_fini): Likewise.
5971 (update_target): Likewise.
5972 (grub_video_vga_blit_bitmap): Likewise.
5973 (grub_video_vga_blit_render_target): Likewise.
5974 (grub_video_vga_set_active_render_target): Likewise.
5975 (grub_video_vga_get_active_render_target): Likewise.
5976 (grub_video_vga_swap_buffers): Likewise.
5977 (grub_video_vga_set_palette): Likewise.
5978 (grub_video_vga_get_info_and_fini): Likewise.
5979 (grub_vga_term): Removed.
5980 (grub_video_vga_adapter): New variable.
5981 (GRUB_MOD_INIT): Register a video driver instead of terminal.
5982 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
5983
2bf61a98
VS
59842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * video/readers/jpeg.c: Indented.
5987
09ddcd11
VS
59882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 Various jpeg cleanups.
5991
5992 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
5993 (grub_jpeg_decode_quan_table): Use sizeof.
5994 (grub_jpeg_decode_du): Use ARRAY_SIZE.
5995
e5507505
PH
59962010-05-05 Peter Hurley <No e-mail available> (tiny change)
5997
5998 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
5999 tables. Ignore non-last ac bit.
6000 (grub_jpeg_decode_quan_table): Likewise.
6001
7e720a9b
VS
60022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6005 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6006 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6007 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6008 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6009 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6010
a7fc080b
VS
60112010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6014 error.
6015
2bf6012d
VS
60162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6019
265d68cd
VS
60202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6023 condition.
6024
60252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6026
6027 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6028 part.
6029
265d68cd 60302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6031
6032 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6033 pointers.
6034
265d68cd 60352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6036
6037 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6038
d1b61374
CF
60392010-05-01 Christian Franke <franke@computer.org>
6040
6041 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6042 Remove broken Cygwin path conversion.
6043 * util/misc.c: [__CYGWIN__] Add include and define.
6044 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6045 for Cygwin 1.7.
6046 (make_system_path_relative_to_its_root): Simplify loop, replace early
6047 return by break.
6048 [__CYGWIN__] Add conversion to win32 path.
6049 Include "/" case in trailing slash removal.
6050
3558c6e9
VS
60512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6054 Reported by: Seth Goldberg
6055
f5f3ff93
VS
60562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * commands/help.c (grub_cmd_help): Fix a typo.
6059 Reported by: Seth Goldberg
6060
d8b5cd40
VS
60612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6064 name and add N_.
6065 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6066 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6067 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6068 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6069 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6070 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6071 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6072 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6073 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6074 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6075 * normal/context.c (GRUB_MOD_INIT): Likewise.
6076 * normal/main.c (GRUB_MOD_INIT): Likewise.
6077 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6078 * term/serial.c (GRUB_MOD_INIT): Likewise.
6079 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6080
88c14915
VS
60812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6084 extra == 0.
6085
165134bc
VS
60862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * commands/iorw.c: New file.
6089 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6090 (iorw_mod_SOURCES): New variable.
6091 (iorw_mod_CFLAGS): Likewise.
6092 (iorw_mod_LDFLAGS): Likewise.
6093
c5ac9b32
VS
60942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 Hotkey support
6097
6098 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6099 * normal/main.c (hotkey_aliases): New variable.
6100 (grub_normal_add_menu_entry): Parse "--hotkey".
6101 * normal/menu_text.c (run_menu): Handle hotkeys.
6102
ce60689c
VS
61032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * kern/i386/coreboot/init.c (grub_machine_init): Call
6106 grub_machine_mmap_init on qemu.
6107
0359d006
VS
61082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * boot/i386/qemu/boot.S: Add a missing .code16.
6111
7819a456
VS
61122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 Use LBIO on coreboot.
6115
6116 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6117 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6118 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6119 New declaration.
6120 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6121 grub_machine_mmap_init on coreboot.
6122 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6123 GRUB_LINUXBIOS_MEMBER_LINK.
6124 (grub_machine_mmap_iterate): Fix declaration.
6125 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6126
7210dca9
VS
61272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 Split coreboot and multiboot ports.
6130
6131 * conf/i386-multiboot.rmk: New file.
6132 * configure.ac: Add multiboot port.
6133 * include/grub/i386/multiboot/boot.h: New file.
6134 * include/grub/i386/multiboot/console.h: Likewise.
6135 * include/grub/i386/multiboot/init.h: Likewise.
6136 * include/grub/i386/multiboot/kernel.h: Likewise.
6137 * include/grub/i386/multiboot/loader.h: Likewise.
6138 * include/grub/i386/multiboot/memory.h: Likewise.
6139 * include/grub/i386/multiboot/serial.h: Likewise.
6140 * include/grub/i386/multiboot/time.h: Likewise.
6141 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6142 * loader/multiboot.c: Likewise.
6143 * loader/multiboot_mbi2.c: Likewise.
6144 * util/grub-mkrescue.in: Generate multiboot rescue.
6145
6f8aaf68
VS
61462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6147
3080f7a7
VS
6148 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6149
61502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6153
6154 * commands/terminal.c (abstract_terminal): New struct.
6155 (handle_command): New function. Based on grub_cmd_terminal_input.
6156 (grub_cmd_terminal_input): Use handle_command.
6157 (grub_cmd_terminal_output): Use handle_command.
6158
a8ebb841
BC
61592010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6160
6161 Fix comment handling.
6162
6163 * tests/grub_script_comments.in: New testcase.
6164 * conf/tests.rmk: Rules for new testcase.
6165 * script/yylex.l: Updated flex rules.
6166
bb06ba08
ST
61672010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6168
6169 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6170 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6171 if argc is 1.
bb06ba08 6172
cc9d2425
VS
61732010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6176 autogen issues.
6177
460d8402
CF
61782010-04-26 Christian Franke <franke@computer.org>
6179
6180 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6181 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6182 (grub_get_prefix): Remove function.
6183 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6184 make_system_path_relative_to_its_root ().
6185 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6186
553c01f9
CF
61872010-04-24 Christian Franke <franke@computer.org>
6188
6189 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6190 (kernel_img_LDFLAGS): Remove -static-libgcc.
6191
2aec1692
CF
61922010-04-24 Christian Franke <franke@computer.org>
6193
6194 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6195 and CHECK_END_SYMBOL if grub-emu is built.
6196 Unset TARGET_OBJ2ELF if grub-emu is built
6197 without module support.
6198
f67dc308
JS
61992010-04-24 Jiro SEKIBA <jir@unicus.jp>
6200
6201 Nilfs2 support.
6202
6203 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6204 (grub_fstest_SOURCES): Likewise.
6205 (pkglib_MODULES): Add nilfs2.mod.
6206 (nilfs2_mod_SOURCES): New variable.
6207 (nilfs2_mod_CFLAGS): Likewise.
6208 (nilfs2_mod_LDFLAGS): Likewise.
6209 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6210 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6211 * fs/nilfs2.c: New file.
6212
4ba8d354
VS
62132010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
6216 is not supported.
6217
0d2c20c6
GS
62182010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
6219
6220 Add grub-mkconfig support for NetBSD.
6221
6222 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
6223 * util/grub-mkconfig.in: export new NetBSD specific variables.
6224 * po/POTFILES-shell: added 10_netbsd.in.
6225 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
6226
bc4a2d83
BC
62272010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
6228
6229 Fix emu build with grub-emu-pci and grub-emu-modules.
6230
6231 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
6232 functions.
6233 * include/grub/libpciaccess.h: New file.
6234 * conf/any-emu.rmk: Update kernel headers for emu build.
6235
f48c87aa
VS
62362010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
6239
18959385
VS
62402010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
6243
0037de3f
VS
62442010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
6247 Retrieve chosen/bootpath if bootpath isn't hardcoded.
6248 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
6249 util/ieee1275/ofpath.c.
6250 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
6251 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
6252 * include/grub/sparc64/ieee1275/boot.h
6253 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
6254 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
6255 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
6256 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
6257 const char *.
6258 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
6259 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
6260 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
6261 install.
6262
38e55e90
GS
62632010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6264
6265 * util/grub-mkconfig.in: Corrected two == equality tests.
6266 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
6267 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
6268 expect a number appended to it.
6269 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
6270 expects a number appended to it.
6271
a9e6ff28
VS
62722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
6275
0b830b8f
VS
62762010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * util/hostdisk.c (make_device_name): Change to new partition naming.
6279
0973daeb
VS
62802010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
6283
460d8402 62842010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
6285
6286 * Makefile.in: Add missing localedir setting.
6287
0b456309
CW
62882010-04-14 Colin Watson <cjwatson@ubuntu.com>
6289
6290 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
6291 mistake in r2156. Noticed by Anthony Fok.
6292
6293 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
6294 @localedir@.
6295 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6296
08f46d62
BC
62972010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
6298
6299 Fix a spurious, uninitialized variable warning.
6300
6301 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
6302 Initialize variable, shdr.
6303 (grub_freebsd_load_elfmodule): Likewise.
6304 (grub_freebsd_load_elf_meta): Likewise.
6305
8c4a72d4
BC
63062010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
6307
6308 Fix for escaped dollar in double quoted strings.
6309
6310 * script/yylex.l: Updated flex rules.
6311 * conf/tests.rmk: Rule for new testcase.
6312 * tests/grub_script_dollar.in: New testcase.
6313
ce44826e
CPE
63142010-04-13 Carles Pina i Estany <carles@pina.cat>
63152010-04-13 Colin Watson <cjwatson@ubuntu.com>
6316
6317 Enclose all translated strings in grub.cfg in single quotes, and
6318 escape them appropriately (Ubuntu bug #552921).
6319
6320 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
6321 * util/grub.d/10_hurd.in: Use it.
6322 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6323 * util/grub.d/10_linux.in (linux_entry): Likewise.
6324
4b0cd8f8
VS
63252010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 Fix cygwin compilation.
6328
6329 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
6330 * include/grub/misc.h (__register_frame_info)
6331 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
6332 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6333 * kern/misc.c (__register_frame_info)
6334 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
6335 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
6336
01fcf061
VS
63372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
6340
5d04b11e
VS
63412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 Unify libgcc processing.
6344
6345 * Makefile.in (kernel_img_LDFLAGS): New variable.
6346 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
6347 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
6348 overwriting.
6349 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
6350 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
6351 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
6352 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
6353 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
6354 overwriting. Remove -lgcc and -static-libgcc
6355 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
6356 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6357 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
6358 (kernel_img_LDFLAGS): Append instead of overwriting.
6359 Remove -lgcc and -static-libgcc
6360 * conf/sparc64-ieee1275.rmk: Likewise.
6361 * include/grub/powerpc/libgcc.h: Move to ...
6362 * include/grub/libgcc.h: .. this.
6363 * include/grub/libgcc.h: Don't export most of the function on x86.
6364 (__bswapsi2): New export.
6365 (__bswapdi2): Likewise.
6366 * include/grub/mips/libgcc.h: Removed.
6367 * include/grub/sparc64/libgcc.h: Likewise.
6368
b7f3ac29
VS
63692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
6372 disk_info_msg (conflicts with gettexting into languages with cases).
6373
2c7031b1
GS
63742010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6375
6376 Add grub-probe support for NetBSD.
6377
6378 * util/getroot.c (find_root_device): Convert block device to
6379 character device on NetBSD.
6380 * util/probe.c (probe): Require character device on NetBSD.
6381 * util/hostdisk.c: NetBSD specific headers.
6382 (configure_device_driver): new function to tune device driver
6383 parameters (currently only for NetBSD floppy driver).
6384 (grub_util_biosdisk_open): NetBSD specific code (get disk size
6385 via disklabel ioctl).
6386 (open_device): call configure_device_driver on NetBSD.
6387 (convert_system_partition_to_system_disk): NetBSD specific code.
6388 (device_is_wholedisk): Likewise.
6389 (grub_util_biosdisk_get_grub_dev): Likewise.
6390 (make_device_name): Fixed a typo in bsd_part_str.
6391 * configure.ac: check for opendisk() and getrawpartition() on
6392 NetBSD and set LIBUTIL.
6393 * Makefile.in: add LIBUTIL to LIBS.
6394
f516290c
BC
63952010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6396
6397 Documentation fix.
6398
6399 * util/grub-script-check.c: Better help message.
6400
d8dcc0df
BC
64012010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
6402
6403 Fix FreeBSD build.
6404
6405 * configure.ac: Flex version check.
6406 * conf/common.rmk: Add -Wno-error to sh.mod.
6407 * script/yylex.l: Remove all #pragma.
6408
6734334a
VS
64092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * include/grub/util/misc.h (canonicalise_file_name): Add missing
6412 prototype.
6413 Reported by: Seth Goldberg.
6414
daea6abd
VS
64152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
6418 Rename "module" to "module2".
6419 Reported by: Seth Goldberg.
6420
f2fd9d2b
VS
64212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
6424 EXPORT_FUNC.
6425 Reported by: Seth Goldberg.
6426
be124579
VS
64272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * lib/posix_wrap/locale.h: Add missing file.
6430 Reported by: Seth Goldberg.
6431
ef5da797
VS
64322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 grub-emu module load support.
6435
6436 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
6437 NO_DYNAMIC_MODULES switched to this.
6438 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
6439 (CFLAGS): Likewise.
6440 * conf/any-emu.rmk: Generate symlist.
6441 (kernel_img_HEADERS): Add util/datetime.h.
6442 (kernel_img_HEADERS) [sdl]: Add sdl.h.
6443 (kernel_img_HEADERS) [libusb]: Add libusb.h.
6444 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
6445 kern/$(target_cpu)/cache.S.
6446 * configure.ac (grub-emu-modules): New option.
6447 * genmk.rb: Handle multiple source lists.
6448 * include/grub/sdl.h: New file.
6449 * include/grub/libusb.h: Likewise.
6450 * util/grub-emu.c (main): Hanle (host) root.
6451 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
6452 GRUB_ERR_UNKNOWN_DEVICE.
6453 * util/misc.c: Move mm functions to ...
6454 * util/mm.c: ... here. All users updated.
6455
47822096
VS
64562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
6459 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
6460 missing files.
6461 (maintainer-clean): Remove libgcrypt-grub.
6462
5d7e7445
VS
64632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
6466
25f4e252
EC
64672010-04-09 EFI Coder <eficoder@hotmail.com>
6468
6469 * normal/menu_text.c (print_message): Clean up the message and show
6470 the Fn information when on EFI
6471 * term/efi/console.c (grub_console_checkkey): Add F4 support.
6472
027de555
VS
64732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
6476 All users updated.
6477 * normal/crypto.c (read_crypto_list): Likewise.
6478 * normal/dyncmd.c (read_command_list): Likewise.
6479 * normal/term.c (read_terminal_list): Likewise.
6480 * normal/main.c (read_lists): Use explicit prefix.
6481 (read_lists_hook): Use read_lists.
6482 (grub_normal_execute): Likewise.
6483
47779711
VS
64842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
6487 Reported by: Thomas Schmitt.
6488 Add -no-emul-boot to grub-mkisofs parameters.
6489
1118c32e
VS
64902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * font/font.c: Indented.
6493
7d652447
BC
64942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6495
6496 Elif support to GRUB script (by Deepak Vankadaru).
6497
6498 * tests/grub_script_if.in: New testcase.
6499 * conf/tests.rmk: Rule for new testcase.
6500 * script/parser.y: Grammar rules for elif.
6501
34bb22df
BC
65022010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
6503
6504 While and until loops support to GRUB script.
6505
6506 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
6507 (grub_script_create_cmdwhile): New function prototype.
6508 (grub_script_execute_cmdwhile): New function prototype.
6509 * script/execute.c (grub_script_execute_cmdwhile): New function.
6510 * script/parser.y (command): New commands.
6511 (whilecmd): New grammar rule.
6512 (untilcmd): New grammar rule.
6513 * script/script.c (grub_script_create_cmdwhile): New function.
6514 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
6515 function.
6516
6517 * tests/grub_script_while1.in: New testcase.
6518 * conf/tests.rmk: Rule for new testcase.
6519
e215d8e0
VS
65202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
6523 as *.jpg.
6524
d7c43ba1
MV
65252010-04-09 Mario Vazquez <mariovazq@gmail.com>
6526
6527 GRUB_BACKGROUND support.
6528
6529 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
6530 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
6531
d64795c0
VS
65322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 6535 Idea by: Mario Vazquez
d64795c0
VS
6536
6537 * util/grub.d/00_header.in: Load pf2 and image modules.
6538
f267f83a
VS
65392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 grub-mkconfig multiple terminal support.
6542
6543 * util/grub-mkconfig.in: Handle multiple terminals correctly.
6544 * util/grub.d/00_header.in: Likewise.
6545
b7841ceb
VS
65462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * Makefile.in: Specify files explicitly instead of using $< and $@ since
6549 we use cd $(srcdir).
6550
df60998c
CW
65512010-04-08 Colin Watson <cjwatson@ubuntu.com>
6552
6553 * util/grub.d/10_linux.in: Only use the first word of
6554 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
6555 spaces in GRUB_DISTRIBUTOR.
6556 * util/grub.d/10_kfreebsd.in: Likewise.
6557 * util/grub.d/10_hurd.in: Likewise.
6558
fa09c82e
BC
65592010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
6560
14e18ae3 6561 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
6562
6563 * tests/util/grub-shell.in: Remove -serial stdio option.
6564
daf892b3
BC
65652010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 POSIX header file wrappers.
6568
6569 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
6570 equivalents.
6571 * lib/posix_wrap/ctype.h: Likewise.
6572 * lib/posix_wrap/errno.h: Likewise.
6573 * lib/posix_wrap/langinfo.h: Likewise.
6574 * lib/posix_wrap/limits.h: Likewise.
6575 * lib/posix_wrap/localcharset.h: Likewise.
6576 * lib/posix_wrap/stdint.h: Likewise.
6577 * lib/posix_wrap/stdio.h: Likewise.
6578 * lib/posix_wrap/stdlib.h: Likewise.
6579 * lib/posix_wrap/string.h: Likewise.
6580 * lib/posix_wrap/sys/types.h: Likewise.
6581 * lib/posix_wrap/unistd.h: Likewise.
6582 * lib/posix_wrap/wchar.h: Likewise.
6583 * lib/posix_wrap/wctype.h: Likewise.
6584 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
6585 (grub_script.yy.h): Likewise.
6586 * script/yylex.l: Remove POSIX emulation #defines.
6587 * Makefile.in (POSIX_CFLAGS): New variable.
6588 (GNULIB_UTIL_CFLAGS): Likewise.
6589
6590 Regexp support.
6591
6592 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
6593 (regexp_mod_SOURCES): New variable.
6594 (regexp_mod_CFLAGS): Likewise.
6595 (regexp_mod_LDFLAGS): Likewise.
6596 * commands/regexp.c: New file.
6597 * gnulib/regcomp.c: New file. Imported from gnulib.
6598 * gnulib/regex.c: Likewise.
6599 * gnulib/regex_internal.c: Likewise.
6600 * gnulib/regex_internal.h: Likewise.
6601 * gnulib/regexec.c: Likewise.
6602 * gnulib/regex.h: Likewise.
6603
974ac4f7
VS
66042010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
6607 unsupported video mode types.
6608
2622c3ff
VS
66092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
6612
064cb524
VS
66132010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
6616 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
6617
a8c3b552
VS
66182010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Remove unused grub_vga_get_font.
6621
6622 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
6623 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
6624
187bbe3d
GS
66252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6626
6627 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
6628 * include/grub/misc.h: Likewise.
6629
b9396631
GS
66302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6631
6632 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
6633 for which failure is fatal.
6634
50479feb
GS
66352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6636
6637 * util/grub-install.in: Use mkdir -p to create grub directory.
6638 * util/i386/efi/grub-install.in: Likewise.
6639 * util/ieee1275/grub-install.in: Likewise.
6640
b1654fdf
GS
66412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6642
6643 * Makefile.in (LEX): new variable.
6644
bd5a6415
GS
66452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6646
6647 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
6648 `=' and added double quotes on operands of this equality test.
6649
3db3a82b
VS
66502010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * Makefile.in (uninstall): Remove a leftover debug echo.
6653 Reported by: Grégoire Sutre
6654
38023412
VS
66552010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 MIPS multiboot2 support.
6658
6659 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
6660 (multiboot2_mod_SOURCES): New variable.
6661 (multiboot2_mod_CFLAGS): Likewise.
6662 (multiboot2_mod_LDFLAGS): Likewise.
6663 (multiboot2_mod_ASFLAGS): Likewise.
6664 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
6665 definition.
6666 (MULTIBOOT_ENTRY_REGISTER): Likewise.
6667 (MULTIBOOT_MBI_REGISTER): Likewise.
6668 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
6669 (MULTIBOOT_ELF32_MACHINE): Likewise.
6670 (MULTIBOOT_ELF64_MACHINE): Likewise.
6671 * include/grub/mips/multiboot.h: New file.
6672 * include/grub/video.h (grub_video_driver_id): New type
6673 GRUB_VIDEO_DRIVER_SM712.
6674 (grub_video_get_info_and_fini): Export.
6675 (grub_video_get_palette): Likewise.
6676 (grub_video_get_driver_id): Likewise.
6677 * include/multiboot2.h: Resynced with spec.
6678 * loader/i386/multiboot.c: Moved from here ...
6679 * loader/multiboot.c: ... here. All users updated.
6680 (grub_multiboot_boot): Use platform-specific macros.
6681 * loader/i386/multiboot_elfxx.c: Moved from here ...
6682 * loader/multiboot_elfxx.c: ... here. All users updated.
6683 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
6684 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
6685 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
6686
47674667
VS
66872010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Import gnulib argp module.
6690
6691 * gnulib/argp-ba.c: New file.
6692 * gnulib/argp-eexst.c: Likewise.
6693 * gnulib/argp-fmtstream.c: Likewise.
6694 * gnulib/argp-fmtstream.h: Likewise.
6695 * gnulib/argp-fs-xinl.c: Likewise.
6696 * gnulib/argp-help.c: Likewise.
6697 * gnulib/argp-namefrob.h: Likewise.
6698 * gnulib/argp-parse.c: Likewise.
6699 * gnulib/argp-pin.c: Likewise.
6700 * gnulib/argp-pv.c: Likewise.
6701 * gnulib/argp-pvh.c: Likewise.
6702 * gnulib/argp-version-etc.c: Likewise.
6703 * gnulib/argp-version-etc.h: Likewise.
6704 * gnulib/argp-xinl.c: Likewise.
6705 * gnulib/argp.h: Likewise.
6706
495442ed
VS
67072010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * kern/device.c (grub_device_iterate): Clear errors after failed
6710 opening device.
6711
f9fd65df
VS
67122010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
6715 returned by firmware.
6716
af09641e
VS
67172010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
6720 compilation on coreboot and qemu
6721
016883a5
VS
67222010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * include/multiboot2.h: Resync with spec.
6725
f97e1f7d
VS
67262010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Multiboot2 tag support
6729
6730 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
6731 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
6732 Remove loader/multiboot_loader.c.
6733 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
6734 (grub_multiboot2_real_boot): Likewise.
6735 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
6736 (grub_get_multiboot_mmap_count): New proto.
6737 (grub_fill_multiboot_mmap): Likewise.
6738 (grub_multiboot_set_video_mode): Likewise.
6739 (grub_multiboot_set_console): Likewise.
6740 (grub_multiboot_load): Likewise.
6741 (grub_multiboot_load_elf): Likewise.
6742 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
6743 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
6744 * include/multiboot.h: Resynced with specification.
6745 * include/multiboot2.h: Resynced with specification.
6746 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
6747 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
6748 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
6749 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
6750 users updated.
6751 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
6752 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
6753 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
6754 Removed.
6755 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
6756 Moved from here...
6757 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
6758 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6759 Moved from here...
6760 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
6761 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
6762 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
6763 All users updated.
6764 * loader/i386/multiboot_mbi2.c: New file.
6765
3506b90b
VS
67662010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 Resync with gnulib.
6769
6770 * Makefile.in (GNULIB_CFLAGS): New variable.
6771 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
6772 (grub_script_check_CFLAGS): New variable.
6773 * gnulib/alloca.h: Resync with gnulib.
6774 * gnulib/error.c: Likewise.
6775 * gnulib/error.h: Likewise.
6776 * gnulib/fnmatch.c: Likewise.
6777 * gnulib/fnmatch_loop.c: Likewise.
6778 * gnulib/getdelim.c: Likewise.
6779 * gnulib/getline.c: Likewise.
6780 * gnulib/getopt.c: Likewise.
6781 * gnulib/getopt1.c: Likewise.
6782 * gnulib/getopt_int.h: Likewise.
6783 * gnulib/gettext.h: Likewise.
6784 * gnulib/progname.c: Likewise.
6785 * gnulib/progname.h: Likewise.
6786
394a3120
GS
67872010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
6788
6789 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
6790 which is the case with --disabled-nls.
6791
6792 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
6793 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
6794 * util/misc.c: Likewise.
6795 * util/mkisofs/mkisofs.c: Likewise.
6796 * util/mkisofs/mkisofs.h: Likewise.
6797
969d1c78
VS
67982010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Simplify Apple CC support.
6801
6802 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
6803 Add 0 byte at the end not to have a symbol with empty target.
6804 * mmap/i386/pc/mmap_helper.S: Likewise.
6805 * genmk.rb: Ignore errors 2030 and 2050.
6806 * kern/i386/pc/startup.S: Use LOCAL when possible.
6807
8d2977bb
BC
68082010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
6809
6810 Testcase and the fix for final semicolon on cmdline.
6811
6812 * tests/grub_script_final_semicolon.in: New testcase.
6813 * conf/tests.rmk: Rules for the new testcase.
6814 * script/parser.y: Grammar fix.
6815
a7bd6915
BC
68162010-03-26 BVK Chaitanya <bvk@localhost>
6817
6818 Blank lines testcase for GRUB script.
6819
6820 * tests/grub_script_blanklines.in: New testcase.
6821 * conf/tests.rmk: Rules for the new testcase.
6822
e4ff6628
VS
68232010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 Don't use __FILE__.
6826
6827 * genmk.rb: Add -DGRUB_FILE to all C targets.
6828 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
6829 * include/grub/list.h: Likewise.
6830 * include/grub/misc.h: Likewise.
6831 * include/grub/mm.h: Likewise.
6832 * include/grub/test.h: Likewise.
6833 * kern/mm.c: Likewise.
6834 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6835
6a5cf6b6
VS
68362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 Sunpc partitions support.
6839
6840 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
6841 (grub_fstest_SOURCES): Likewise.
6842 (pkglib_MODULES): Add part_sunpc.mod.
6843 (part_sunpc_mod_SOURCES): New variable.
6844 (part_sunpc_mod_CFLAGS): Likewise.
6845 (part_sunpc_mod_LDFLAGS): Likewise.
6846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
6847 * partmap/sunpc.c: New file.
6848
746d9045
BC
68492010-03-26 BVK Chaitanya <bvk@localhost>
6850
6851 For loop support to GRUB script.
6852
6853 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
6854 (grub_script_create_cmdfor): New function prototype.
6855 (grub_script_execute_cmdfor): New function prototype.
6856 * script/execute.c (grub_script_execute_cmdfor): New function.
6857 * script/parser.y (command): New for command.
6858 (forcmd): New grammar rule.
6859 * script/script.c (grub_script_create_cmdfor): New function.
6860 * util/grub-script-check.c (grub_script_execute_cmdfor): New
6861 function.
6862 * tests/grub_script_for1.in: New testcase.
6863 * conf/tests.rmk: Rules for new testcase.
6864
18486b18
VS
68652010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 Nested partitions
6868
6869 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
6870 'partition' is NULL, grub_partition_get_start already does that.
6871 * commands/loadenv.c (check_blocklists): Likewise.
6872 (write_blocklists): Likewise.
6873 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
6874 (grub_fstest_SOURCES): Likewise.
6875 (pkglib_MODULES): Add part_bsd.mod.
6876 (part_bsd_mod_SOURCES): New variable.
6877 (part_bsd_mod_CFLAGS): Likewise.
6878 (part_bsd_mod_LDFLAGS): Likewise.
6879 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
6880 (grub_emu_SOURCES): Likewise.
6881 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6882 * include/grub/bsdlabel.h: New file.
6883 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
6884 'get_name'.
6885 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
6886 (grub_partition_map_list): New variable.
6887 (grub_partition_map_register): Inline.
6888 (grub_partition_map_unregister): Likewise.
6889 (FOR_PARTITION_MAPS): New macro.
6890 (grub_partition_map_iterate): Removed.
6891 (grub_partition_get_start): Handle nested partitions.
6892 * include/grub/msdos_partition.h: Remove bsd-related entries.
6893 (grub_pc_partition): Remove.
6894 * kern/disk.c (grub_disk_close): Free partition data.
6895 (grub_disk_adjust_range): Handle nested partitions.
6896 * kern/partition.c (grub_partition_map_probe): New function.
6897 (grub_partition_probe): Parse name to number, handle subpartitions.
6898 (get_partmap): New function.
6899 (grub_partition_iterate): Handle subpartitions.
6900 (grub_partition_get_name): Likewise.
6901 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
6902 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
6903 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
6904 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
6905 Set 'number'.
6906 (acorn_partition_map_probe): Remove.
6907 (acorn_partition_map_get_name): Likewise.
6908 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
6909 Set 'number'.
6910 Set 'index' to 0 since there can be only one partition entry per sector.
6911 (amiga_partition_map_probe): Remove.
6912 (amiga_partition_map_get_name): Likewise.
6913 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
6914 Set 'number'.
6915 Set 'offset' and 'index' to real positions of partitions.
6916 (apple_partition_map_probe): Remove.
6917 (apple_partition_map_get_name): Likewise.
6918 * partmap/bsdlabel.c: New file.
6919 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
6920 Set 'number'.
6921 Allocate 'data' so it can be correctly freed.
6922 Set 'index' to offset inside sector.
6923 (gpt_partition_map_probe): Remove.
6924 (gpt_partition_map_get_name): Likewise.
6925 * partmap/msdos.c (grub_partition_parse): Remove.
6926 (pc_partition_map_iterate): Don't force raw access.
6927 Set 'number'.
6928 Make 'ext_offset' a local variable.
6929 (pc_partition_map_probe): Remove.
6930 (pc_partition_map_get_name): Remove.
6931 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
6932 Set 'number'.
6933 (sun_partition_map_probe): Remove.
6934 (sun_partition_map_get_name): Likewise.
6935 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
6936 (grub_pcpart_type): Likewise.
6937 * util/hostdisk.c (open_device): Handle new numbering scheme.
6938 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
6939 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
6940 * util/grub-probe.c (probe_partmap): Handle nested paritions.
6941 * util/grub-install.in: Insert all subpartition modules.
6942 * util/ieee1275/grub-install.in: Likewise.
6943
a3940f88
AG
69442010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
6945
6946 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
6947 grammar.
6948
21b99926 69492010-03-24 Colin Watson <cjwatson@ubuntu.com>
6950
6951 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
6952
bed1d352
CW
69532010-03-21 Colin Watson <cjwatson@ubuntu.com>
6954
6955 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
6956 match where 'make install' puts them.
6957 * util/i386/efi/grub-install.in: Likewise.
6958
c9f58427
CW
69592010-03-19 Colin Watson <cjwatson@ubuntu.com>
6960
6961 * .bzrignore: Add gentrigtables, grub-script-check,
6962 grub_script_check_init.c, grub_script_check_init.h, and
6963 trigtables.c.
6964
f84afb27
VS
69652010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * kern/parser.c: Indented.
6968
ed0e3d30
VS
69692010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
6972
0ea81d98
VS
69732010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
6976 alpha_mask_size == 0 case.
6977
0cdc2a09
BC
69782010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
6979
6980 GRUB shell lexer and parser improvements.
6981
6982 * conf/any-emu.rmk: Build rule updates.
6983 * conf/common.rmk: Likewise.
6984 * conf/i386-coreboot.rmk: Likewise.
6985 * conf/i386-efi.rmk: Likewise.
6986 * conf/i386-ieee1275.rmk: Likewise.
6987 * conf/i386-pc.rmk: Likewise.
6988 * conf/powerpc-ieee1275.rmk: Likewise.
6989 * conf/x86_64-efi.rmk: Likewise.
6990
6991 * configure.ac: Configure check for flex.
6992
6993 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
6994 types.
6995 (grub_lexer_param): Struct member updates.
6996 (grub_parser_param): Likewise.
6997 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
6998 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
6999 (grub_script_lexer_init): Prototype update.
7000 (grub_script_lexer_record_start): Likewise.
7001 (grub_script_lexer_record_stop): Likewise.
7002 (grub_script_lexer_yywrap): New function prototype.
7003 (grub_script_lexer_fini): Likewise.
7004 (grub_script_execute_argument_to_string): Removed by...
7005 (grub_script_execute_argument_to_argv): ...better version.
7006
7007 * script/execute.c (ROUND_UPTO): New macro.
7008 (grub_script_execute_cmdline): Out of memory fixes.
7009 (grub_script_execute_menuentry): Likewise.
7010 (grub_script_execute_argument_to_string): Removed. Update all
7011 users by...
7012 (grub_script_execute_argument_to_argv): ...better version.
7013 * script/function.c (grub_script_function_create): Use
7014 grub_script_execute_argument_to_argv instead of
7015 grub_script_execute_argument_to_string.
7016
7017 * script/lexer.c (check_varstate): Removed.
7018 (check_textstate): Removed.
7019 (grub_script_lexer_record_start): Likewise.
7020 (grub_script_lexer_record_stop): Likewise.
7021 (recordchar): Replaced with...
7022 (grub_script_lexer_record): ...new function.
7023 (nextchar): Removed.
7024 (grub_script_lexer_init): Rewritten.
7025 (grub_script_yylex): Rewritten.
7026 (append_newline): New function.
7027 (grub_script_lexer_yywrap): New function.
7028 (grub_script_lexer_fini): New function.
7029 (grub_script_yyerror): Sets error flag.
7030
7031 * script/yylex.l: New file.
7032 (grub_lexer_yyfree): Wrapper for flex yyffre.
7033 (grub_lexer_yyalloc): Likewise.
7034 (grub_lexer_yyrealloc): Likewise.
7035 * script/parser.y: Refactored.
7036
7037 * script/script.c (grub_script_arg_add): Out of memory fixes.
7038 (grub_script_add_arglist): Likewise.
7039 (grub_script_create_cmdline): Likewise.
7040 (grub_script_create_cmdmenu): Likewise.
7041 (grub_script_add_cmd): Likewise.
7042 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7043 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7044 unnecessary code.
7045
7046 * tests/grub_script_echo1.in: New testcase.
7047 * tests/grub_script_vars1.in: New testcase.
7048 * tests/grub_script_echo_keywords.in: New testcase.
7049
1d63a066
VS
70502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 Remove some redundancy in build system.
7053
7054 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7055 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7056 (TARGET_LDFLAGS): Add -nostdlib.
7057 (TARGET_IMG_LDFLAGS): Likewise.
7058 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7059 anything since mmap isn't available.
7060 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7061 Add util/time.c.
7062 (pkglib_MODULES): Remove reboot.mod.
7063 (reboot_mod_SOURCES): Removed.
7064 (reboot_mod_CFLAGS): Likewise.
7065 (reboot_mod_LDFLAGS): Likewise.
7066 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7067 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7068 (DEFSYMFILES): Add kernel_syms.lst.
7069 (kernel_img_HEADERS): Add common headers.
7070 (symlist.c): New target.
7071 (kernel_syms.lst): Likewise.
7072 (pkglib_MODULES): Add memdisk.mod.
7073 (memdisk_mod_SOURCES): New variable.
7074 (memdisk_mod_CFLAGS): Likewise.
7075 (memdisk_mod_LDFLAGS): Likewise.
7076 (pkglib_MODULES): Add reboot.mod.
7077 (reboot_mod_SOURCES): New variable.
7078 (reboot_mod_CFLAGS): Likewise.
7079 (reboot_mod_LDFLAGS): Likewise.
7080 (pkglib_MODULES): Add date.mod.
7081 (date_mod_SOURCES): New variable.
7082 (date_mod_CFLAGS): Likewise.
7083 (date_mod_LDFLAGS): Likewise.
7084 (pkglib_MODULES): Add datehook.mod.
7085 (datehook_mod_SOURCES): New variable.
7086 (datehook_mod_CFLAGS): Likewise.
7087 (datehook_mod_LDFLAGS): Likewise.
7088 (pkglib_MODULES): Add lsmmap.mod.
7089 (lsmmap_mod_SOURCES): New variable.
7090 (lsmmap_mod_CFLAGS): Likewise.
7091 (lsmmap_mod_LDFLAGS): Likewise.
7092 (pkglib_MODULES): Add boot.mod.
7093 (boot_mod_SOURCES): New variable.
7094 (boot_mod_CFLAGS): Likewise.
7095 (boot_mod_LDFLAGS): Likewise.
7096 * conf/i386-coreboot.rmk: Removed redundant parts.
7097 * conf/i386-ieee1275.rmk: Likewise.
7098 * conf/i386-pc.rmk: Likewise.
7099 * conf/mips-yeeloong.rmk: Likewise.
7100 * conf/mips.rmk: Likewise.
7101 * conf/powerpc-ieee1275.rmk: Likewise.
7102 * conf/sparc64-ieee1275.rmk: Likewise.
7103 * conf/x86_64-efi.rmk: Likewise.
7104 * conf/i386-coreboot.rmk: Moved qemu parts ..
7105 * conf/i386-qemu.rmk: ... here
7106 * conf/i386-efi.rmk: Moved common parts to...
7107 * conf/x86-efi.rmk: ... here.
7108 * conf/i386.rmk: Added modules common to all x86 variants.
7109 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7110 * disk/memdisk.c: Remove grub/machine/kernel.h.
7111 * gensymlist.sh.in: Include symbol.h.
7112 * hook/datehook.c: Correct module name.
7113 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7114 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7115 * include/grub/i386/efi/serial.h: New file.
7116 * include/grub/x86_64/efi/serial.h: Likewise.
7117 * util/time.c: Likewise.
7118 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7119
463ac55f
CK
71202010-03-14 Colin King <colin.king@ubuntu.com>
71212010-03-14 Colin Watson <cjwatson@ubuntu.com>
7122
7123 Shrink the pre-partition-table part of boot.img by eight bytes.
7124
7125 * boot/i386/pc/boot.S (ERR): New macro.
7126 (chs_mode): Use ERR.
7127 (geometry_error): Likewise.
7128 (hd_probe_error): Remove. This is only used once, so we wrwite
7129 it inline instead.
7130 (read_error): Instead of printing read_error_string, just set up
7131 %si and fall through to ...
7132 (error_message): ... this new function, also used by ERR.
7133
08e46ede
CW
71342010-03-14 Colin Watson <cjwatson@ubuntu.com>
7135
7136 Speed up consecutive hostdisk operations on the same device.
7137
7138 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7139 (grub_util_biosdisk_open): Initialise disk->data.
7140 (struct linux_partition_cache): New structure.
7141 (linux_find_partition): Cache partition start positions; these are
7142 expensive to compute on every read and write.
7143 (open_device): Cache open file descriptor in disk->data, so that we
7144 don't have to reopen it and flush the buffer cache for consecutive
7145 operations on the same device.
7146 (grub_util_biosdisk_close): New function.
7147 (grub_util_biosdisk_dev): Set `close' member.
7148
7149 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7150 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7151 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7152 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7153 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7154
4a6d2d06
VS
71552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 Compile parts of grub-emu as modules.
7158
7159 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7160 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7161 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7162 (all-local): Add $(GRUB_EMU).
7163 (install-local): Install $(GRUB_EMU).
7164 (uninstall): Uninstall $(GRUB_EMU).
7165 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7166 * kern/dl.c: Likewise.
7167 * commands/sleep.c: Not include machine/time.h.
7168 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7169 (COMMON_CFLAGS): Likewise.
7170 (sbin_UTILITIES): Remove grub-emu.
7171 (grub_emu_SOURCES): Removed.
7172 (kernel_img_RELOCATABLE): New variable.
7173 (pkglib_PROGRAMS): Add kernel.img.
7174 (kernel_img_SOURCES): New variable
7175 (kernel_img_CFLAGS): Likewise.
7176 (kernel_img_LDFLAGS): Likewise.
7177 (TARGET_NO_STRIP): Likewise.
7178 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7179 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7180 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7181 (grub-emu): New target.
7182 (GRUB_EMU): New variable.
7183 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7184 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7185 * loader/xnu.c: Likewise.
7186 * include/grub/pci.h: Likewise.
7187 * genemuinit.sh: New file.
7188 * genemuinitheader.sh: Likewise.
7189 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7190 Support TARGET_NO_DYNAMIC_MODULES.
7191 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7192 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7193 * disk/loopback.c: Likewise.
7194 * font/font_cmd.c: Likewise.
7195 * partmap/acorn.c: Likewise.
7196 * partmap/amiga.c: Likewise.
7197 * partmap/apple.c: Likewise.
7198 * partmap/gpt.c: Likewise.
7199 * partmap/msdos.c: Likewise.
7200 * partmap/sun.c: Likewise.
7201 * parttool/msdospart.c: Likewise.
7202 * term/gfxterm.c: Likewise.
7203 * video/bitmap.c: Likewise.
7204 * video/readers/jpeg.c: Likewise.
7205 * video/readers/png.c: Likewise.
7206 * video/readers/tga.c: Likewise.
7207 * video/video.c: Likewise.
7208 * util/grub-emu.c (read_command_list): Removed.
7209 (main): Don't call util_init_nls.
7210 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
7211 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
7212
91fdd2ed
VS
72132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
7216 date.mod, datehook.mod.
7217 (datetime_mod_SOURCES): New variable.
7218 (datetime_mod_CFLAGS): Likewise.
7219 (datetime_mod_LDFLAGS): Likewise.
7220 (date_mod_SOURCES): Likewise.
7221 (date_mod_CFLAGS): Likewise.
7222 (date_mod_LDFLAGS): Likewise.
7223 (datehook_mod_SOURCES): Likewise.
7224 (datehook_mod_CFLAGS): Likewise.
7225 (datehook_mod_LDFLAGS): Likewise.
7226 * conf/sparc64-ieee1275.rmk: Likewise.
7227 * lib/ieee1275/datetime.c: New file.
7228
873ccae6
VS
72292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
7232 (ieee1275_fb_mod_SOURCES): New variable.
7233 (ieee1275_fb_mod_CFLAGS): Likewise.
7234 (ieee1275_fb_mod_LDFLAGS): Likewise.
7235 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
7236 New proto.
7237 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
7238 (HEAP_MAX_ADDR): Likewise.
7239 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
7240 type.
7241 Correct stop condition.
7242 (grub_ieee1275_devices_iterate): New function.
7243 * video/ieee1275.c: New file.
7244
601c97c0
VS
72452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
7248
7249 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
7250 as scratch.
7251 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
7252 SCRATCH_PAD_DISKBOOT as scratch.
7253 (bootit): Pass Openfirmware pointer in %o4.
7254 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
7255 of 0x200000.
7256 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
7257 with util/grub-mkrawimage.c.
7258 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
7259 * include/grub/aout.h (AOUT_MID_SUN): New definition.
7260 (grub_aout_get_type) [GRUB_UTIL]: Removed.
7261 (grub_aout_load) [GRUB_UTIL]: Likewise.
7262 * include/grub/kernel.h (grub_modules_get_end): New proto.
7263 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
7264 (SCRATCH_PAD_BOOT): New definition.
7265 (SCRATCH_PAD_DISKBOOT): Likewise.
7266 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
7267 * include/grub/sparc64/ieee1275/ieee1275.h
7268 (grub_ieee1275_original_stack): New variable
7269 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
7270 New definition
7271 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
7272 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
7273 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
7274 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
7275 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
7276 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
7277 (grub_platform_image_format_t): New type.
7278 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
7279 * kern/main.c (grub_modules_get_end)
7280 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
7281 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
7282 (codestart): Switch stacks.
7283 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
7284 variable.
7285 (grub_heap_init): Use grub_modules_get_end.
7286 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
7287 stack.
7288 * util/grub-mkrawimage.c (generate_image): Support sparc64.
7289 (main): Likewise.
7290 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
7291
d68b491e
TG
72922010-03-14 Thorsten Glaser <tg@mirbsd.org>
7293
7294 * util/grub-mkrescue.in: Base ISO UUID on UTC.
7295
4e02ed50
MK
72962010-03-08 Matt Kraai <kraai@ftbfs.org>
7297
7298 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
7299 bug #559005).
7300
1f15fc1e
VS
73012010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * genmoddep.awk: Output all missing symbols and not only first.
7304
fce5d8ff
VS
73052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * NEWS: Put the date of 1.98 release.
7308
d1e8a02f
VS
73092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
7312 ft2build.h.
7313
696fd607
VS
73142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
7317 completition in the middle of string.
7318
33e2e6f3
VS
73192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * util/grub-mkrescue.in: Use mktemp with explicit template.
7322
b1f6d291
VS
73232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
7326
2ac227c7
VS
73272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
7330 right pointer.
7331
8f9a632b
VS
73322010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 Fix FreeBSD compilation.
7335
7336 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
7337 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
7338
60b03859
VS
73392010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
7342
48a5a769
VS
73432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
7346
3ab4bd77
VS
73472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
7350
d116e0d8
RM
73512010-03-04 Robert Millan <rmh.grub@aybabtu.com>
7352
7353 Support relative image path in theme file.
7354
7355 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
7356 (image_set_property): Handle theme_dir and relative path.
7357
c7ef54aa
VS
73582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * configure.ac: Alias amd64 to x86_64.
7361
fcee14ed
VS
73622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * NEWS: mention multiboot on EFI.
7365
d0780363
VS
73662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * kern/main.c (grub_load_modules): Handle errors from init functions of
7369 embeded modules.
7370
41168ea4
VS
73712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * normal/autofs.c (autoload_fs_module): Handle errors.
7374
b54d93ac
VS
73752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 Disable linux.mod on qemu-mips since it's not functional and leads
7378 to compilation failure.
7379
7380 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
7381 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
7382 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
7383 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
7384 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
7385 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
7386 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
7387 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
7388 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
7389 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
7390 Reported by: BVK Chaitanya
7391
fc8345da
JU
73922010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
7393
7394 * INSTALL: Add gettext as a dependency and add qemu to a new section
7395 "Prerequisites for make-check".
7396
4760f979
CF
73972010-03-04 Christian Franke <franke@computer.org>
7398
7399 * util/grub-pe2elf.c: Add missing include "progname.h".
7400
f209b5b2
VS
74012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * normal/crypto.c (read_crypto_list): Fix a typo.
7404 Reported by: Seth Goldberg.
7405
b4b7be98
VS
74062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 7409 Reported by: Seth Goldberg.
b4b7be98 7410
c0ee0385
VS
74112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
7414 ascii.bitmaps.
7415
a8efbf64
VS
74162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 7419 Reported by: Seth Goldberg.
a8efbf64 7420
08dcd913
VS
74212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * util/i386/efi/grub-install.in: Copy gettext files.
7424
c4d0b332
VS
74252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
7428
c6f2fe52
VS
74292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 Wait for user entry basing on presence of output rather than on errors.
7432
7433 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
7434 (grub_install_newline_hook): Likewise.
7435 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
7436 * normal/menu.c (show_menu): Check line_counter to determine presence
7437 of output.
7438 * normal/term.c (grub_normal_line_counter): New variable.
7439 (grub_normal_get_line_counter): New function.
7440 (grub_install_newline_hook): Likewise.
7441
5382b1e4
VS
74422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
7445
5519963b
VS
74462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * configure.ac: Update version to 1.98.
7449
72b28631
VS
74502010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * util/grub.d/10_linux.in (linux_entry): Don't default to
7453 gfxpayload=keep if Linux doesn't support video handover.
7454
c140a180
VS
74552010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 Don't compile video modules on yeeloong since video subsystem is part
7458 of kernel.
7459
7460 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
7461 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
7462 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
7463 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
7464 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
7465 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
7466 * include/grub/bitmap_scale.h: Likewise.
7467 * include/grub/bufio.h: Likewise.
7468 * include/grub/font.h: Likewise.
7469 * include/grub/gfxterm.h: Likewise.
7470 * include/grub/video.h: Likewise.
7471 * include/grub/vbe.h: Don't include video_fb.h.
7472 * video/i386/pc/vbe.c: Include video_fb.h.
7473 * commands/i386/pc/vbetest.c: Include video.h.
7474
a0ca21c2
CW
74752010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
7476
7477 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
7478 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
7479 default entry if GRUB_SAVEDEFAULT=true. This allows using
7480 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
7481 saving a new default on every boot.
7482
4a8a763c
VS
74832010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * normal/crypto.c (read_crypto_list): Fix a memory leak.
7486 * normal/term.c (read_terminal_list): Likewise.
7487 * normal/main.c (grub_normal_init_page): Likewise.
7488 (grub_normal_read_line_real): Likewise.
7489
607ffde2
VS
74902010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
7493 memory leak.
7494 Reported by: Seth Goldberg.
7495
2b8fa975
CW
74962010-02-24 Joey Korkames <joey+lists@kidfixit.com>
7497
7498 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
7499 duplicate declaration of `start'.
7500
618307dd
VS
75012010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
7504 filename.
7505 Reported by: Georgy Buranov
7506
7dd05b96 75072010-02-20 Carles Pina i Estany <carles@pina.cat>
7508
7509 * util/grub-mkrawimage.c (usage): Change string formatting to
7510 improve gettext.
7511
d1484a42
MRA
75122010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7513
7514 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
7515 backspace keys.
7516
42b1d186
VS
75172010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
7520 Reported by: Michael Suchanek.
7521
75222010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
7523
7524 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
7525 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
7526
d9f31a41
VS
75272010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Remove any reference to non-free fonts.
7530
7531 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
7532 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
7533 uses non-free components.
7534 * font/font.c (grub_font_get_name): Remove example name.
7535 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
7536 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7537 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
7538 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
7539
2793c71e
GB
75402010-02-16 Georgy Buranov <gburanov@gmail.com>
7541
7542 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
7543
402e3779
VS
75442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
7547 Double divisor.
7548 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
7549 features.
7550 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
7551
0dd1e0dd
VS
75522010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * gensymlist.sh.in: Use TARGET_CC instead of CC.
7555
6fa7cfce
ST
75562010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7557
7558 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
7559 * docs/grub.texi (Command-line and menu entry commands): Document play
7560 command.
7561
37c8483b
ST
75622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7563
7564 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
7565 parse arguments as inline tempo and notes. Move code for playing notes
7566 to...
7567 (play): ... new function.
7568
14da0fb7
ST
75692010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7570
7571 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
7572 grub_uint16_t instead of short.
7573 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
7574 disk from little endian to cpu endianness.
7575
04459e70
ST
75762010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
7577
7578 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
7579 GRUB_TICKS_PER_SECOND instead of 120.
7580
a0876943
VS
75812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
7584 escape sequence after \e.
7585
e29f95dc
VS
75862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
7589 non-ASCII characters.
7590
d27859b2
VS
75912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
7594 set root in single quotes to prevent \, from being unescaped.
7595
bc028f2f
VS
75962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 Prevent unknown commands from stopping menuentry execution.
7599
7600 * script/execute.c (grub_script_execute_cmdline): Print error after
7601 unknown command.
7602
095f5f82
VS
76032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
7606 Reported by: Pavel Pisa.
7607
8c717950
VS
76082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
7611
904935c3
VS
76122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 Merge grub_ieee1275_map_physical into grub_map and rename to
7615 grub_ieee1275_map
7616
7617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
7618 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
7619 Remove.
7620 * kern/ieee1275/openfw.c (grub_map): Rename to ...
7621 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
7622 necessary.
7623 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
7624
5b59a4e3
VS
76252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
7628 opening and not after.
7629
69e137e8
VS
76302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
7633 constants.
7634
2c0fcc36
VS
76352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
7638 (alloc_phys): Use ALIGN_UP instead of align_addr.
7639
8c6052ce
VS
76402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
7643
17cec782
VS
76442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
7647
e0128bbd
VS
76482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
7651 verbose dprintf.
7652
ca62070b
VS
76532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 Fix over-4GiB seek on sparc64.
7656
7657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
7658 Replace pos_i and pos_lo with pos. All users updated.
7659 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7660 New constant.
7661 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
7662 Likewise.
7663 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
7664 and pos_lo.
7665
bdca2607
VS
76662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 * util/grub-mkrawimage.c (main): Call set_program_name.
7669
da278c4d
VS
76702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 Properly align 64-bit targets.
7673
7674 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
7675 (generate_image): Use ALIGN_ADDR.
7676
b274d734
VS
76772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 Properly create cross-endian images.
7680
7681 * include/grub/types.h (grub_host_to_target_addr): New macro
7682 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
7683
82da2062
VS
76842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
7687
7cae4377
VS
76882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
7691
7692 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
7693 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
7694 (grub_linux_boot): Divide by 64K when on VESA.
7695
65a533e7
VS
76962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 Support GRUB_GFXPAYLOAD_LINUX.
7699
7700 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
7701 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
7702
dd01d397
VS
77032010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
7706 to show messages instead of discarding them.
7707 Process errors after executing command and not before. Keep old method
7708 too as precaution.
7709
660960d6
VS
77102010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * configure.ac: Check for ft2build.h.
7713
62509f04
VS
77142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
7717
473df63d
VS
77182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * genkernsyms.sh.in: Use TARGET_CC.
7721
c98d2a13
CW
77222010-02-07 Colin Watson <cjwatson@ubuntu.com>
7723
7724 * NEWS: Update.
7725
6e14234c
VS
77262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
7729 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
7730 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 7731
b255e9cf
YB
77322010-02-07 Yves Blusseau <blusseau@zetam.org>
7733
6e14234c 7734 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 7735
98e6959d
VS
77362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 Fix warnings in grub-emu when compiling with maximum warning options.
7739
7740 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
7741 (grub_arch_modules_addr): Return 0 and not NULL.
7742 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 7743 (xstrdup): Use newstr instead of dup.
f88d801b
VS
7744 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
7745 of disk to dsk to avoid shadowing.
74e4934e
VS
7746 (find_free_slot): Fix prototype.
7747 * util/getroot.c (grub_util_is_dmraid): Make static.
7748 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
7749 Add missing prototype.
7750 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 7751
74e31b5c
VS
77522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * loader/i386/linux.c (grub_linux_setup_video): Handle error
7755 appropriately.
7756
6b2ad14b
VS
77572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
7760 code out.
7761
8f891adc
VS
77622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
7765 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
7766 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
7767 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
7768 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
7769 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
7770
74b45184
VS
77712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * include/grub/err.h (grub_err_printf): Don't export.
7774
a4bced77
VS
77752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
7778
007d0695
VS
77792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * include/grub/i18n.h (grub_gettext_dummy): Removed.
7782 * kern/misc.c (grub_gettext_dummy): Make static.
7783
b6c0d9c2
VS
77842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
7787 by non-valid ones.
7788 * kern/term.c (grub_putchar): Likewise.
7789
f51a90d0
VS
77902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
7793 buggy hook call and memory leak.
7794
6846cec5
VS
77952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
7798
468d69fe
VS
77992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
7802
51906b8c
VS
78032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
7806 modevar.
7807 Return grub_errno on allocation error.
7808
09706ce5
VS
78092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
7812
911df80c
YB
78132010-02-06 Yves Blusseau <blusseau@zetam.org>
7814
7815 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
7816 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
7817
3746a6bc
VS
78182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
7821 non-pxe disk.
7822 (grub_pxefs_open): Likewise.
7823
09706ce5
VS
78242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
7825
7826 * util/grub.d/10_hurd.in: Add --class information to menuentries.
7827 * util/grub.d/10_kfreebsd.in: Likewise.
7828 * util/grub.d/10_linux.in: Likewise.
7829
7cc192d9
VS
78302010-02-06 Colin D Bennett <colin@gibibit.com>
7831
7832 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
7833 (gfxmenu_mod_SOURCES): New variable.
7834 (gfxmenu_mod_CFLAGS): Likewise.
7835 (gfxmenu_mod_LDFLAGS): Likewise.
7836 * include/grub/term.h (grub_term_set_current_output): Declare
7837 argument as const.
7838 * docs/gfxmenu-theme-example.txt: New file.
7839 * gfxmenu/gfxmenu.c: Likewise.
7840 * gfxmenu/gui_box.c: Likewise.
7841 * gfxmenu/gui_canvas.c: Likewise.
7842 * gfxmenu/gui_circular_progress.c: Likewise.
7843 * gfxmenu/gui_image.c: Likewise.
7844 * gfxmenu/gui_label.c: Likewise.
7845 * gfxmenu/gui_list.c: Likewise.
7846 * gfxmenu/gui_progress_bar.c: Likewise.
7847 * gfxmenu/gui_string_util.c: Likewise.
7848 * gfxmenu/gui_util.c: Likewise.
7849 * gfxmenu/icon_manager.c: Likewise.
7850 * gfxmenu/model.c: Likewise.
7851 * gfxmenu/named_colors.c: Likewise.
7852 * gfxmenu/theme_loader.c: Likewise.
7853 * gfxmenu/view.c: Likewise.
7854 * gfxmenu/widget-box.c: Likewise.
7855 * include/grub/gfxmenu_model.h: Likewise.
7856 * include/grub/gfxmenu_view.h: Likewise.
7857 * include/grub/gfxwidgets.h: Likewise.
7858 * include/grub/gui.h: Likewise.
7859 * include/grub/gui_string_util.h: Likewise.
7860 * include/grub/icon_manager.h: Likewise.
7861
78622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 Agglomerate scrolling in gfxterm.
7865
7866 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
7867 (grub_virtual_screen_setup): Initialise 'total_screen'.
7868 (write_char): Split to ...
7869 (paint_char): ... this ...
7870 (write_char): ... and this.
7871 (paint_char): Handle delayed scrolling.
7872 (draw_cursor): Likewise.
7873 (scroll_up): Split to ...
7874 (real_scroll): ... this ...
7875 (scroll_up): ... and this.
7876 (real_scroll): Handle multi-line scroll and draw below-the-bottom
7877 characters.
7878 (grub_gfxterm_refresh): Call real_scroll.
7879
78802010-02-06 Colin D Bennett <colin@gibibit.com>
7881
7882 * include/grub/misc.h (grub_iscntrl): New inline function.
7883 (grub_isalnum): Likewise.
7884 (grub_strtol): Likewise.
7885
78862010-02-06 Colin D Bennett <colin@gibibit.com>
7887
7888 * normal/menu_text.c (get_entry_number): Move from here ...
7889 * normal/menu.c (get_entry_number): ... moved here.
7890 * include/grub/menu.h (grub_menu_get_default_entry_index):
7891 New prototype.
7892 * normal/menu.c (grub_menu_get_default_entry_index): New function.
7893 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
7894 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
7895 (grub_menu_viewer_should_return): Likewise.
7896 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
7897 * normal/menu_text.c (run_menu): Enable menu switching.
7898 * normal/menu_viewer.c (should_return): New variable.
7899 (menu_viewer_changed): Likewise.
7900 (grub_menu_viewer_show_menu): Handle menu viewer changes.
7901 (grub_menu_viewer_should_return): New function.
7902 (menuviewer_write_hook): Likewise.
7903 (grub_menu_viewer_init): Likewise.
7904
79052010-02-06 Colin D Bennet <colin@gibibit.com>
79062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Support for gfxterm in a window.
7909
7910 * include/grub/gfxterm.h: New file.
7911 * include/grub/video.h (struct grub_video_rect): New declaration.
7912 (grub_video_rect_t): Likewise.
7913 * term/gfxterm.c (struct grub_gfxterm_window): New type.
7914 (refcount): New variable.
7915 (render_target): Likewise.
7916 (window): Likewise.
7917 (repaint_callback): Likewise.
7918 (grub_virtual_screen_setup): Use 'render_target'.
7919 (init_window): New function.
7920 (grub_gfxterm_init_window): Likewise.
7921 (grub_gfxterm_init): Check reference counter.
7922 Use init_window.
7923 (destroy_window): New function.
7924 (grub_gfxterm_destroy_window): Likewise.
7925 (grub_gfxterm_fini): Check reference counter.
7926 Use destroy_window.
7927 (redraw_screen_rect): Restore viewport.
7928 Use 'render_target' and 'window'.
7929 Call 'repaint_callback'.
7930 (write_char): Use 'render_target'.
7931 (draw_cursor): Likewise.
7932 (scroll_up): Restore viewport.
7933 Use 'render_target' and 'window'.
7934 Call 'repaint_callback'.
7935 (grub_gfxterm_cls): Likewise.
7936 (grub_gfxterm_refresh): Use 'window'.
7937 (grub_gfxterm_set_repaint_callback): New function.
7938 (grub_gfxterm_background_image_cmd): Use 'window'.
7939 (grub_gfxterm_get_term): New function.
7940 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
7941
79422010-02-06 Colin D Bennett <colin@gibibit.com>
7943
7944 Bitmap scaling support.
7945
7946 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
7947 (bitmap_scale_mod_SOURCES): New variable.
7948 (bitmap_scale_mod_CFLAGS): Likewise.
7949 (bitmap_scale_mod_LDFLAGS): Likewise.
7950 * include/grub/bitmap_scale.h: New file.
7951 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
7952 (background_image_cmd_options): New variable.
7953 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
7954 (cmd): Rename and change type to ...
7955 (background_image_cmd_handle): ... this. All users updated.
7956 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
7957 * video/bitmap_scale.c: New file.
7958
79592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 SDL support.
7962
7963 * Makefile.in (LIBSDL): New variable.
7964 (enable_grub_emu_sdl): Likewise.
7965 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
7966 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
7967 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
7968 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
7969 * util/sdl.c: New file.
7970
79712010-02-06 Colin D Bennett <colin@gibibit.com>
79722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 Double buffering support.
7975
7976 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
7977 * include/grub/video.h: Update comment.
7978 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7979 New type.
7980 (grub_video_fb_doublebuf_blit_init): New prototype.
7981 * term/gfxterm.c (scroll_up): Support double buffering.
7982 (grub_gfxterm_refresh): Likewise.
7983 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
7984 (grub_video_fb_doublebuf_blit_init): Likewise.
7985 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
7986 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
7987 'displayed_page', 'render_page' and 'update_screen'.
7988 (grub_video_vbe_fini): Free offscreen buffer.
7989 (doublebuf_pageflipping_commit): New function.
7990 (doublebuf_pageflipping_update_screen): Likewise.
7991 (doublebuf_pageflipping_init): Likewise.
7992 (double_buffering_init): Likewise.
7993 (grub_video_vbe_setup): Enable doublebuffering.
7994 (grub_video_vbe_swap_buffers): Implement.
7995 (grub_video_vbe_set_active_render_target): Handle double buffering.
7996 (grub_video_vbe_get_active_render_target): Likewise.
7997 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
7998 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
7999 (grub_video_vbe_enable_double_buffering): Likewise.
8000 (grub_video_vbe_swap_buffers): Use update_screen.
8001 (grub_video_set_mode): Use double buffering.
8002
80032010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8004
8005 * maintainance/gentrigtables.py: Remove.
8006 * lib/trig.c: Likewise.
8007
8008 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8009
8010 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8011 `trigtables.c'.
8012 (trigtables.c): New rule.
8013 (gentrigtables): Likewise.
8014 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8015
80162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8017
8018 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8019 integer constants.
8020
80212010-02-06 Colin D Bennet <colin@gibibit.com>
8022
8023 Trigonometry support.
8024
8025 * include/grub/trig.h: New file.
8026 * lib/trig.c: Likewise.
8027 * maintainance/gentrigtables.py: Likewise.
8028 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8029 (trig_mod_SOURCES): New variable.
8030 (trig_mod_CFLAGS): Likewise.
8031 (trig_mod_LDFLAGS): Likewise.
8032
5562834e
VS
80332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8036 disk devices.
8037
4f8528fc
VS
80382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8041 error.
8042
2b4068e9
VS
80432010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * util/hostdisk.c (open_device): Don't use partition device when reading
8046 before the partition.
8047 (grub_util_biosdisk_read): Don't read from partition and before the
8048 partition in single operation.
8049 (grub_util_biosdisk_write): Don't write to partition and before the
8050 partition in single operation.
8051
399f6e4d
TL
80522010-02-03 Torsten Landschoff <torsten@debian.org>
8053
8054 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8055 last sectors.
8056
996649b0
VS
80572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8060 CDROM reads.
8061 (grub_biosdisk_write): Refuse to write to CDROM.
8062
3b205d4d
VS
80632010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8066
61e89d9d
VS
80672010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * font/font.c (find_glyph): Check that bmp_idx is available before
8070 using it.
8071 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8072 with (font == NULL).
8073
bf7fcba2
CS
80742010-01-28 Christian Schmitt <chris@ilovelinux.de>
8075
8076 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8077
f45d2663
BC
80782010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8079
8080 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8081 * util/grub-script-check.c (getline): Fix empty lines case.
8082
ec1444e6
RM
80832010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8084
8085 * Makefile.in (check): Exit with fail status when one of the tests
8086 fails.
8087 * tests/example_functional_test.c (example_test): Fix reversed assert.
8088 * tests/example_unit_test.c (example_test): Likewise.
8089
2e1cb9bb
CW
80902010-01-28 Colin Watson <cjwatson@ubuntu.com>
8091
8092 * util/grub.d/10_linux.in: This script does not use any of the
8093 contents of gettext.sh, only the external command `gettext', so stop
8094 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8095 the same prefix as GRUB.)
8096 * util/grub.d/10_kfreebsd.in: Likewise.
8097
63533ab0
VS
80982010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8101 of the line.
8102
989e1f93
VS
81032010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8106 last sectors.
8107
e709ebe2
VS
81082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8111 having a 4KiB and not 32KiB buffer size.
8112
27dea7ed
RM
81132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8114
8115 * util/hostfs.c: Include `<errno.h>'.
8116 (grub_hostfs_read): Handle errors from fseeko() and fread().
8117
67667b9c
RM
81182010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8119
8120 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8121 loop when using read hooks on files whose size isn't sector-aligned.
8122
c294d9d8
RM
81232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8124
8125 Remove unused parameter.
8126
8127 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8128 (grub_iso9660_open): Remove initialization of `data->length'.
8129
af75a9f1
RM
81302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8131
8132 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8133 memleak conditions.
8134
254e2ce5 81352010-01-27 Carles Pina i Estany <carles@pina.cat>
8136
8137 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8138 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8139
b510928c 81402010-01-26 Carles Pina i Estany <carles@pina.cat>
8141
8142 * util/bin2h.c (usage): Fix warning (space after backslash).
8143
aa2f9dd2 81442010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8145
8146 * font/font.c: Include `grub/fontformat.h.
8147 Remove font file format constants.
8148 (grub_font_load): Use the new macros.
8149 * include/grub/fontformat.h: New file.
8150 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8151 (write_font_pf2): Use the new macros.
8152
94e7e712
RM
81532010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8154
8155 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8156 does.
8157
3973a59a
RM
81582010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8159
8160 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8161
8162 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8163 (_start): Macroify `0x7F'.
8164
8165 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8166 (make_install_device): Use "(pxe)" as fallback prefix when booting
8167 via PXE.
8168
42e0cba3
GS
81692010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * configure.ac: Reset LIBS after check for libgcc symbols.
8172
847effd8
CW
81732010-01-25 Colin Watson <cjwatson@ubuntu.com>
8174
8175 * util/hostdisk.c (open_device): Add trailing newline to debug
8176 message.
8177
ea4a7e35
GS
81782010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8179
8180 * configure.ac: Check for `limits.h'.
8181 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8182
67951a53
RM
81832010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8184
8185 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8186 capitalize error strings.
8187
c273d4ce
ST
81882010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8189
8190 * util/grub.d/10_hurd.in: Add a recovery mode.
8191
69be5b74
VS
81922010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * configure.ac: Check for libgcc symbols with -nostdlib.
8195
fc9e5810
BC
81962010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8197
8198 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8199
4b358c0a
VS
82002010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8203 stack since heap may be unavailable at that point.
8204 (grub_ofconsole_gotoxy): Likewise.
8205
454fcd1c
VS
82062010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * configure.ac: Check for _restgpr_14_x.
8209 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8210 and _savegpr_* prototypes.
8211
566863ca
RM
82122010-01-22 Robert Millan <rmh.grub@aybabtu.com>
8213
8214 Use generic grub_reboot() for i386-efi.
8215
8216 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
8217 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
8218 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
8219
bf86e59a
VS
82202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
8223 presence of "prefix" variable as it breaks when normal.mod is
8224 embedded.
8225
d645e0f8
VS
82262010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
8229 stack since heap is unavailable at that point.
8230
f9ab2e25
VS
82312010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
8234 (grub_freebsd_bootinfo): Rewritten.
8235 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
8236
01fc7054
VS
82372010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
8240
caab4fd6
RM
82412010-01-21 Robert Millan <rmh.grub@aybabtu.com>
8242
8243 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
8244 domain now.
8245
67eb1427
FZ
82462010-01-20 Felix Zielcke <fzielcke@z-51.de>
8247
8248 * util/misc.c (make_system_path_relative_to_its_root): Change the work
8249 around for handling "/" to the correct fix. Fix a memory leak. Use
8250 xstrdup instead of strdup.
8251
a9ed4ff3
VS
82522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
8255
82562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
8257
8258 Optimise glyph lookup by Basic Multilingual Plane lookup array.
8259
8260 * font/font.c (struct grub_font): New member 'bmp_idx'.
8261 (font_init): Initialise 'bmp_idx'.
8262 (load_font_index): Fill 'bmp_idx'.
8263 (find_glyph): Make inline. Use bmp_idx for BMP characters.
8264
48209f4f
VS
82652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
8268 unnecessary calls.
8269
9f0a4bb7
VS
82702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 Move context handling out of the kernel.
8273
8274 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
8275 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
8276 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
8277 * conf/i386-efi.rmk: Likewise.
8278 * conf/i386-ieee1275.rmk: Likewise.
8279 * conf/i386-pc.rmk: Likewise.
8280 * conf/powerpc-ieee1275.rmk: Likewise.
8281 * conf/sparc64-ieee1275.rmk: Likewise.
8282 * conf/x86_64-efi.rmk: Likewise.
8283 * include/grub/env.h: Include grub/menu.h.
8284 (grub_env_var_type): Removed.
8285 (grub_env_var): Replaced field 'type' with 'global'.
8286 (grub_env_find): New prototype.
8287 (grub_env_context_open): Remove EXPORT_FUNC.
8288 (grub_env_context_close): Likewise.
8289 (grub_env_export): Likewise.
8290 (grub_env_set_data_slot): Removed.
8291 (grub_env_get_data_slot): Likewise.
8292 (grub_env_unset_data_slot): Likewise.
8293 (grub_env_unset_menu): New prototype.
8294 (grub_env_set_menu): Likewise.
8295 (grub_env_get_menu): Likewise.
8296 * include/grub/env_private.h: New file.
8297 * include/grub/normal.h (grub_context_init): New prototype.
8298 (grub_context_fini): Likewise.
8299 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
8300 * normal/context.c (grub_cmd_export): ... to here.
8301 * kern/env.c: Include env_private.h.
8302 (HASHSZ): Moved to include/grub/env_private.h.
8303 (grub_env_context): Likewise.
8304 (grub_env_sorted_var): Likewise.
8305 (current_context): Renamed from this ...
8306 (grub_current_context): ...to this. 'static' removed. All users updated.
8307 (grub_env_find): Removed 'static'.
8308 (grub_env_context_open): Moved to normal/context.c.
8309 (grub_env_context_close): Likewise.
8310 (grub_env_export): Likewise.
8311 (mangle_data_slot_name): Removed.
8312 (grub_env_set_data_slot): Likewise.
8313 (grub_env_get_data_slot): Likewise.
8314 (grub_env_unset_data_slot): Likewise.
8315 * kern/main.c (grub_set_root_dev): Don't export root.
8316 It will be done later.
8317 (grub_main): Don't export prefix.
8318 It will be done later.
8319 * normal/context.c: New file.
8320 * normal/main.c (free_menu): Use grub_env_unset_menu.
8321 (grub_normal_add_menu_entry): Use grub_env_get_menu.
8322 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
8323 (GRUB_MOD_INIT(normal)): Call grub_context_init.
8324 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
8325
8dd35b8c
VS
83262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 setpci support.
8329
8330 * commands/setpci.c: New file.
8331 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
8332 (setpci_mod_SOURCES): New variable.
8333 (setpci_mod_CFLAGS): Likewise.
8334 (setpci_mod_LDFLAGS): Likewise.
8335
449193d5
VS
83362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 Byte-addressable PCI configuration space.
8339
8340 * bus/pci.c (grub_pci_make_address): Use byte address instead of
8341 dword address.
8342 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
8343 GRUB_PCI_REG_CACHELINE.
8344 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
8345 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
8346 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
8347 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
8348 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
8349 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
8350 grub_pci_make_address.
8351 (lock_rom_area): Likewise.
8352 * commands/lspci.c (grub_lspci_iter): Use macroses
8353 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
8354 of grub_pci_make_address.
8355 * disk/ata.c (grub_ata_pciinit): Likewise.
8356 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
8357 (GRUB_PCI_REG_VENDOR): Likewise.
8358 (GRUB_PCI_REG_DEVICE): Likewise.
8359 (GRUB_PCI_REG_COMMAND): Likewise.
8360 (GRUB_PCI_REG_STATUS): Likewise.
8361 (GRUB_PCI_REG_REVISION): Likewise.
8362 (GRUB_PCI_REG_CLASS): Likewise.
8363 (GRUB_PCI_REG_CACHELINE): Likewise.
8364 (GRUB_PCI_REG_LAT_TIMER): Likewise.
8365 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
8366 (GRUB_PCI_REG_BIST): Likewise.
8367 (GRUB_PCI_REG_ADDRESSES): Likewise.
8368 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8369 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8370 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8371 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8372 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8373 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
8374 (GRUB_PCI_REG_CIS_POINTER): Likewise.
8375 (GRUB_PCI_REG_SUBVENDOR): Likewise.
8376 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
8377 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
8378 (GRUB_PCI_REG_CAP_POINTER): Likewise.
8379 (GRUB_PCI_REG_IRQ_LINE): Likewise.
8380 (GRUB_PCI_REG_IRQ_PIN): Likewise.
8381 (GRUB_PCI_REG_MIN_GNT): Likewise.
8382 (GRUB_PCI_REG_MAX_LAT): Likewise.
8383 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
8384 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
8385 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 8386 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
8387 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
8388 space.
8389
96d73208
RM
83902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8391
8392 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
8393 can be reliably determined to be supported.
8394
d4484482
RM
83952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8396
8397 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
8398 that VESA is supported.
8399 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
8400 supported.
8401
00308ecf
VS
84022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
8405
f66924a4
RM
84062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8407
8408 * util/misc.c (make_system_path_relative_to_its_root): Work around
8409 special-casing of "/", as previous incarnation of this routine did.
8410
cbca0ada
VS
84112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 Fix any-emu compilation.
8414
8415 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
8416 * grub_bin2h_SOURCES: New variable.
8417
34a66d99
RM
84182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8419
8420 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
8421
94fabf58
RM
84222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
8423
8424 * util/grub.d/00_header.in: Fix handling of locale_dir.
8425
02cf98ca
VS
84262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
8429 as possible unifont location (Gentoo).
8430 Reported by: Alexander Brüning
8431
327dbcd7
VS
84322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 Don't try to generate lists for kernel.img.
8435
8436 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
8437 (pkglib_MODULES): Remove kernel.img.
8438 (kernel_img_EXPORTS): Removed.
8439 (kernel_img_RELOCATABLE): New variable.
8440 * conf/x86_64-efi.rmk: Likewise.
8441 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
8442
ca467290
VS
84432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
8446 grub_xasprintf or grub_snprintf.
8447 (grub_vsprintf): Likewise.
8448 (grub_snprintf): New proto.
8449 (grub_vsnprintf): Likewise.
8450 (grub_xasprintf): Likewise.
8451 (grub_xvasprintf): Likewise.
8452 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
8453 (grub_sprintf): Removed.
8454 (grub_vsnprintf): New function.
8455 (grub_snprintf): Likewise.
8456 (grub_xvasprintf): Likewise.
8457 (grub_xasprintf): Likewise.
8458 (grub_vsprintf): Renamed to ...
8459 (grub_vsnprintf_real): ...this. New argument max_len.
8460
aca655fd
BC
84612010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
8462
8463 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
8464 fix grub-script-check warning.
8465
7ee92c32
VS
84662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * include/grub/font.h (grub_font_load): Fix prototype.
8469
f80927ca
VS
84702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
8473
119c50ea
VS
84742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * include/grub/x86_64/at_keyboard.h: New file.
8477
47d5f3c1
VS
84782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * loader/mips/linux.c: Include missing grub/i18n.h.
8481
55ff5266
RM
84822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8483
8484 * normal/menu.c (notify_execution_failure): Clarify error message.
8485
c893cc87
RM
84862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8487
8488 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
8489 return value (and revert all return statements). Update users.
8490
917dd370
CW
84912010-01-20 Dan Merillat <debian@dan.merillat.org>
8492
8493 * kern/device.c (grub_device_iterate): Allocate new part_ent
8494 structure based on sizeof (*p) rather than sizeof (p->next), to
8495 account for structure padding.
8496
8497 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
8498 disk is NULL, which might happen for LVM physical volumes with no
8499 LVM signature.
8500
d4a4ee57
RM
85012009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8502
8503 * loader/mips/linux.c (grub_cmd_initrd)
8504 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
8505
85062009-12-20 Robert Millan <rmh.grub@aybabtu.com>
8507
8508 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
8509 (grub_video_video_init, grub_video_bitmap_init)
8510 (grub_font_manager_init, grub_term_gfxterm_init)
8511 (grub_at_keyboard_init): New extern declarations.
8512 (grub_machine_init): Initialize gfxterm and at_keyboard.
8513
8514 * kern/main.c (grub_main): Revert grub_printf delay kludge.
8515
8516 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
8517 `gfxterm.mod' into core image.
8518
8519 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8520 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8521 (kernel_img_FORMAT): Copy to ...
8522
8523 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8524 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8525 (kernel_img_FORMAT): ... here, and ...
8526
8527 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
8528 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8529 (kernel_img_FORMAT): ... here.
8530
8531 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
8532 and input (at_keyboard) terminals in kernel.
8533 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
8534
8535 (pkglib_MODULES): Remove `pci.mod'.
8536 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
8537 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
8538 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8539 (at_keyboard_mod_LDFLAGS): Remove variables.
8540
85412010-01-11 Felix Zielcke <fzielcke@z-51.de>
8542
8543 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
8544
85452009-12-10 Robert Millan <rmh.grub@aybabtu.com>
8546
8547 * include/grub/mips/libgcc.h: Only export symbols for functions
8548 that libgcc provides.
8549
85502009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 MIPS support.
8553
8554 * bus/bonito.c: New file.
8555 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
8556 GRUB_PCI_NUM_DEVICES.
8557 * term/i386/pc/serial.c: Move to ...
8558 * term/serial.c: ... here. All users updated.
8559 * util/i386/pc/grub-mkimage.c: Move to ...
8560 * util/grub-mkrawimage.c: ... here. All users updated.
8561 * term/i386/pc/at_keyboard.c: Move to ...
8562 * term/at_keyboard.c: ... here. All users updated.
8563 * conf/mips-qemu-mips.rmk: New file.
8564 * conf/mips-yeeloong.rmk: Likewise.
8565 * conf/mips.rmk: Likewise.
8566 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
8567 mipsel-qemu-mips.
8568 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
8569 to port addresses.
8570 (grub_ata_pciinit): Support CS5536.
8571 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
8572 * font/font_cmd.c (loadfont_command): Open file before passing it to
8573 grub_font_load.
8574 (pseudo_file_read): New function.
8575 (pseudo_file_close): Likewise.
8576 (pseudo_fs): New structure.
8577 (load_font_module): New function.
8578 (GRUB_MOD_INIT(font_manager)): Load embedded font.
8579 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
8580 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
8581 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
8582 * include/grub/i386/at_keyboard.h: Split into ...
8583 * include/grub/at_keyboard.h: ... this ...
8584 * include/grub/i386/at_keyboard.h: ... and this.
8585 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
8586 New prototype.
8587 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
8588 updated.
8589 (grub_elf64_size): Likewise.
8590 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
8591 filename.
8592 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
8593 * include/grub/i386/coreboot/serial.h: Rewritten.
8594 * include/grub/i386/ieee1275/serial.h: Include
8595 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
8596 * include/grub/i386/pc/serial.h: Moved from here ...
8597 * include/grub/serial.h: ... to here. All users updated.
8598 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
8599 (GRUB_PCI_NUM_BUS): Likewise.
8600 (GRUB_PCI_NUM_DEVICES): Likewise.
8601 (grub_pci_device_map_range): Add missing volatile keyword.
8602 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
8603 * include/grub/mips/at_keyboard.h: New file.
8604 * include/grub/mips/cache.h: Likewise.
8605 * include/grub/mips/io.h: Likewise.
8606 * include/grub/mips/kernel.h: Likewise.
8607 * include/grub/mips/libgcc.h: Likewise.
8608 * include/grub/mips/pci.h: Likewise.
8609 * include/grub/mips/qemu-mips/boot.h: Likewise.
8610 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8611 * include/grub/mips/qemu-mips/loader.h: Likewise.
8612 * include/grub/mips/qemu-mips/memory.h: Likewise.
8613 * include/grub/mips/qemu-mips/serial.h: Likewise.
8614 * include/grub/mips/qemu-mips/time.h: Likewise.
8615 * include/grub/mips/relocator.h: Likewise.
8616 * include/grub/mips/time.h: Likewise.
8617 * include/grub/mips/types.h: Likewise.
8618 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
8619 * include/grub/mips/yeeloong/boot.h: Likewise.
8620 * include/grub/mips/yeeloong/kernel.h: Likewise.
8621 * include/grub/mips/yeeloong/loader.h: Likewise.
8622 * include/grub/mips/yeeloong/memory.h: Likewise.
8623 * include/grub/mips/yeeloong/pci.h: Likewise.
8624 * include/grub/mips/yeeloong/serial.h: Likewise.
8625 * include/grub/mips/yeeloong/time.h: Likewise.
8626 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
8627 * kern/elf.c (grub_elf32_size): New parameter. All users
8628 updated.
8629 (grub_elf64_size): Likewise.
8630 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
8631 Load modules before saying "Welcome to GRUB!".
8632 Call grub_refresh after saying "Welcome to GRUB!".
8633 * kern/mips/cache.S: New file.
8634 * kern/mips/cache_flush.S: Likewise.
8635 * kern/mips/dl.c: Likewise.
8636 * kern/mips/init.c: Likewise.
8637 * kern/mips/qemu-mips/init.c: Likewise.
8638 * kern/mips/startup.S: Likewise.
8639 * kern/mips/yeeloong/init.c: Likewise.
8640 * kern/term.c (grub_putcode): Handle NULL terminal.
8641 (grub_getcharwidth): Likewise.
8642 (grub_getkey): Likewise.
8643 (grub_checkkey): Likewise.
8644 (grub_getkeystatus): Likewise.
8645 (grub_getxy): Likewise.
8646 (grub_getwh): Likewise.
8647 (grub_gotoxy): Likewise.
8648 (grub_cls): Likewise.
8649 (grub_setcolorstate): Likewise.
8650 (grub_setcolor): Likewise.
8651 (grub_getcolor): Likewise.
8652 (grub_refresh): Likewise.
8653 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
8654 (write_jump): Add hatch nop.
8655 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
8656 * lib/mips/setjmp.S: New file.
8657 * loader/mips/linux.c: Likewise.
8658 * term/i386/pc/at_keyboard.c: Move from here ...
8659 * term/at_keyboard.c: ... to here.
8660 * term/i386/pc/serial.c: Moved from here ...
8661 * term/serial.c: ... to here. All users updated.
8662 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
8663 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
8664 (serial_translate_key_sequence): Avoid deadlock.
8665 (grub_serial_getkey): Handle backspace.
8666 (grub_serial_putchar): Fix newline handling.
8667 * util/i386/pc/grub-mkimage.c: Move from here ...
8668 * util/grub-mkrawimage.c: ... to here. All users updated.
8669 (generate_image): New parameters 'font_path' and 'format'.
8670 Support embedding font.
8671 Use grub_host_to_target* instead of grub_cpu_to_le*.
8672 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
8673 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
8674 (options): New option "--font".
8675 (usage): Likewise.
8676 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
8677 (main): Handle "--font".
8678 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
8679 (grub_virtual_screen_setup): Set bg_color_display.
8680 (redraw_screen_rect): Use bg_color_display instead of incorrect
8681 bg_color.
8682 (grub_gfxterm_cls): Likewise.
8683 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
8684 Support embedding config file.
8685 (add_segments): Likewise.
8686 (options): New option "--config".
8687 (main): Handle "--config".
8688 * video/sm712.c: New file.
8689
25c2b5b3
RM
86902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8691
8692 Fix parallel builds.
8693
8694 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
8695 font.c depend on ascii.h).
8696
86972010-01-12 Carles Pina i Estany <carles@pina.cat>
8698
8699 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
8700
87012010-01-11 Carles Pina i Estany <carles@pina.cat>
8702
8703 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
8704 By default: disabled.
8705 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
8706 parameter.
8707
87082010-01-10 Carles Pina i Estany <carles@pina.cat>
8709
8710 * font/font.c: Update copyright years.
8711 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
8712
87132010-01-10 Carles Pina i Estany <carles@pina.cat>
8714
8715 * font/font.c: Include `ascii.h'.
8716 (ASCII_BITMAP_SIZE): New macro.
8717 (ascii_font_glyph): Define.
8718 (ascii_glyph_lookup): New function.
8719 (grub_font_get_string_width): Change comment. If glyph not found, use
8720 ascii_glyph_lookup.
8721 (grub_font_get_glyph_with_fallback): If glyph not available returns
8722 ascii_glyph_lookup.
8723 * util/grub-mkfont.c (file_formats): New enum.
8724 (options): Add `ascii-bitmaps' new option.
8725 (usage): Add `asii-bitmaps' new option.
8726 (write_font_ascii_bitmap): New function.
8727 (write_font): Rename to ...
8728 (write_font_p2): ... this. Remove print_glyphs call.
8729 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
8730 used. Call print_glyphs.
8731 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
8732
87332010-01-14 Robert Millan <rmh.grub@aybabtu.com>
8734
8735 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
8736 (grub_bin2h_SOURCES): New variable.
8737 * util/bin2h.c: New file.
8738
915fc1b8
VS
87392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * include/multiboot.h: Resynced with spec.
8742 * include/multiboot2.h: Likewise.
8743 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
8744 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
8745
9444b678
RM
87462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8747
8748 * include/grub/term.h (grub_term_register_input,
8749 grub_term_register_output): Check return of terminal init()
8750 routines, and abort if errors are raised.
8751
8752 * commands/terminal.c: Update copyright year.
8753
cba98e8d
RM
87542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8755
8756 * commands/terminal.c (grub_cmd_terminal_input)
8757 (grub_cmd_terminal_output): Check return of terminal init()
8758 routines, and abort if errors are raised.
8759
6f7db5d6
VS
87602010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * include/grub/i386/bsd.h: Fix include pathes.
8763
262bff8d
VS
87642010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 Add missing *BSD copyright headers.
8767
8768 * include/grub/aout.h: Add BSD licence.
8769 * include/grub/i386/bsd.h: Parts under different licences moved to ...
8770 * include/grub/i386/freebsd_linker.h: ... here,
8771 * include/grub/i386/freebsd_reboot.h: ... here,
8772 * include/grub/i386/netbsd_bootinfo.h: ... here,
8773 * include/grub/i386/netbsd_reboot.h: ... here,
8774 * include/grub/i386/openbsd_bootarg.h: ... here,
8775 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
8776 licence to each file.
8777
b2cab848
RM
87782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8779
8780 * acinclude.m4: Remove `nop' assembly instruction; it's not
8781 implemented by all architectures.
8782
2cb6be4b
RM
87832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8784
8785 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
8786 ELILO. This is no longer necessary.
8787
a2eaee15
BC
87882010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
8789
8790 Added new tool, grub-scrit-check to verify grub.cfg syntax.
8791
8792 * util/grub-script-check.c: grub-script-check tool.
8793 * conf/common.rmk: Make rules for grub-script-check.
8794
88d17012
RM
87952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8796
8797 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
8798 spotting it back in 2008. Shame on me for forgetting he did.
8799
8800 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
8801
8040619d
RM
88022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
8803
8804 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
8805 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
8806 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
8807 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
8808 (GRUB_VIDEO_TYPE_EFI): Rename to ...
8809 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
8810
a0c2a0f6
RM
88112010-01-17 Robert Millan <rmh.grub@aybabtu.com>
8812
8813 * include/grub/test.h: Add license header.
8814 * tests/example_functional_test.c: Likewise.
8815 * tests/example_unit_test.c: Likewise.
8816 * tests/lib/functional_test.c: Likewise.
8817 * tests/lib/test.c: Likewise.
8818 * tests/lib/unit_test.c: Likewise.
8819
b0b13907
VS
88202010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 Use flag-based instead of hook-based video mode selection and "auto"
8823 keyword.
8824
8825 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
8826 (grub_video_set_mode): Changed prototype. All users updated.
8827 (grub_video_check_mode_flag): New inline function.
8828 * video/video.c (parse_modespec): New function.
8829 (grub_video_set_mode): Parse flags and keywords.
8830
ea379330 88312010-01-17 Carles Pina i Estany <carles@pina.cat>
8832
8833 * util/misc.c (grub_util_info): Fix the order of the parameters in a
8834 fprintf call.
8835
e15c215e
FZ
88362010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
8837
8838 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
8839
409ae1c9 88402010-01-16 Carles Pina i Estany <carles@pina.cat>
8841
8842 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
8843 string.
8844 * util/grub-emu.c (usage): Likewise.
8845 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
8846 * util/i386/efi/grub-mkimage.c (usage): Likewise.
8847 * util/i386/pc/grub-mkimage.c (usage): Likewise.
8848 * util/i386/pc/grub-setup.c (usage): Likewise.
8849
70a14d3d 88502010-01-16 Carles Pina i Estany <carles@pina.cat>
8851
8852 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
8853 the message.
8854 (grub_util_info): Likewise.
8855 (grub_util_error): Likewise.
8856 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
8857 and/or new lines in `grub_util_warna', `grub_util_info',
8858 `grub_util_error' calls.
8859 * util/getroot.c: Likewise.
8860 * util/grub-editenv.c: Likewise.
8861 * util/grub-emu.c: Likewise.
8862 * util/grub-fstest.c: Likewise.
8863 * util/grub-mkdevicemap.c: Likewise.
8864 * util/grub-mkfont.c: Likewise.
8865 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8866 * util/grub-mkrelpath.c: Likewise.
8867 * util/grub-pe2elf.c: Likewise.
8868 * util/grub-probe.c: Likewise.
8869 * util/hostdisk.c: Likewise.
8870 * util/i386/efi/grub-mkimage.c: Likewise.
8871 * util/i386/pc/grub-mkimage.c: Likewise.
8872 * util/i386/pc/grub-setup.c: Likewise.
8873 * util/ieee1275/ofpath.c: Likewise.
8874 * util/mkisofs/eltorito.c: Likewise.
8875 * util/mkisofs/rock.c: Likewise.
8876 * util/mkisofs/write.c: Likewise.
8877 * util/raid.c: Likewise.
8878 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
8879 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8880
a0b766fc
VS
88812010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 Enable multiboot on non-pc.
8884
8885 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
8886 multiboot.mod and multiboot2.mod to ...
8887 * conf/i386.rmk (pkglib_MODULES): ... here.
8888 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
8889 Moved to ...
8890 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
8891 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
8892 Moved to ...
8893 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
8894 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
8895 Moved to ...
8896 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
8897 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
8898 Moved to ...
8899 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
8900 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
8901 relocator.mod.
8902 (ata_mod_SOURCES): Removed.
8903 (ata_mod_CFLAGS): Likewise.
8904 (ata_mod_LDFLAGS): Likewise.
8905 (relocator_mod_SOURCES): Removed.
8906 (relocator_mod_CFLAGS): Likewise.
8907 (relocator_mod_ASFLAGS): Likewise.
8908 (relocator_mod_LDFLAGS): Likewise.
8909 Include i386.mk.
8910 * include/grub/x86_64/multiboot.h: New file.
8911 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
8912 Terminate EFI.
8913
884ade56
VS
89142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 Video multiboot support.
8917
8918 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
8919 New prototype.
8920 * include/multiboot.h: Resynced with multiboot specification.
8921 * include/multiboot2.h: Likewise.
8922 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
8923 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
8924 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
8925 (HAS_VGA_TEXT): Likewise.
8926 (accepts_video): New variable.
8927 (grub_multiboot_set_accepts_video): New function.
8928 (grub_multiboot_get_mbi_size): Account for video structures.
8929 (set_video_mode): New function.
8930 (retrieve_video_parameters): Likewise.
8931 (grub_multiboot_make_mbi): Fill video fields.
8932
0d90e8a6
VS
89332010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 Video driver ids.
8936
8937 * include/grub/video.h (grub_video_driver_id): New type.
8938 (grub_video_adapter): New member 'id'. All users updated.
8939 (grub_video_get_driver_id): New proto.
8940 * video/video.c (grub_video_get_driver_id): New function.
8941
5c71db1b 89422010-01-14 Carles Pina i Estany <carles@pina.cat>
8943
8944 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
8945 `var=val'.
8946
cca15b52 89472010-01-14 Carles Pina i Estany <carles@pina.cat>
8948
8949 * normal/cmdline.c (print_completion): Gettextizze.
8950
c586fbb2 89512001-01-14 Carles Pina i Estany <carles@pina.cat>
8952
8953 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
8954
ba2f6848 89552010-01-14 Carles Pina i Estany <carles@pina.cat>
8956
8957 * gettext/gettext.c (grub_gettext_translate): Push and pop
8958 grub_errno.
8959 (grub_gettext_delete_list): Change comment style.
8960 * kern/err.c (grub_error): Gettextizze.
8961 (grub_fatal): Gettextizze.
8962
0a46429a
RM
89632010-01-14 Robert Millan <rmh.grub@aybabtu.com>
8964
8965 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
8966 (grub_linux16_real_boot): ... this.
8967 * kern/i386/loader.S: Likewise.
8968 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
8969 (grub_linux16_boot): New function. Switches to text mode and calls
8970 grub_linux16_real_boot().
8971
8972 * loader/i386/bsd.c: Include `<grub/video.h>'.
8973 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
8974 text mode before calling grub_unix_real_boot().
8975
8976 * loader/i386/multiboot.c: Include `<grub/video.h>'.
8977 (grub_multiboot_boot): Switch to text mode before calling
8978 grub_relocator32_boot().
8979
8980 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
8981 (grub_chainloader_boot): Switch to text mode before calling
8982 grub_chainloader_real_boot().
8983
d6f93a66
RM
89842010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
89852010-01-05 Colin Watson <cjwatson@ubuntu.com>
8986
8987 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
8988 non-empty value.
8989
89902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
89912010-01-05 Colin Watson <cjwatson@ubuntu.com>
8992
8993 * util/grub.d/00_header.in: Define a "savedefault" function for use
8994 in menu entries.
8995 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
8996
89972010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
89982010-01-05 Colin Watson <cjwatson@ubuntu.com>
8999
9000 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9001 saved_entry if boot_once is unset.
9002 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9003 previous saved entry (i.e. grub-reboot).
9004
90052009-12-08 Colin Watson <cjwatson@ubuntu.com>
9006
9007 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9008
90092009-12-08 Colin Watson <cjwatson@ubuntu.com>
9010
9011 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9012 `var=val'.
9013 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9014
90152009-12-08 Colin Watson <cjwatson@ubuntu.com>
9016
9017 * util/grub-reboot.in: Fix --version output.
9018 * util/grub-set-default.in: Likewise.
9019
90202009-12-08 Colin Watson <cjwatson@ubuntu.com>
9021
9022 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9023 blocks.
9024
90252009-12-08 Colin Watson <cjwatson@ubuntu.com>
9026
9027 * util/grub.d/00_header.in: Quote the value assigned to `default',
9028 in case it contains spaces.
9029
90302009-12-08 Colin Watson <cjwatson@ubuntu.com>
9031
9032 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9033 `save_default_entry' call from the macosx case to the linux case.
9034
90352009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
90362009-10-25 Colin Watson <cjwatson@ubuntu.com>
9037
9038 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9039 in `chosen' environment variable.
9040 * normal/menu_text.c (get_entry_number): Check if the variable
9041 matches the title of a menu entry.
9042 (run_menu): Pass menu to get_entry_number.
9043
9044 * util/grub-reboot.in: New file.
9045 * util/grub-set-default.in: New file.
9046 * conf/common.rmk (grub-reboot): New utility.
9047 (grub-set-default): New utility.
9048
9049 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9050 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9051 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9052 move it to `saved_entry' for the next boot. Load environment on
9053 initialisation.
9054 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9055 * util/grub.d/10_hurd.in: Likewise.
9056 * util/grub.d/10_linux.in (linux_entry): Likewise.
9057 * util/grub.d/10_windows.in: Likewise.
9058 * util/grub.d/30_os-prober.in: Likewise.
9059
9060 * util/grub-install.in: Create environment block.
9061 * util/i386/efi/grub-install.in: Likewise.
9062 * util/ieee1275/grub-install.in: Likewise.
9063 * util/sparc64/ieee1275/grub-install.in: Likewise.
9064
0934d184
BC
90652010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9066
9067 Unit testing framework for GRUB.
9068
9069 * Makefile.in: Test framework build rules for 'make check'.
9070 * conf/tests.rmk: Build rules for individual tests and framework.
9071
9072 * include/grub/test.h: Header file for whitebox tests.
9073 * tests/lib/functional_test.c: Framework support for whitebox
9074 functional tests.
9075 * tests/lib/test.c: Common whitebox testing code for unit and
9076 functional tests.
9077 * tests/lib/unit_test.c: Framework support for whitebox unit
9078 tests.
9079
9080 * tests/util/grub-shell-tester.in: Support utility for grub-script
9081 tests.
9082 * tests/util/grub-shell.in: Utility to execute grub-script
9083 commands in a Qemu instance.
9084
9085 * tests/example_functional_test.c: Example whitebox functional
9086 test.
9087 * tests/example_grub_script_test.in: Example grub-script test.
9088 * tests/example_scripted_test.in: Example scripted test.
9089 * tests/example_unit_test.c: Example whitebox unit test.
9090
9c4ffeeb
VS
90912010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9094 Add loader/i386/multiboot_mbi.c.
9095 (multiboot2_mod_SOURCES): Likewise.
9096 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9097 (multiboot2_mod_SOURCES): Likewise.
9098 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9099 (grub_multiboot_make_mbi): Likewise.
9100 (grub_multiboot_free_mbi): Likewise.
9101 (grub_multiboot_init_mbi): Likewise.
9102 (grub_multiboot_add_module): Likewise.
9103 (grub_multiboot_set_bootdev): Likewise.
9104 * loader/i386/multiboot.c (mbi): Removed.
9105 (mbi_dest): Likewise.
9106 (alloc_mbi): New variable.
9107 (grub_multiboot_payload_size): Removed. All users updated.
9108 (grub_multiboot_pure_size): New variable.
9109 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9110 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9111 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9112 (grub_fill_multiboot_mmap): Likewise.
9113 (grub_multiboot_get_bootdev): Likewise.
9114 (grub_multiboot): Use multiboot_mbi functions.
9115 * loader/i386/multiboot_mbi.c: New file.
9116
17383dfe
VS
91172010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9120 it would result in module crash.
9121
c1f28820
VS
91222010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9125 (grub_ofconsole_getwh): Split to ...
9126 (grub_ofconsole_getwh): ... this.
9127 (grub_ofconsole_dimensions): ...and this.
9128 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9129
58655a16
RM
91302010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9131
9132 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9133
10891398
VS
91342010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * loader/i386/pc/multiboot2.c: Removed stalled file.
9137
0b8a223c
VS
91382010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9141 Reported by: Grégoire Sutre
9142
92ab12b0
RM
91432010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9144
9145 * util/misc.c (canonicalize_file_name): New function.
9146 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9147 instead of realpath().
9148
a788afb6
CW
91492010-01-11 Colin Watson <cjwatson@ubuntu.com>
9150
9151 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9152 and make it clearer that it's optional. Based on confusion
9153 witnessed on IRC.
9154
ffa8e3d2
VS
91552010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9158 in premature implicit newline.
9159
e9060a9d
VS
91602010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9163 which resulted in garbled command line at the end of screen.
9164
f0d0c0b7
RM
91652010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9166
9167 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9168 initialization with similar approach as with other Linux loaders.
9169
0e60bae7
RM
91702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9171
9172 Fix i386-ieee1275 build.
9173
9174 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9175 and grub_term_height() for video_{width,height} initialization.
9176
91772010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9178
9179 Fix grub-emu build.
9180
9181 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9182
cdb3f378
RM
91832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
91842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9185
9186 Support for multiple terminals.
9187
9188 * Makefile.in (pkglib_DATA): terminal.lst.
9189 (terminal.lst): New target.
9190 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9191 (GRUB_MOD_INIT(handler)): Likewise.
9192 (GRUB_MOD_FINI(handler)): Likewise.
9193 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9194 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9195 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9196 (grub_cmd_sleep): Use grub_term_save_pos.
9197 * commands/terminal.c: New file.
9198 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9199 commands/terminal.c and lib/charset.c.
9200 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9201 (pkglib_MODULES): Add terminal.mod.
9202 (terminal_mod_SOURCES): New variable.
9203 (terminal_mod_CFLAGS): Likewise.
9204 (terminal_mod_LDFLAGS): Likewise.
9205 * genhandlerlist.sh: Don't handle terminals.
9206 * genmk.rb: Generate terminal-*.lst.
9207 * genterminallist.sh: New file.
9208 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9209 (grub_is_valid_utf8): Likewise.
9210 (grub_utf8_to_ucs4_alloc): Likewise.
9211 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
9212 (grub_menu_register_viewer): Changed argument.
9213 (grub_menu_try_text): New proto.
9214 (grub_gfxmenu_try_hook): New declaration.
9215 * include/grub/normal.h (grub_normal_exit_level): New declaration.
9216 (grub_menu_init_page): Additional argument term.
9217 (grub_normal_init_page): Likewise.
9218 (grub_cmdline_get): Arguments simplified.
9219 (grub_utf8_to_ucs4_alloc): Removed.
9220 (grub_print_ucs4): Additional argument term.
9221 (grub_getstringwidth): Likewise.
9222 (grub_print_message_indented): Likewise.
9223 (grub_menu_text_register_instances): New proto.
9224 (grub_show_menu): Likewise.
9225 (read_terminal_list): Likewise.
9226 (grub_set_more): Likewise.
9227 * include/grub/parser.h: Include handler.h.
9228 * include/grub/reader.h: Rewritten.
9229 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
9230 (GRUB_TERM_WIDTH): Changed to function.
9231 (GRUB_TERM_HEIGHT): Likewise.
9232 (GRUB_TERM_BORDER_WIDTH): Likewise.
9233 (GRUB_TERM_BORDER_HEIGHT): Likewise.
9234 (GRUB_TERM_NUM_ENTRIES): Likewise.
9235 (GRUB_TERM_ENTRY_WIDTH): Likewise.
9236 (GRUB_TERM_CURSOR_X): Likewise.
9237 (grub_term_input_class): Likewise.
9238 (grub_term_output_class): Likewise.
9239 (grub_term_outputs_disabled): New declaration.
9240 (grub_term_inputs_disabled): Likewise.
9241 (grub_term_outputs): Likewise.
9242 (grub_term_inputs): Likewise.
9243 (grub_term_register_input): Rewritten.
9244 (grub_term_register_output): Likewise.
9245 (grub_term_unregister_input): Likewise.
9246 (grub_term_unregister_output): Likewise.
9247 (FOR_ACTIVE_TERM_INPUTS): New macro.
9248 (FOR_DISABLED_TERM_INPUTS): Likewise.
9249 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9250 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9251 * include/grub/terminfo.h: Add oterm argument to all protypes.
9252 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
9253 Use grub_rescue_run.
9254 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
9255 All users updated.
9256 * kern/reader.c: Removed. All users updated.
9257 * kern/rescue_reader.c (grub_rescue_init): Removed.
9258 (grub_rescue_reader): Likewise.
9259 (grub_register_rescue_reader): Likewise.
9260 (grub_rescue_run): New function based on kern/reader.c.
9261 * kern/term.c: Adapted for multiterm.
9262 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
9263 (grub_is_valid_utf8): Likewise.
9264 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
9265 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
9266 right terminal.
9267 * loader/i386/linux.c (grub_linux_boot): Likewise.
9268 * normal/auth.c (grub_username_get): New function.
9269 (grub_auth_check_authentication): Use grub_username_get.
9270 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
9271 * normal/color.c: Adapt for multiterm.
9272 * normal/main.c (read_config_file): Don't use grub_reader_loop.
9273 (grub_normal_init_page): Additional argument term.
9274 (read_lists): Call read_terminal_lists.
9275 (grub_enter_normal_mode): Call grub_cmdline_run.
9276 Handle grub_normal_exit_level.
9277 (grub_cmd_normal): Make reentrant.
9278 (grub_cmd_normal_exit): New function.
9279 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
9280 * normal/menu.c: Adapt for multiterm.
9281 * normal/menu_entry.c: Likewise.
9282 * normal/menu_text.c: Likewise.
9283 * normal/menu_viewer.c: Removed. All users updated.
9284 * normal/term.c: New file.
9285 * util/console.c: Change order of includes to workaround a bug in
9286 ncurses headers.
9287 * term/terminfo.c: New argument oterm on all exported functions.
9288 All users updated.
9289 * util/grub-editenv.c (grub_term_input_class): Removed.
9290 (grub_term_output_class): Likewise.
9291
1a064917
RM
92922010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9293
9294 Make loader output a bit more user-friendly.
9295
9296 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
9297 is being loaded. Likewise for the Hurd.
9298
9299 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
9300 that kernel of FreeBSD ${version} is being loaded.
9301
9302 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
9303 grub_dprintf().
9304 (grub_cmd_initrd): Likewise.
9305 * util/grub.d/10_linux.in (linux_entry): Print message indicating
9306 that Linux ${version} is being loaded. Likewise for initrd.
9307
5ce0a83a 93082010-01-09 Carles Pina i Estany <carles@pina.cat>
9309
9310 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
9311
809bbfeb 93122010-01-08 Carles Pina i Estany <carles@pina.cat>
9313
9314 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
9315 (GRUB_MOD_INIT): Gettextizze.
9316 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
9317 (GRUB_MOD_INIT): Gettextizze.
9318 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
9319 (grub_cmd_linux): Capitalise Linux.
9320 (GRUB_MOD_INIT): Gettextizze.
9321 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
9322 (grub_cmd_linux): Capitalise Linux.
9323 (GRUB_MOD_INIT): Gettextizze.
9324 * loader/i386/linux.c: Include `<grub/i18n.h>'.
9325 (grub_cmd_linux): Capitalise Linux.
9326 (GRUB_MOD_INIT): Gettextizze.
9327 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
9328 (GRUB_MOD_INIT): Gettextizze.
9329 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
9330 (grub_cmd_linux): Capitalise Linux.
9331 (GRUB_MOD_INIT): Gettextizze.
9332 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
9333 (grub_cpu_xnu_init): Gettextizze.
9334 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
9335 (GRUB_MOD_INIT): Gettextizze.
9336 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
9337 (GRUB_MOD_INIT): Gettextizze.
9338 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
9339 (grub_linux_load64): Capitalise Linux.
9340 (GRUB_MOD_INIT): Gettextizze.
9341 * loader/xnu.c: Include `<grub/i18n.h>'.
9342 (GRUB_MOD_INIT): Gettextizze.
9343 * po/POTFILES: Add `loader/efi/appleloader.c',
9344 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
9345 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
9346 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
9347 `loader/i386/xnu.c', `loader/multiboot_loader.c',
9348 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
9349 and `loader/xnu.c'.
9350
b394b2ca
RM
93512010-01-08 Robert Millan <rmh.grub@aybabtu.com>
9352
9353 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
9354
93552010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
9356
9357 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
9358 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
9359 * util/mkisofs/mkisofs.c (main): Readjust --version output.
9360
bc8b32b3
RM
93612010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9362
9363 Reset Multiboot 2 support. New loader implements the draft in
9364 /branches/multiboot2 and shares as much code as possible with the
9365 production Multiboot 1 implementation.
9366
9367 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
9368 * loader/multiboot2.c: Likewise.
9369 * loader/i386/multiboot_helper.S: Likewise.
9370 * include/multiboot2.h: Replace with latest version from the draft
9371 in /branches/multiboot2.
9372
9373 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
9374 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
9375 and `loader/multiboot2.c'.
9376 (pkglib_MODULES): Add `multiboot2.mod'.
9377 (multiboot2_mod_SOURCES): New variable.
9378 (multiboot2_mod_LDFLAGS): Likewise.
9379 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
9380
9381 * conf/i386-pc.rmk: Likewise.
9382
9383 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9384 (multiboot_mod_SOURCES): Remove variable.
9385 (multiboot_mod_LDFLAGS): Likewise.
9386 (multiboot_mod_CFLAGS): Likewise.
9387
9388 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
9389 `<multiboot2.h>' instead of `<multiboot.h>'.
9390 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
9391 (MULTIBOOT_HEADER_MAGIC): New macros.
9392
9393 * loader/multiboot_loader.c (module_version_status): Remove variable.
9394 (find_multi_boot2_header): Remove function.
9395 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
9396 logic. Always check for the Multiboot version we're compiling for.
9397 (grub_cmd_module_loader): Likewise.
9398 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
9399 command instead of `multiboot'.
9400
5d2c52b8
RM
94012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9402
9403 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
9404 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
9405 all users.
9406
53108d92
RM
94072010-01-07 Robert Millan <rmh.grub@aybabtu.com>
94082010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 Fix breakage introduced with previous commit.
9411
9412 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
9413 commands.
9414 * normal/handler.c (read_handler_list): Revert part of previous commit
9415 affecting this file.
9416 * normal/main.c (read_lists): Move read_handler_list() call back to ...
9417 (grub_normal_execute): ... here.
9418
e2e936b2
RM
94192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
9420
9421 Merge prefix-redefinition-fix branch.
9422
9423 * normal/autofs.c (read_fs_list): Make function capable of being
9424 run multiple times, gracefuly replacing the previous data
9425 structures.
9426 * normal/dyncmd.c (read_command_list): Likewise.
9427 * normal/handler.c (read_handler_list): Likewise.
9428 * normal/main.c (read_lists): New function. Calls all the
9429 list reading functions.
9430 (grub_normal_execute): Use read_lists() instead of calling all
9431 list reading functions explicitly. Register read_lists() as a
9432 variable hook attached to ${prefix}.
9433
607a3701
VS
94342010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 Merge crypto branch.
9437
9438 * Makefile.in (pkglib_DATA): Add crypto.lst.
9439 (crypto.lst): New target.
9440 * commands/hashsum.c: New file.
9441 * commands/password.c (check_password): Use grub_crypto_memcmp.
9442 * commands/password_pbkdf2.c: New file.
9443 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
9444 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
9445 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
9446 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
9447 -I$(srcdir)/lib/libgcrypt_wrap.
9448 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
9449 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
9450 password_pbkdf2.mod.
9451 (crypto_mod_SOURCES): New variable.
9452 (crypto_mod_CFLAGS): Likewise.
9453 (crypto_mod_LDFLAGS): Likewise.
9454 (hashsum_mod_SOURCES): New variable.
9455 (hashsum_mod_CFLAGS): Likewise.
9456 (hashsum_mod_LDFLAGS): Likewise.
9457 (pbkdf2_mod_SOURCES): New variable.
9458 (pbkdf2_mod_CFLAGS): Likewise.
9459 (pbkdf2_mod_LDFLAGS): Likewise.
9460 (password_pbkdf2_mod_SOURCES): New variable.
9461 (password_pbkdf2_mod_CFLAGS): Likewise.
9462 (password_pbkdf2_mod_LDFLAGS): Likewise.
9463 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
9464 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
9465 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
9466 Include conf/gcry.rmk.
9467 * include/grub/auth.h: Rewritten.
9468 * include/grub/crypto.h: New file.
9469 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
9470 * include/grub/normal.h (read_crypto_list): New prototype.
9471 * lib/crypto.c: New file.
9472 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9473 * lib/pbkdf2.c: Likewise.
9474 * normal/auth.c (grub_auth_strcmp): Removed.
9475 (grub_iswordseparator): Likewise.
9476 (grub_auth_strword): Likewise.
9477 (is_authenticated): Use grub_strword.
9478 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
9479 and grub_strword. Pass entered password to authentication callback.
9480 * normal/crypto.c: New file.
9481 * normal/main.c: Call read_crypto_list.
9482 * util/grub-mkpasswd-pbkdf2.c: New file.
9483 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
9484
42841caa
VS
94852010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 Fix descent and ascent calculation.
9488
9489 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
9490 (options): New option "asce".
9491 (usage): Likewise.
9492 (add_char): Ignore invalid glyphs for descent calculation.
9493 Calculate ascent from actual content.
9494 (print_glyphs): Use 'asce'.
9495 (write_font): Likewise. Allow ascent override.
9496 (main): Handle "asce" option.
9497
e7730de7 94982010-01-06 Carles Pina i Estany <carles@pina.cat>
9499
9500 * kern/err.c: Include `<grub/i18n.h>'.
9501 (grub_print_error): Add full stop. Gettextizze.
9502 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
9503 (grub_bsd_load_elf): Capitalise ELF.
9504 (grub_cmd_freebsd_loadenv): Add `s' in error string.
9505 (grub_cmd_freebsd_module): Likewise.
9506 (grub_cmd_freebsd_module_elf): Likewise.
9507 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
9508
40e3a41f 95092010-01-06 Carles Pina i Estany <carles@pina.cat>
9510
9511 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
9512 * commands/search_file.c (HELP_MESSAGE): New macro.
9513 * commands/search_label.c (HELP_MESSAGE): Likewise.
9514 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
9515 * po/POTFILES: Add `commands/search_file.c',
9516 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
9517 `commands/search.c'.
9518
83507e68
RM
95192010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9520
9521 * config.rpath: Update from Gnulib.
9522
465c787b
YB
95232010-01-05 Yves Blusseau <blusseau@zetam.org>
9524
9525 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
9526
6581dd3a
YB
95272010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
9528
9529 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
9530
3bff18c5
CW
95312010-01-05 Colin Watson <cjwatson@ubuntu.com>
9532
9533 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
9534 arguments to fread so that we get a return value in bytes, rather
9535 than something that will normally be rounded down to 0.
9536 Adjust error handling to avoid producing garbage when size_t is not
9537 the same size as long long.
9538
a1368118
CW
95392010-01-05 Colin Watson <cjwatson@ubuntu.com>
9540
9541 * util/mkisofs/write.c (padblock_write): Check return value of
9542 fread.
9543
7c302978
RM
95442010-01-05 Robert Millan <rmh.grub@aybabtu.com>
9545
9546 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
9547 floppy images now.
9548
9549 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
9550
e33ace06
RM
95512010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9552
9553 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
9554 instead of manual alignment.
9555 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
9556 verbose). Avoid attempts to read past end of the device
9557 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
9558 but GRUB_DISK_CACHE_SIZE may exceed that).
9559
4b856776
RM
95602010-01-04 Robert Millan <rmh.grub@aybabtu.com>
9561
9562 * commands/crc.c (grub_cmd_crc): Abort on read errors.
9563 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
9564 it to upper layer.
9565
52c2d97f
VS
95662010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
9569 New constant.
9570 (grub_efi_piwg_device_path): New structure
9571 (grub_efi_piwg_device_path_t): New type.
9572 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
9573 (devpath_1): Transform to a structure. All users updated.
9574 (devpath_2): Likewise.
9575 (devpath_3): Likewise.
9576 (devpath_4): Likewise.
9577 (devpath_5): Likewise.
9578
98ff6a54
VS
95792010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * loader/efi/appleloader.c: Restored. Update all users.
9582
3a73dcb6
RM
95832010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9584
9585 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
9586
9587 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
9588 (struct boot_blocklist): Move from here ...
9589 * include/grub/i386/pc/boot.h [ASM_FILE]
9590 (struct grub_boot_blocklist): ... to here. Update all users.
9591 (setup): Only initialize `start' member of `first_block'
9592 structure. Add assert() calls to verify the other members.
9593
9594 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
9595 (generate_image): Fix broken blocklist length initialization.
9596 Add assert() call to verify blocklist `segment' field.
9597
ab0eeb0c
RM
95982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9599
9600 * loader/efi/appleloader.c: Remove. Update all users.
9601
58bc8bd5
RM
96022010-01-03 Robert Millan <rmh.grub@aybabtu.com>
9603
9604 * boot/i386/pc/boot.S: Update copyright year.
9605 * boot/i386/pc/cdboot.S: Likewise.
9606 * boot/i386/pc/diskboot.S: Likewise.
9607 * boot/i386/pc/lnxboot.S: Likewise.
9608 * boot/i386/pc/pxeboot.S: Likewise.
9609 * bus/pci.c: Likewise.
9610 * commands/cmp.c: Likewise.
9611 * commands/help.c: Likewise.
9612 * commands/hexdump.c: Likewise.
9613 * commands/i386/pc/halt.c: Likewise.
9614 * commands/i386/pc/play.c: Likewise.
9615 * commands/i386/pc/vbeinfo.c: Likewise.
9616 * commands/ls.c: Likewise.
9617 * commands/test.c: Likewise.
9618 * disk/dmraid_nvidia.c: Likewise.
9619 * disk/i386/pc/biosdisk.c: Likewise.
9620 * disk/ieee1275/nand.c: Likewise.
9621 * disk/ieee1275/ofdisk.c: Likewise.
9622 * disk/lvm.c: Likewise.
9623 * disk/raid.c: Likewise.
9624 * disk/raid6_recover.c: Likewise.
9625 * disk/scsi.c: Likewise.
9626 * fs/affs.c: Likewise.
9627 * fs/cpio.c: Likewise.
9628 * fs/ext2.c: Likewise.
9629 * fs/hfs.c: Likewise.
9630 * fs/iso9660.c: Likewise.
9631 * fs/ntfs.c: Likewise.
9632 * fs/sfs.c: Likewise.
9633 * fs/udf.c: Likewise.
9634 * fs/ufs.c: Likewise.
9635 * fs/xfs.c: Likewise.
9636 * gencmdlist.sh: Likewise.
9637 * genmk.rb: Likewise.
9638 * include/grub/disk.h: Likewise.
9639 * include/grub/efi/api.h: Likewise.
9640 * include/grub/efi/efi.h: Likewise.
9641 * include/grub/efi/pe32.h: Likewise.
9642 * include/grub/elf.h: Likewise.
9643 * include/grub/fs.h: Likewise.
9644 * include/grub/i386/at_keyboard.h: Likewise.
9645 * include/grub/i386/pc/memory.h: Likewise.
9646 * include/grub/i386/pc/vbe.h: Likewise.
9647 * include/grub/i386/pci.h: Likewise.
9648 * include/grub/i386/tsc.h: Likewise.
9649 * include/grub/ieee1275/ieee1275.h: Likewise.
9650 * include/grub/ntfs.h: Likewise.
9651 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
9652 * include/grub/sparc64/libgcc.h: Likewise.
9653 * include/grub/symbol.h: Likewise.
9654 * include/grub/types.h: Likewise.
9655 * include/multiboot2.h: Likewise.
9656 * io/gzio.c: Likewise.
9657 * kern/device.c: Likewise.
9658 * kern/disk.c: Likewise.
9659 * kern/efi/efi.c: Likewise.
9660 * kern/efi/mm.c: Likewise.
9661 * kern/elf.c: Likewise.
9662 * kern/file.c: Likewise.
9663 * kern/i386/dl.c: Likewise.
9664 * kern/i386/pc/init.c: Likewise.
9665 * kern/i386/pc/startup.S: Likewise.
9666 * kern/ieee1275/ieee1275.c: Likewise.
9667 * kern/ieee1275/init.c: Likewise.
9668 * kern/main.c: Likewise.
9669 * kern/mm.c: Likewise.
9670 * kern/powerpc/dl.c: Likewise.
9671 * kern/sparc64/dl.c: Likewise.
9672 * kern/x86_64/dl.c: Likewise.
9673 * lib/hexdump.c: Likewise.
9674 * loader/efi/appleloader.c: Likewise.
9675 * loader/i386/ieee1275/linux.c: Likewise.
9676 * loader/i386/pc/chainloader.c: Likewise.
9677 * loader/i386/pc/linux.c: Likewise.
9678 * loader/i386/pc/multiboot2.c: Likewise.
9679 * loader/ieee1275/multiboot2.c: Likewise.
9680 * loader/multiboot2.c: Likewise.
9681 * loader/multiboot_loader.c: Likewise.
9682 * loader/powerpc/ieee1275/linux.c: Likewise.
9683 * normal/completion.c: Likewise.
9684 * normal/menu_entry.c: Likewise.
9685 * partmap/apple.c: Likewise.
9686 * util/grub.d/10_hurd.in: Likewise.
9687 * util/hostfs.c: Likewise.
9688 * video/readers/png.c: Likewise.
9689
e2d70b5c
CW
96902010-01-03 Colin Watson <cjwatson@ubuntu.com>
9691
9692 * include/grub/misc.h (GNUC_PREREQ): New macro.
9693 (ATTRIBUTE_ERROR): New macro.
9694 * include/grub/list.h (grub_bad_type_cast_real): Use
9695 ATTRIBUTE_ERROR.
9696
a173283f 96972010-01-03 Carles Pina i Estany <carles@pina.cat>
9698
9699 * normal/menu_text.c (print_message): Change messages.
9700
7fa7ff74 97012010-01-03 Carles Pina i Estany <carles@pina.cat>
9702
9703 * normal/menu_entry.c (store_completion): Gettextizze.
9704
136d24f6 97052010-01-03 Carles Pina i Estany <carles@pina.cat>
9706
9707 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
9708
f936862e 97092010-01-03 Carles Pina i Estany <carles@pina.cat>
9710
9711 * po/POTFILES: Sort correctly.
9712
29c44ad1 97132010-01-03 Carles Pina i Estany <carles@pina.cat>
9714
9715 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
9716 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
9717 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
9718 full stop.
9719 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
9720 summary. Gettextizze the strings.
9721 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
9722 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
9723 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
9724 full stop.
9725 (GRUB_MOD_INIT): Remove command name from summary.
9726 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
9727 summary.
9728 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
9729 * term/i386/pc/serial.c (options): Add full stops.
9730 (GRUB_MOD_INIT): Remove command name from the summary.
9731
77a79592 97322010-01-03 Carles Pina i Estany <carles@pina.cat>
9733
9734 * commands/acpi.c: Gettextizze help strings and/or options. Include
9735 `grub/i18n.h' if needed.
9736 * commands/blocklist.c: Likewise.
9737 * commands/boot.c: Likewise.
9738 * commands/cat.c: Likewise.
9739 * commands/cmp.c: Likewise.
9740 * commands/configfile.c: Likewise.
9741 * commands/crc.c: Likewise.
9742 * commands/date.c: Likewise.
9743 * commands/echo.c: Likewise.
9744 * commands/efi/fixvideo.c: Likewise.
9745 * commands/efi/loadbios.c: Likewise.
9746 * commands/gptsync.c: Likewise.
9747 * commands/halt.c: Likewise.
9748 * commands/handler.c: Likewise.
9749 * commands/hdparm.c: Likewise.
9750 * commands/hexdump.c: Likewise.
9751 * commands/i386/cpuid.c: Likewise.
9752 * commands/i386/pc/drivemap.c: Likewise.
9753 * commands/i386/pc/halt.c: Likewise.
9754 * commands/i386/pc/pxecmd.c: Likewise.
9755 * commands/i386/pc/vbeinfo.c: Likewise.
9756 * commands/i386/pc/vbetest.c: Likewise.
9757 * commands/ieee1275/suspend.c: Likewise.
9758 * commands/keystatus.c: Likewise.
9759 * commands/loadenv.c: Likewise.
9760 * commands/ls.c: Likewise.
9761 * commands/lsmmap.c: Likewise.
9762 * commands/lspci.c: Likewise.
9763 * commands/memrw.c: Likewise.
9764 * commands/minicmd.c: Likewise.
9765 * commands/parttool.c: Likewise.
9766 * commands/password.c: Likewise.
9767 * commands/probe.c: Likewise.
9768 * commands/read.c: Likewise.
9769 * commands/reboot.c: Likewise.
9770 * commands/search.c: Likewise.
9771 * commands/sleep.c: Likewise.
9772 * commands/test.c: Likewise.
9773 * commands/true.c: Likewise.
9774 * commands/usbtest.c: Likewise.
9775 * commands/videotest.c: Likewise.
9776 * commands/xnu_uuid.c: Likewise.
9777 * disk/loopback.c: Likewise.
9778 * hello/hello.c: Likewise.
9779 * loader/i386/bsd.c: Likewise.
9780 * term/i386/pc/serial.c: Likewise.
9781 * po/POTFILES: Add new files.
9782
da8d5c53
CW
97832010-01-02 Colin Watson <cjwatson@ubuntu.com>
9784
9785 * term/i386/pc/at_keyboard.c
9786 (keyboard_controller_wait_untill_ready): Rename to ...
9787 (keyboard_controller_wait_until_ready): ... this. Update all users.
9788
33937904 97892010-01-01 Carles Pina i Estany <carles@pina.cat>
9790
9791 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
9792 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
9793 string using string width.
9794 * normal/menu_text.c (grub_print_message_indented): Use
9795 grub_print_spaces and not print_spaces.
9796 (print_timeout): Likewise.
9797 (print_spaces): Move to...
9798 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
9799
3fd3b8d8
RM
98002010-01-01 Robert Millan <rmh.grub@aybabtu.com>
9801
9802 Import from Gnulib.
9803
9804 * gnulib/getdelim.c: New file.
9805 * gnulib/getline.c: Likewise.
9806
33433555
VS
98072009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
9808
9809 * include/grub/list.h (grub_assert_fail): Removed.
9810 (grub_bad_type_cast_real): New function.
9811 (grub_bad_type_cast): New macro.
9812 (GRUB_AS_LIST): Use grub_bad_type_cast.
9813 (GRUB_AS_LIST_P): Likewise.
e44721e8 9814 (GRUB_AS_NAMED_LIST): Likewise.
33433555 9815 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 9816 (GRUB_AS_PRIO_LIST): Likewise.
33433555 9817 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 9818 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 9819
f5a51306
VS
98202009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
9823 Fix syntax error.
9824
90d1e879
RM
98252009-12-29 Robert Millan <rmh.grub@aybabtu.com>
9826
9827 * configure.ac: Check for TARGET_CFLAGS initialization before we
9828 initialize it ourselves (sigh).
9829 Move a few modifications to TARGET_CFLAGS to be unconditional
9830 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
9831 eh_frame)
9832
9833 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
9834 * term/i386/pc/at_keyboard.c
9835 (keyboard_controller_wait_untill_ready): Likewise.
9836 (keyboard_controller_led): Rename `led_status' paramter to avoid
9837 name conflict.
9838
465b5a81 98392009-12-28 Carles Pina i Estany <carles@pina.cat>
9840
9841 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
9842 quotes.
9843
c181849b
VS
98442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
9847
9c8739a4
VS
98482009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * normal/menu_text.c (grub_print_message_indented): Prevent
9851 past-the-end-of-array dereference.
9852
3e74249c
VS
98532009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
9856 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
9857
64fd18ed 98582009-12-27 Carles Pina i Estany <carles@pina.cat>
9859
9860 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
9861 * normal/main.c (grub_normal_read_line): Remove a space from the
9862 default prompt.
9863
714af9b9 98642009-12-27 Carles Pina i Estany <carles@pina.cat>
9865
9866 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
9867 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9868 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
9869 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
9870 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9871 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9872 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9873
82f3e412 98742009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 9875
9876 * video/readers/jpeg.c (cmd): Declare.
9877 (grub_cmd_jpegtest): Use `grub_command_t' type.
9878 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9879 Assign to `cmd'.
9880 (GRUB_MOD_FINI): Use `cmd' to unregister.
9881 * video/readers/png.c (cmd): Declare.
9882 (grub_cmd_pngtest): Use `grub_command_t' type.
9883 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9884 Assign to `cmd'.
9885 (GRUB_MOD_FINI): Use `cmd' to unregister.
9886 * video/readers/tga.c (cmd): Declare.
9887 (grub_cmd_tgatest): Use `grub_command_t' type.
9888 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
9889 Assign to `cmd'.
9890 (GRUB_MOD_FINI): Use `cmd' to unregister.
9891
82f3e412 98922009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 9893
9894 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
9895 stops.
9896 * kern/corecmd.c (grub_register_core_commands): Likewise.
9897 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
9898 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
9899 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
9900 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9901 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
9902 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
9903 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
9904 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
9905 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9906 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
9907 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9908 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9909 * normal/handler.c (insert_handler): Likewise.
9910 * normal/main.c (GRUB_MOD_INIT): Likewise.
9911 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
9912
fdcdbb66 99132009-12-26 Carles Pina i Estany <carles@pina.cat>
9914
9915 * commands/help.c (grub_cmd_help): Print the command name before the
9916 summary.
9917 (GRUB_MOD_INIT): Remove command name from the summary.
9918 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 9919 string as summary.
fdcdbb66 9920 * lib/arg.c (find_long): Print the command name before the summary.
9921 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
9922 summary.
9923 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
9924 * commands/cat.c (GRUB_MOD_INIT): Likewise.
9925 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
9926 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
9927 * commands/crc.c (GRUB_MOD_INIT): Likewise.
9928 * commands/date.c (GRUB_MOD_INIT): Likewise.
9929 * commands/echo.c (GRUB_MOD_INIT): Likewise.
9930 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
9931 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
9932 * commands/handler.c (GRUB_MOD_INIT): Likewise.
9933 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
9934 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
9935 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
9936 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
9937 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
9938 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
9939 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
9940 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
9941 * commands/ls.c (GRUB_MOD_INIT): Likewise.
9942 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
9943 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
9944 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
9945 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
9946 * commands/password.c (GRUB_MOD_INIT): Likewise.
9947 * commands/probe.c (GRUB_MOD_INIT): Likewise.
9948 * commands/read.c (GRUB_MOD_INIT): Likewise.
9949 * commands/search.c (GRUB_MOD_INIT): Likewise.
9950 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
9951 * commands/test.c (GRUB_MOD_INIT): Likewise.
9952 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
9953 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
9954 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
9955 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
9956 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
9957 * lib/arg.c (GRUB_MOD_INIT): Likewise.
9958 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
9959 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
9960 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
9961 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9962 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
9963 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
9964 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
9965 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
9966
9c288be2
VS
99672009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 Use search command for preliminar UUID search.
9970
9971 * commands/search.c: Split into ...
9972 * commands/search_wrap.c: ...this
9973 * commands/search.c: ...and this.
9974 * commands/search_file.c: New file.
9975 * commands/search_label.c: New file.
9976 * commands/search_uuid.c: New file.
9977 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
9978 Add commands/search_wrap.c, commands/search_file.c,
9979 commands/search_label.c and commands/search_uuid.c.
9980 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
9981 (search_mod_SOURCES): Set to commands/search_wrap.c.
9982 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
9983 search_label.mod.
9984 (search_fs_file_mod_SOURCES): New variable.
9985 (search_fs_file_mod_CFLAGS): Likewise.
9986 (search_fs_file_mod_LDFLAGS): Likewise.
9987 (search_label_mod_SOURCES): Likewise.
9988 (search_label_mod_CFLAGS): Likewise.
9989 (search_label_mod_LDFLAGS): Likewise.
9990 (search_fs_uuid_mod_SOURCES): New variable.
9991 (search_fs_uuid_mod_CFLAGS): Likewise.
9992 (search_fs_uuid_mod_LDFLAGS): Likewise.
9993 (fs_file_mod_SOURCES): Removed.
9994 (fs_file_mod_CFLAGS): Likewise.
9995 (fs_file_mod_LDFLAGS): Likewise.
9996 (fs_uuid_mod_SOURCES): Removed.
9997 (fs_uuid_mod_CFLAGS): Likewise.
9998 (fs_uuid_mod_LDFLAGS): Likewise.
9999 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10000 Set to util/grub-install.in.
10001 * disk/fs_file.c: Removed.
10002 * disk/fs_uuid.c: Likewise.
10003 * include/grub/search.h: New file.
10004 * util/grub-install.in: Handle sparc64.
10005 Create and use load.cfg.
10006 * util/sparc64/ieee1275/grub-install.in: Removed.
10007
db943399
VS
100082009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10011 Ignore return status if CF is cleared.
10012 (grub_biosdisk_get_diskinfo_standard): Likewise.
10013
3fdae612
RM
100142009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10015
10016 * term/i386/pc/at_keyboard.c
10017 (keyboard_controller_wait_untill_ready): New function.
10018 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10019 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10020 for keyboard polling, rather than duplicate the same loop. This
10021 saves a few bytes in code size.
10022
7ebaa2b4
VS
100232009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 Support for (pxe[:server[:gateway]]) syntax and
10026 use environment variable for PXE.
10027
10028 * commands/i386/pc/pxecmd.c (options): Removed.
10029 (print_ip): Removed.
10030 (grub_cmd_pxe): Removed
10031 (grub_cmd_pxe_unload): New function.
10032 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10033 (grub_pxe_your_ip): Made static.
10034 (grub_pxe_default_server_ip): Likewise.
10035 (grub_pxe_default_gateway_ip): Likewise.
10036 (grub_pxe_blksize): Likewise.
10037 (parse_ip): New function.
10038 (grub_pxe_open): Support server and gateway specification.
10039 (grub_pxe_close): Free disk->data.
10040 (grub_pxefs_open): Use disk->data.
10041 (grub_pxefs_read): Likewise.
10042 (grub_env_write_readonly): New function.
10043 (set_mac_env): Likewise.
10044 (set_env_limn_ro): Likewise.
10045 (parse_dhcp_vendor): Likewise.
10046 (grub_pxe_detect): Set the environment variables.
10047 (set_ip_env): New function.
10048 (write_ip_env): Likewise.
10049 (grub_env_write_pxe_default_server): Likewise.
10050 (grub_env_write_pxe_default_gateway): Likewise.
10051 (grub_env_write_pxe_blocksize): Likewise.
10052 (GRUB_MOD_INIT(pxe)): Set environment variables.
10053 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10054 (grub_pxe_mac_addr_t): ... this. All users updated.
10055 (grub_pxe_your_ip): Removed.
10056 (grub_pxe_server_ip): Likewise.
10057 (grub_pxe_gateway_ip): Likewise.
10058 (grub_pxe_blksize): Likewise.
10059
ec5f98ab 100602009-12-25 Carles Pina i Estany <carles@pina.cat>
10061
10062 * commands/help.c: Include `<grub/i18n.h>'.
10063 (grub_cmd_help): Gettextizze.
10064 (GRUB_MOD_INIT): Likewise.
10065 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10066 (GRUB_MOD_INIT): Gettextizze.
10067 * commands/search.c: Include `<grub/i18n.h>'.
10068 (options): Gettextizze.
10069 (GRUB_MOD_INIT): Gettextizze.
10070 * lib/arg.c: Include `<grub/i18n.h>'.
10071 (help_options): Gettextizze.
10072 (find_long): Likewise.
10073 (grub_arg_show_help): Likewise.
10074 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10075 (read_command_list): Gettextizze.
10076 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10077 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10078
22815526
RM
100792009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10080
10081 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10082 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10083 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10084 (led_status): New variable.
10085 (keyboard_controller_led): New function.
10086 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10087 update led status for caps lock, num lock and scroll lock.
10088
0ad46fd7
FZ
100892009-12-25 Felix Zielcke <fzielcke@z-51.de>
10090
10091 * util/hostdisk.c (open_device): Fix a comment.
10092
d0e158c2
RM
100932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10094
10095 * util/grub-install.in (host_os): New variable.
10096 * util/i386/efi/grub-install.in (host_os): Likewise.
10097
401c0ad6
RM
100982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10099
10100 * util/mkisofs/write.c (padblock_write): Abort when given an
10101 excedingly large embed image, instead of silently truncating it.
10102
d14d3370
RM
101032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10104
10105 * include/multiboot.h: Indentation fixes.
10106
eeed10b4
RM
101072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10108
10109 * include/multiboot.h (struct multiboot_aout_symbol_table)
10110 (struct multiboot_elf_section_header_table): New structure
10111 declarations (stolen from GRUB Legacy).
10112 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10113 table information.
10114
10115 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10116 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10117 type aliases.
10118
681c70ab
RM
101192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10120
10121 * include/multiboot.h: Make comments src2texi-friendly.
10122
e4d47d8d
RM
101232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10124
10125 For consistency with [multiboot]/docs/boot.S.
10126
10127 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10128 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10129 (MULTIBOOT_MAGIC2): Rename from this ...
10130 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10131
a0b70bda
RM
101322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10133
10134 * include/multiboot.h: Remove `<grub/types.h>'.
10135 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10136 types. Update all users.
10137
61ba42be 101382009-12-25 Carles Pina i Estany <carles@pina.cat>
10139
10140 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10141 `couldn't' and `can not' by `cannot'.
10142 * commands/i386/pc/drivemap.c: Likewise.
10143 * disk/ata.c: Likewise.
10144 * disk/ieee1275/nand.c: Likewise.
10145 * fs/affs.c: Likewise.
10146 * fs/fat.c: Likewise.
10147 * fs/hfs.c: Likewise.
10148 * fs/hfsplus.c: Likewise.
10149 * fs/iso9660.c: Likewise.
10150 * fs/jfs.c: Likewise.
10151 * fs/minix.c: Likewise.
10152 * fs/reiserfs.c: Likewise.
10153 * fs/sfs.c: Likewise.
10154 * fs/udf.c: Likewise.
10155 * fs/ufs.c: Likewise.
10156 * fs/xfs.c: Likewise.
10157 * loader/powerpc/ieee1275/linux.c: Likewise.
10158 * loader/sparc64/ieee1275/linux.c: Likewise.
10159 * util/grub-probe.c: Likewise.
10160 * util/misc.c: Likewise.
10161
7fd0baee 101622009-12-24 Carles Pina i Estany <carles@pina.cat>
10163
10164 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10165 grub_errno calls.
10166 * commands/acpi.c: Likewise.
10167 * commands/blocklist.c: Likewise.
10168 * commands/efi/loadbios.c: Likewise.
10169 * commands/i386/pc/drivemap.c: Likewise.
10170 * commands/loadenv.c: Likewise.
10171 * commands/memrw.c: Likewise.
10172 * commands/password.c: Likewise.
10173 * commands/videotest.c: Likewise.
10174 * disk/ata.c: Likewise.
10175 * disk/ata_pthru.c: Likewise.
10176 * disk/dmraid_nvidia.c: Likewise.
10177 * disk/ieee1275/nand.c: Likewise.
10178 * disk/ieee1275/ofdisk.c: Likewise.
10179 * disk/loopback.c: Likewise.
10180 * disk/lvm.c: Likewise.
10181 * disk/mdraid_linux.c: Likewise.
10182 * disk/raid.c: Likewise.
10183 * disk/raid6_recover.c: Likewise.
10184 * disk/scsi.c: Likewise.
10185 * efiemu/main.c: Likewise.
10186 * efiemu/mm.c: Likewise.
10187 * efiemu/pnvram.c: Likewise.
10188 * efiemu/symbols.c: Likewise.
10189 * font/font.c: Likewise.
10190 * fs/cpio.c: Likewise.
10191 * fs/hfsplus.c: Likewise.
10192 * fs/iso9660.c: Likewise.
10193 * fs/jfs.c: Likewise.
10194 * fs/minix.c: Likewise.
10195 * fs/ntfs.c: Likewise.
10196 * fs/ntfscomp.c: Likewise.
10197 * fs/reiserfs.c: Likewise.
10198 * fs/ufs.c: Likewise.
10199 * fs/xfs.c: Likewise.
10200 * gettext/gettext.c: Likewise.
10201 * include/grub/auth.h: Likewise.
10202 * kern/elf.c: Likewise.
10203 * kern/file.c: Likewise.
10204 * kern/ieee1275/init.c: Likewise.
10205 * kern/ieee1275/mmap.c: Likewise.
10206 * kern/ieee1275/openfw.c: Likewise.
10207 * kern/powerpc/dl.c: Likewise.
10208 * kern/sparc64/dl.c: Likewise.
10209 * lib/arg.c: Likewise.
10210 * loader/i386/bsd.c: Likewise.
10211 * loader/i386/bsdXX.c: Likewise.
10212 * loader/i386/efi/linux.c: Likewise.
10213 * loader/i386/efi/xnu.c: Likewise.
10214 * loader/i386/ieee1275/linux.c: Likewise.
10215 * loader/i386/linux.c: Likewise.
10216 * loader/i386/multiboot.c: Likewise.
10217 * loader/i386/pc/linux.c: Likewise.
10218 * loader/i386/pc/multiboot2.c: Likewise.
10219 * loader/i386/xnu.c: Likewise.
10220 * loader/ieee1275/multiboot2.c: Likewise.
10221 * loader/macho.c: Likewise.
10222 * loader/machoXX.c: Likewise.
10223 * loader/multiboot2.c: Likewise.
10224 * loader/multiboot_loader.c: Likewise.
10225 * loader/powerpc/ieee1275/linux.c: Likewise.
10226 * loader/sparc64/ieee1275/linux.c: Likewise.
10227 * loader/xnu.c: Likewise.
10228 * loader/xnu_resume.c: Likewise.
10229 * mmap/i386/pc/mmap.c: Likewise.
10230 * normal/menu_viewer.c: Likewise.
10231 * partmap/acorn.c: Likewise.
10232 * partmap/amiga.c: Likewise.
10233 * partmap/apple.c: Likewise.
10234 * script/lexer.c: Likewise.
10235 * term/gfxterm.c: Likewise.
10236 * term/i386/pc/serial.c: Likewise.
10237 * term/i386/pc/vga.c: Likewise.
10238 * term/ieee1275/ofconsole.c: Likewise.
10239 * term/terminfo.c: Likewise.
10240 * video/bitmap.c: Likewise.
10241 * video/efi_gop.c: Likewise.
10242 * video/efi_uga.c: Likewise.
10243 * video/fb/video_fb.c: Likewise.
10244 * video/i386/pc/vbe.c: Likewise.
10245 * video/readers/tga.c: Likewise.
10246 * video/video.c: Likewise.
10247
0ad46fd7 102482009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
10249
10250 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
10251 * commands/lspci.c: Likewise.
10252 * commands/probe.c: Likewise.
10253 * commands/xnu_uuid.c: Likewise.
10254 * conf/i386-coreboot.rmk: Likewise.
10255 * conf/i386-efi.rmk: Likewise.
10256 * conf/i386-ieee1275.rmk: Likewise.
10257 * conf/i386-pc.rmk: Likewise.
10258 * conf/powerpc-ieee1275.rmk: Likewise.
10259 * conf/sparc64-ieee1275.rmk: Likewise.
10260 * conf/x86_64-efi.rmk: Likewise.
10261 * fs/i386/pc/pxe.c: Likewise.
10262 * gettext/gettext.c: Likewise.
10263 * include/grub/efi/graphics_output.h: Likewise.
10264 * include/grub/i386/pc/memory.h: Likewise.
10265 * kern/env.c: Likewise.
10266 * kern/i386/qemu/startup.S: Likewise.
10267 * lib/i386/pc/biosnum.c: Likewise.
10268 * lib/i386/relocator.c: Likewise.
10269 * lib/i386/relocator_asm.S: Likewise.
10270 * lib/relocator.c: Likewise.
10271 * loader/i386/bsd.c: Likewise.
10272 * loader/i386/multiboot.c: Likewise.
10273 * loader/i386/pc/chainloader.c: Likewise.
10274 * loader/i386/xnu.c: Likewise.
10275 * loader/xnu.c: Likewise.
10276 * normal/main.c: Likewise.
10277 * normal/menu_text.c: Likewise.
10278 * util/getroot.c: Likewise.
10279 * util/grub-mkconfig_lib.in: Likewise.
10280 * util/grub.d/00_header.in: Likewise.
10281 * util/i386/pc/grub-mkimage.c: Likewise.
10282 * util/mkisofs/eltorito.c: Likewise.
10283 * util/mkisofs/exclude.h: Likewise.
10284 * util/mkisofs/hash.c: Likewise.
10285 * util/mkisofs/iso9660.h: Likewise.
10286 * util/mkisofs/joliet.c: Likewise.
10287 * util/mkisofs/mkisofs.c: Likewise.
10288 * util/mkisofs/mkisofs.h: Likewise.
10289 * util/mkisofs/multi.c: Likewise.
10290 * util/mkisofs/name.c: Likewise.
10291 * util/mkisofs/rock.c: Likewise.
10292 * util/mkisofs/tree.c: Likewise.
10293 * util/mkisofs/write.c: Likewise.
10294 * video/efi_gop.c: Likewise.
10295
009ec743
VS
102962009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
10299 size counting.
10300
0ad46fd7 103012009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
10302
10303 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
10304 * genmk.rb (class SCRIPT): Modify the target file instead of source.
10305
d3d30ea0
VS
103062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
10309 (GRUB_MOD_INIT(memrw)): Update help line.
10310
a34f5c70
VS
103112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
10314 Use grub_extcmd_t. All users updated.
10315 (options): New variable.
10316 (grub_cmd_read): Restructure for readability. Support "-v" option.
10317 (grub_cmd_write): Restructure for readability.
10318
0ad46fd7 103192009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
10320
10321 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
10322
0ad46fd7 103232009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
10324
10325 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
10326 with the actual contents of the correspondending make variable.
10327 * util/grub-mkrescue.in (pkglib_DATA): New variable.
10328 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
10329 specifying `*.lst' and `efiemu??.o'
10330
0ad46fd7 103312009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
10332
10333 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
10334 after function name.
10335 Noticed by Rene Engelhard <rene@debian.org>.
10336
dc77a799
VS
103372009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
10340 (options): New variable.
10341 (iospace): Likewise.
10342 (grub_lspci_iter): List IO spaces if "-i" was given.
10343 (grub_cmd_lspci): Parse options.
10344 (GRUB_MOD_INIT(lspci)): Use extcmd.
10345 (GRUB_MOD_FINI(lspci)): Likewise.
10346
0ad46fd7 103472009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
10348
10349 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
10350 `function' keyword.
10351 Patch by Tony Mancill <tmancill@debian.org>.
10352
b5d5993b
VS
103532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
10356 (grub_uhci_portstatus): Likewise.
10357 (grub_uhci_portstatus): Add necessary delay.
11d18281 10358 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 10359
941903f2 103602009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 10361
941903f2 10362 * commands/acpi.c (options): Fix capitalizations and/or full stops.
10363 (GRUB_MOD_INIT): Likewise.
10364 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 10365 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
10366 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 10367 * commands/efi/loadbios.c (enable_rom_area): Likewise.
10368 (enable_rom_area): Likewise.
10369 (GRUB_MOD_INIT): Likewise.
10370 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10371 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
10372 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10373 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
10374 * commands/hexdump.c (options): Likewise.
10375 * commands/i386/cpuid.c (options): Likewise.
10376 (GRUB_MOD_INIT): Likewise.
10377 * commands/i386/pc/drivemap.c (options): Likewise.
10378 (GRUB_MOD_INIT): Likewise.
10379 * commands/i386/pc/halt (options): Likewise.
10380 (GRUB_MOD_INIT): Likewise.
10381 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10382 * commands/i386/pc/pxecmd.c (options): Likewise.
10383 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
10384 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
10385 * commands/keystatus.c (options): Likewise.
10386 (GRUB_MOD_INIT): Likewise.
10387 * commands/loadenv.c (options): Likewise.
10388 * commands/ls.c (options): Likewise.
10389 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10390 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10391 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10392 * commands/parttool.c (helpmsg): Likewise.
10393 * commands/probe.c (options): Likewise.
10394 * commands/read.c (GRUB_MOD_INIT): Likewise.
10395 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
10396 * commands/search.c (options): Likewise.
10397 * commands/sleep.c (options): Likewise.
10398 * commands/test.c (GRUB_MOD_INIT): Likewise.
10399 * commands/true.c (GRUB_MOD_INIT): Likewise.
10400 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
10401 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
10402 * lib/arg.c (help_options): Likewise.
e9bbb4e7 10403 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
10404 `$(XGETTEXT)'.
98a50553 10405 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 10406
0ad46fd7 104072009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 10408
ef3c2c3a 10409 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
10410 instead of specifying them explicit.
10411
7922f68b
RM
104122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10413
10414 * NEWS: Add grub-probe support for GNU/Hurd.
10415
537ce47f
RM
104162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10417
10418 * NEWS: gettext was added after 1.97.
10419
9b214e3a
RM
104202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10421
10422 * util/mkisofs/msdos_partition.h: New file (based on
10423 include/grub/msdos_partition.h).
10424 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
10425 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
10426 (ld_options, main): Recognize --protective-msdos-label.
10427 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
10428 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
10429 (padblock_write): If `use_protective_msdos_label' is set, patch a
10430 protective DOS-style label in the output image.
10431
10432 * util/grub-mkrescue.in: Use --protective-msdos-label.
10433
e9309813
RM
104342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10435
10436 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
10437 boot.
10438
0ae56929
RM
104392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10440
10441 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
10442 variables.
10443 (ld_options, main): Recognize `--embedded-boot'.
10444 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
10445 declarations.
10446 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
10447 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
10448 (padblock_write): Likewise. Rewrite to support embedded boot image.
10449
10450 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
10451 for BIOS-based disk boot instead of only ElTorito.
10452
b15937b1
RM
104532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10454
10455 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
10456 build (not needed for bootstrap).
10457
52cc3ce0
RM
104582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10459
10460 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
10461 from i386-pc build (not needed for bootstrap).
10462 Rewrite a pair of strings.
10463
36f5ff04
RM
104642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
10465
10466 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
10467
973c6c85 104682009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
10469
10470 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
10471
05d21547
AB
104722009-12-21 Andreas Born <futur.andy@googlemail.com>
10473
10474 * kern/env.c (grub_env_context_open): Mark exported variable for
10475 reexport.
10476
0175d51f
AB
104772009-12-21 Andreas Born <futur.andy@googlemail.com>
10478
10479 * kern/env.c (grub_env_export): Create nonexistent variables before
10480 exporting.
10481
7f39d92f 104822009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 10483
7f39d92f 10484 * include/grub/auth.h: Include `<grub/i18n.h>'.
10485 (GRUB_GET_PASSWORD): Gettextizze string.
10486 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
10487 menu_text.c.
10488 (grub_utf8_to_ucs4_alloc): Fix indentation.
10489 (grub_print_ucs4): Likewise.
10490 (grub_getstringwidth): Likewise.
10491 (print_message_indented): New declaration.
10492 * normal/auth.c: Include `<grub/i18n.h>'.
10493 (grub_auth_check_authentication): Gettexttize string.
10494 * normal/cmdline.c: Include `<grub/i18n.h>'.
10495 (grub_cmdline_get): Gettextizze.
10496 * normal/color.c: Include `<grub/i18n.h>'.
10497 (grub_parse_color_name_pair): Gettexttize strings.
10498 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
10499 string (use `print_message_indented').
10500 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
10501 `include/grub/normal.h'.
10502 (print_message_indented): Renamed to ...
10503 (grub_print_message_indented): ... this. Remove `static' qualifer (now
10504 used in normal/main.c).
10505 (print_message): Use `grub_print_message_indented' instead of
10506 `print_message_indented'.
10507 (print_timeout): Likewise.
10508 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
10509 (grub_normal_print_device_info): Gettexttize strings.
10510 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
10511
3041d898
VS
105122009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
10515 of arguments. Return number of tokens and not arguments. All users
10516 updated.
10517
de15bf8e
VS
105182009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
10521 non-MSDOS paritions.
10522
e0a6ca52
VS
105232009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * include/grub/types.h (UNUSED): Removed since it conflicts with
10526 NetBSD headers. All users changed to direct __attribute__ ((unused)).
10527 Reported by Grégoire Sutre.
10528
b99518d1 105292009-12-19 Carles Pina i Estany <carles@pina.cat>
10530
10531 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
10532 (grub_print_ucs4_alloc): Likewise.
10533 (grub_getstringwidth): Likewise.
10534 * normal/main.c (grub_normal_init_page): Gettextize version string.
10535 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
10536 (getstringwidth): Renamed to ...
10537 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
10538 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
10539 (grub_print_ucs4): Remove `static' qualifer (now used in
10540 normal/main.c).
10541 * po/POTFILES: Add normal/main.c.
10542
bfd5e52b 105432009-12-19 Carles Pina i Estany <carles@pina.cat>
10544
10545 * normal/menu_text.c (STANDARD_MARGIN): New macro.
10546 (print_message_indented): Add `margin_left' and `margin_right'
10547 parameters.
10548 (print_message): Update `print_message_indented' calls. Adds '\n' to the
10549 strings.
10550 (print_timeout): Use `print_message_indented' to print the message.
10551 Deletes `second_stage' parameter.
10552 (run_menu): Update `print_timeout' calls.
10553
5a1ad2b9
VS
105542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 Fix console palette on OpenFirmware.
10557
10558 * term/ieee1275/ofconsole.c (MAX): Removed.
10559 (colors): Redone based on VGA palette.
10560 (grub_ofconsole_setcolor): Discard brightness bit since only 8
10561 colors are supported.
10562 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
10563
b045f00a
VS
105642009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 Fix potential EfiEmu double prepare.
10567
10568 * efiemu/main.c (prepared): New variable
10569 (grub_efiemu_unload): Set prepare to '0'.
10570 (grub_efiemu_prepare): Return if already prepared. Set prepared.
10571
10572 set_virtual_address_map support.
10573
10574 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
10575 prototype.
10576 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
10577 prototype.
10578 (grub_efiemu_crc32): Likewise.
10579 (grub_efiemu_crc64): Likewise.
10580 (grub_efiemu_set_virtual_address_map): Likewise.
10581 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
10582 New definition.
10583 (grub_autoefi_set_virtual_address_map): Likewise.
10584 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
10585 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
10586 Restructure flow to accomodate it.
10587 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
10588 (grub_efiemu_crc): Recompute CRC32.
10589 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
10590 (efiemu_ptv_relocated): ... this. Made global. All users updated.
10591 * efiemu/symbols.c (relocated_handle): New variable.
10592 (grub_efiemu_free_syms): Free relocated_handle.
10593 (grub_efiemu_alloc_syms): Allocate relocated_handle.
10594 (grub_efiemu_write_sym_markers): New function.
10595 (grub_efiemu_set_virtual_address_map): Likewise.
10596
10597 Newer XNU parameters.
10598
10599 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
10600 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
10601 (grub_xnu_fill_devicetree): New prototype.
10602 (grub_xnu_heap_real_start): New variable.
10603 * loader/xnu.c (get_name_ptr): New function.
10604 (grub_xnu_load_driver): Fill namelen and name.
10605
10606 64-bit xnu support.
10607
10608 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
10609 and 'loader/macho64.c'.
10610 * conf/i386-pc.rmk: Likewise.
10611 * conf/x86_64-efi.rmk: Likewise.
10612 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
10613 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
10614 * include/grub/macho.h (grub_macho_segment64): New structure.
10615 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
10616 (grub_macho_size32): ... to this.
10617 (grub_macho32_get_entry_point): Renamed from ...
10618 (grub_macho_get_entry_point32): ... to this.
10619 (grub_macho_contains_macho64): New prototype.
10620 (grub_macho_size64): Likewise.
10621 (grub_macho_get_entry_point64): Likewise.
10622 (grub_macho32_load): Renamed from ...
10623 (grub_macho_load32): ... to this.
10624 (grub_macho32_filesize): Renamed from ...
10625 (grub_macho_filesize32): ... to this.
10626 (grub_macho32_readfile): Renamed from ...
10627 (grub_macho_readfile32): ... to this.
10628 (grub_macho_filesize64): New prototype.
10629 (grub_macho_readfile64): Likewise.
10630 (grub_macho_parse32): Likewise.
10631 (grub_macho_parse64): Likewise.
10632 * loader/macho.c: Split into ...
10633 * loader/machoXX.c: ... and this. Replace 32 with XX.
10634 * loader/macho32.c: New file.
10635 * loader/macho64.c: Likewise.
10636 * loader/xnu.c (grub_xnu_is_64bit): New variable.
10637 (grub_cmd_xnu_kernel): Make 32-bit only.
10638 (grub_cmd_xnu_kernel64): New function.
10639 (grub_xnu_load_driver): Support Mach-O 64.
10640 (grub_cmd_xnu_mkext): Likewise.
10641 * util/grub.d/30_os-prober.in (osx_entry): New function.
10642 Generate entries for 64-bit boot too.
10643
10644 Eliminate ad-hoc tree format in XNU and EfiEmu.
10645
10646 * efiemu/main.c (grub_efiemu_prepare): Update comment.
10647 * efiemu/pnvram.c: Rewritten to use environment variables.
10648 All users updated.
10649
10650 Inline utf16_to_utf8.
10651
10652 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
10653 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
10654 All users updated.
10655 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
10656
10657 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
10658 * commands/usbtest.c (grub_usb_get_string): ... move here.
10659 (usb_print_str): Fix error handling.
10660 * include/grub/usb.h (grub_usb_get_string): Remove.
10661
10662 UTF-8 to UTF-16 transformation.
10663
10664 * conf/common.rmk (pkglib_MODULES): Add charset.mod
10665 (charset_mod_SOURCES): New variable.
10666 (charset_mod_CFLAGS): Likewise.
10667 (charset_mod_LDFLAGS): Likewise.
10668 * include/grub/utf.h: New file.
10669 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
10670
10671 Support for device properties.
10672
10673 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
10674 (grub_xnu_devprop_device_header): Likewise.
10675 (grub_xnu_devprop_device_descriptor): Likewise.
10676 (grub_xnu_devprop_add_device): New prototype.
10677 (grub_xnu_devprop_remove_device): Likewise.
10678 (grub_xnu_devprop_remove_property): Likewise.
10679 (grub_xnu_devprop_add_property_utf8): Likewise.
10680 (grub_xnu_devprop_add_property_utf16): Likewise.
10681 (grub_cpu_xnu_init): Likewise.
10682 (grub_cpu_xnu_fini): Likewise.
10683 (grub_cpu_xnu_unload): Likewise.
10684 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
10685 (property_descriptor): Likewise.
10686 (devices): New variable.
10687 (grub_xnu_devprop_remove_property): New function.
10688 (grub_xnu_devprop_add_device): Likewise.
10689 (grub_xnu_devprop_remove_device): Likewise.
10690 (grub_xnu_devprop_add_property): Likewise.
10691 (grub_xnu_devprop_add_property_utf8): Likewise.
10692 (grub_xnu_devprop_add_property_utf16): Likewise.
10693 (hextoval): Likewise.
10694 (grub_cpu_xnu_fill_devprop): Likewise.
10695 (grub_cmd_devprop_load): Likewise.
10696 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
10697 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
10698 (cmd_devprop_load): New variable.
10699 (grub_cpu_xnu_init): New function.
10700 (grub_cpu_xnu_fini): Likewise.
10701 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
10702 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
10703 (grub_cmd_xnu_devtree): Likewise.
10704 (hextoval): New function.
10705 (unescape): Likewise.
10706 (grub_xnu_fill_devicetree): Likewise.
10707
10708 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
10709 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
10710
0945f181
VS
107112009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 Workaround for broken ATI VBE.
10714
10715 * video/i386/pc/vbe.c (last_set_mode): New variable.
10716 (grub_vbe_set_video_mode): Set 'last_set_mode'.
10717 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
10718 (grub_video_vbe_setup): Don't check for reserved flag.
10719
0ad46fd7 107202009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
10721
10722 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
10723 the `find' command.
10724
c179ebe4
VS
107252009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 UUID support for HFS.
10728
10729 * fs/hfs.c (grub_hfs_uuid): New function.
10730 (grub_hfs_fs): New value .uuid.
10731 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
10732
0ad46fd7 107332009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
10734
10735 Fix a segfault with parsing unknown long options.
10736
10737 * util/grub-mkrelpath.c (options): Zero terminate it.
10738
c4a3e41a
CPE
107392009-12-13 Carles Pina i Estany <carles@pina.cat>
10740
10741 * include/grub/misc.h (grub_puts): New declaration.
10742 (grub_puts_): Likewise.
a22008a6 10743 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
10744 (grub_puts_): Likewise.
10745
2e8a7602
RM
107462009-12-13 Robert Millan <rmh.grub@aybabtu.com>
10747
10748 * util/grub-probe.c (probe): Improve error message.
10749
b50b77b9
RM
107502009-12-13 Robert Millan <rmh.grub@aybabtu.com>
10751
10752 * loader/i386/multiboot_elfxx.c
10753 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
10754 initialization.
10755
107562009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 Relocator framework
10759
10760 * loader/i386/xnu_helper.S: Removed. All users updated.
10761 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
10762 (relocator_mod_SOURCES): New variable.
10763 (relocator_mod_CFLAGS): Likewise.
10764 (relocator_mod_LDFLAGS): Likewise.
10765 (relocator_mod_ASFLAGS): Likewise.
10766 * conf/x86_64.rmk: Likewise.
10767 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
10768 (grub_multiboot_payload_entry_offset): Likewise.
10769 (grub_multiboot_forward_relocator): Likewise.
10770 (grub_multiboot_forward_relocator_end): Likewise.
10771 (grub_multiboot_backward_relocator): Likewise.
10772 (grub_multiboot_backward_relocator_end): Likewise.
10773 (grub_multiboot_payload_eip): New variable.
10774 (grub_multiboot_payload_orig): Likewise.
10775 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
10776 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
10777 * include/grub/i386/memory.h
10778 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
10779 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
10780 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
10781 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
10782 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
10783 * include/grub/i386/relocator.h: New file.
10784 * include/grub/x86_64/relocator.h: Likewise.
10785 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
10786 (XNU_RELOCATOR): New macro.
10787 (grub_xnu_launcher_start): Remove.
10788 (grub_xnu_launcher_end): Likewise.
10789 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
10790 (grub_xnu_heap_real_start): Remove.
10791 (grub_xnu_heap_start): Change to void *. All users updated.
10792 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
10793 * lib/i386/relocator.c: New file.
10794 * lib/i386/relocator_asm.S: Likewise.
10795 * lib/i386/relocator_backward.S: Likewise.
10796 * lib/mips/relocator.c: Likewise.
10797 * lib/mips/relocator_asm.S: Likewise.
10798 * lib/relocator.c: Likewise.
10799 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
10800 (entry): Removed.
10801 (playground): Likewise.
10802 (grub_multiboot_payload_orig): New variable.
10803 (grub_multiboot_payload_dest): Likewise.
10804 (grub_multiboot_payload_size): Likewise.
10805 (grub_multiboot_payload_eip): Likewise.
10806 (grub_multiboot_payload_esp): Likewise.
10807 (grub_multiboot_boot): Use grub_relocator32_boot.
10808 (grub_multiboot_unload): Free relocators.
10809 (grub_multiboot): Setup stack. Use relocators.
10810 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
10811 (grub_multiboot_load_elfXX): Use relocators.
10812 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
10813 (grub_multiboot_payload_size): Likewise.
10814 (grub_multiboot_payload_dest): Likewise.
10815 (grub_multiboot_payload_entry_offset): Likewise.
10816 (grub_multiboot_forward_relocator): Likewise.
10817 (grub_multiboot_backward_relocator): Likewise.
10818 (grub_multiboot_real_boot): Likewise.
10819 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
10820 (grub_xnu_entry_point): Likewise.
10821 (grub_xnu_arg1): Likewise.
10822 (grub_xnu_stack): Likewise.
10823 (grub_xnu_launch): Removed.
10824 (grub_xnu_boot_resume): New function.
10825 (grub_xnu_boot): Use relocators.
10826 * loader/i386/xnu_helper.S: Removed.
10827 * loader/xnu.c (grub_xnu_heap_start): New variable.
10828 (grub_xnu_heap_size): Likewise.
10829 (grub_xnu_heap_malloc): Use relocators.
10830 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
10831
29eb90c6
VS
108322009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
10835 anything.
10836
31027430
CPE
108372009-12-13 Carles Pina i Estany <carles@pina.cat>
10838
10839 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
10840 GRUB_ERR_NONE before calling grub_env_set.
10841
dc0c71d9
RM
108422009-12-12 Robert Millan <rmh@aybabtu.com>
10843
10844 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
10845 * genmk.rb (video): New variable.
10846 (CLEANFILES, VIDEOFILES): Add #{video}.
10847 (#{video}): New target rule.
10848 * genvideolist.sh: New file.
10849 * Makefile.in (pkglib_DATA): Add video.lst.
10850 (video.lst): New target rule.
10851 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
10852 `video.lst'.
10853 * util/grub.d/30_os-prober.in: Replace `vbe' with
10854 ${GRUB_VIDEO_BACKEND}.
10855
2a4bfcf0
RM
108562009-12-11 Robert Millan <rmh.grub@aybabtu.com>
10857
10858 * THANKS: Add David Miller.
10859
2a3aa4d5
RM
108602009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 libpciaccess support.
10863
10864 * Makefile.in (LIBPCIACCESS): New variable.
10865 (enable_grub_emu_pci): Likewise.
10866 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
10867 util/pci.c and commands/lspci.c.
10868 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
10869 * configure.ac (grub-emu-pci): New option.
10870 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
10871 (grub_pci_device_unmap_range): Likewise.
10872 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
10873 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
10874 (grub_pci_address_t) [!GRUB_UTIL]: New type.
10875 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
10876 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
10877 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
10878 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
10879 * include/grub/pciutils.h: New file.
10880 * util/pci.c: Likewise.
10881
0ad46fd7 108822009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
10883
10884 * util/misc.c: Don't include <errno.h> twice.
10885
0ad46fd7 108862009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
10887
10888 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
10889 name in an error message.
10890 (grub_biosdisk_rw): Likewise.
10891
2e59983c
VS
108922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 Eliminate NTFS 4Gib barrier.
10895
10896 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
10897 (read_run_data): Likewise.
10898 (grub_ntfs_read_run_list): Likewise.
10899 (grub_ntfs_read_block): Likewise.
10900 (grub_ntfs_iterate_dir): Likewise.
10901 (read_mft): Likewise.
10902 (read_data): Likewise.
10903 Use COM_LOG_LEN.
10904 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
10905 to avoid 64-bit division
10906 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
10907 (grub_ntfs_rlst): Use grub_disk_addr_t.
10908
71ee178a
VS
109092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 Eliminate grub-fstest 4Gib barrier.
10912
10913 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
10914 (read_file): Fix error reporting.
10915
2520d4b8
VS
109162009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 Eliminate hexdump 4Gib barrier.
10919
10920 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
10921 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
10922
e1f27065
VS
109232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
10926 Fixes amarsh bug.
10927
1a0f7f45
RM
109282009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
10929
10930 Remove miscellaneous files in distclean target.
10931
10932 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
10933
c631d9fb
CW
109342009-12-09 Colin Watson <cjwatson@ubuntu.com>
10935
10936 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
10937 if they're already set. This resolves the conflict between my
10938 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
10939 fixing the --grub-probe option again.
10940 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
10941 change on 2009-10-06, so that we now once again source
10942 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
10943
7c7b6106
RM
109442009-12-08 Robert Millan <rmh.grub@aybabtu.com>
10945
10946 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
10947 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
10948 `util/devicemap.c'.
10949
e3069ec1
CPE
109502009-12-08 Carles Pina i Estany <carles@pina.cat>
10951
10952 * include/grub/misc.h (grub_printf_): New declaration.
10953 * kern/misc.c (grub_printf_): New definition.
10954 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
10955 instead of `grub_printf' and `_'.
10956 * normal/menu_entry.c (store_completion): Likewise.
10957 (run): Likewise.
10958 (grub_menu_entry_run): Likewise.
10959 * normal/menu_text.c (grub_wait_after_message): Likewise.
10960 (notify_booting): Likewise.
10961 (notify_fallback): Likewise.
10962 (notify_execution_failure): Likewise.
10963
d6ceebf1
CW
109642009-12-07 Colin Watson <cjwatson@ubuntu.com>
10965
10966 * configure.ac: Check for vasprintf.
10967 * util/misc.c (asprintf): Move allocation from here ...
10968 (vasprintf): ... to here. New function.
10969 (xasprintf): New function.
10970 * include/grub/util/misc.h (vasprintf, xasprintf): Add
10971 prototypes.
10972 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10973 * util/grub-mkfont.c (write_font): Likewise.
10974 * util/grub-probe.c (probe): Likewise.
10975 * util/hostdisk.c (make_device_name): Likewise.
10976
de6daa8b
DM
109772009-12-06 David S. Miller <davem@sunset.davemloft.net>
10978
10979 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
10980 anything even prefixed with 'cdrom' as a cdrom.
10981
0ad46fd7 109822009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
10983
10984 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
10985 mount points.
10986
98d3dc02
CPE
109872009-12-05 Carles Pina i Estany <carles@pina.cat>
10988
10989 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
10990 grub_gettext_msg_list.
10991 (grub_gettext_gettranslation_from_position): Return const char *
10992 and not char *.
a2c1332b 10993 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
10994 returns from the list if existing there.
10995 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
10996 (grub_gettext_delete_list): Delete the list.
10997 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
10998 lang environment variable is changed.
10999 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11000
b283f108
VS
110012009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 Rename kernel.mod to kernel.img.
11004
11005 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11006 (kernel_mod_EXPORTS): Rename to ...
11007 (kernel_img_EXPORTS): ... this.
11008 (kernel_mod_SOURCES): Rename to ...
11009 (kernel_img_SOURCES): ... this.
11010 (kernel_mod_HEADERS): Rename to ...
11011 (kernel_img_HEADERS): ... this. All users updated.
11012 (kernel_mod_CFLAGS): Rename to ...
11013 (kernel_img_CFLAGS): ... this.
11014 (kernel_mod_ASFLAGS): Rename to ...
11015 (kernel_img_ASFLAGS): ... this.
11016 (kernel_mod_LDFLAGS): Rename to ...
11017 (kernel_img_LDFLAGS): ... this.
11018 * conf/x86_64-efi.rmk: Likewise.
11019 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11020 (read_kernel_image): ... this. All users updated.
11021 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11022
69055f8a
CPE
110232009-12-05 Carles Pina i Estany <carles@pina.cat>
11024
11025 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11026 (print_spaces): New function.
11027 (grub_print_ucs4): New function.
11028 (getstringwidth): New function.
11029 (print_message_indented): New function.
11030 (print_message): Gettexttize strings using print_message_indented.
11031 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11032 width.
11033 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11034 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11035 Gettextize.
11036 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11037 string.
11038 (run): Likewise.
11039 (grub_menu_entry_run): Likewise.
11040 * PO/POTFILES: Add normal/menu_entry.c.
11041
f616f51c
VS
110422009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11045
57bbe3be
CPE
110462009-12-05 Carles Pina i Estany <carles@pina.cat>
11047
11048 * util/grub-install.in: Install gettext .mo files.
11049 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11050
013d67a1
CPE
110512009-12-05 Carles Pina i Estany <carles@pina.cat>
11052
11053 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11054 grub_dprintf.
11055
fb954db0
RM
110562009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11057
11058 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11059 non-firmware-dependant one in realmode.S takes precedence.
11060
6b8474f8
RM
110612009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11062
11063 * commands/halt.c: Replace misc arch-specific headers with
11064 `<grub/misc.h>'.
11065 * commands/reboot.c: Likewise.
11066 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11067 `<grub/misc.h>'.
11068 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11069 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11070 (kernel_img_SOURCES): ... to here.
11071
11072 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11073 * include/grub/i386/pc/init.h: Likewise.
11074 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11075 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11076
11077 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11078
11079 * include/grub/i386/halt.h: Remove.
11080 * include/grub/i386/reboot.h: Likewise.
11081
11082 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11083
4b2e6ca2
DM
110842009-12-03 David S. Miller <davem@sunset.davemloft.net>
11085
11086 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11087 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11088 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11089 "progname.h"
11090 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11091 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11092 (usage): Add missing comma in printf.
11093
5239348f
RM
110942009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11095
11096 Use the same reboot approach on i386 coreboot and qemu as we do on
11097 BIOS.
11098
11099 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11100 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11101 * kern/i386/reboot.c: Remove.
11102 * include/grub/i386/reboot.h (grub_reboot): Export function.
11103 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11104 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11105 0xf000:0xfff0 instead of 0xffff:0x0000.
11106 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11107 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11108
ef34cbd4
RM
111092009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11110
11111 Fix $srcdir != $objdir build.
11112
11113 * Makefile.in (po/%.po): Rewrite as ...
11114 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11115
dc9837ea
ST
111162009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11117
11118 Fix GNU/Hurd grub-install crash.
11119 * util/grub-probe.c (probe): Try to access `path' only when it is not
11120 NULL.
11121
2f857f98
VS
111222009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 Correct module naming.
11125
11126 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11127 (GRUB_MOD_INIT(efi_uga)): ... to this
11128 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11129 (GRUB_MOD_FINI(efi_uga)): ... to this
11130 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11131 (GRUB_MOD_INIT(efi_gop)): ... to this
11132 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11133 (GRUB_MOD_FINI(efi_gop)): ... to this
11134
c5448046
RM
111352009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11136
11137 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11138 translatable.
11139 (usage): Translate `arg' strings using gettext().
11140 Thanks to Jordi Mallach for the suggestion.
11141
c85184ad
VS
111422009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 GOP support. Based on patch from Bean
11145 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11146
11147 * video/efi_gop.c: New file.
11148 * include/grub/efi/graphics_output.h: Likewise.
11149 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11150 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11151 variables.
11152 * conf/x86_64-efi.rmk: Likewise.
11153
8a4c48d8
VS
111542009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 Rename efi_fb to efi_uga.
11157
11158 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11159 'efi_uga.mod'.
11160 (efi_fb_mod_SOURCES): Rename this ...
11161 (efi_uga_mod_SOURCES): ... to this.
11162 (efi_fb_mod_CFLAGS): Rename this ...
11163 (efi_uga_mod_CFLAGS): ... to this.
11164 (efi_fb_mod_LDFLAGS): Rename this ...
11165 (efi_uga_mod_LDFLAGS): ... to this.
11166 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11167 'efi_uga.mod'.
11168 (efi_fb_mod_SOURCES): Rename this ...
11169 (efi_uga_mod_SOURCES): ... to this.
11170 (efi_fb_mod_CFLAGS): Rename this ...
11171 (efi_uga_mod_CFLAGS): ... to this.
11172 (efi_fb_mod_LDFLAGS): Rename this ...
11173 (efi_uga_mod_LDFLAGS): ... to this.
11174 * video/efi_fb.c: Move this ...
11175 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11176
fb6c1a7b
RM
111772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11178
11179 * po/README: New file. Explain our PO file workflow.
11180
3bc7896c
RM
111812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11182
11183 * po/ChangeLog: Remove. Move relevant entries back to ...
11184 * ChangeLog: ... here.
11185 * po/ca.po: Remove (now handled by TLP).
11186 * po/id.po: Likewise.
11187 * po/zh_CN.po: Likewise.
11188 * Makefile.in (LINGUAS): Initialize in a way that supports
11189 empty set.
11190
9ed4841d
RM
111912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11192
11193 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11194 reliing on po/LINGUAS.
11195 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11196 (po/%.po): ... this.
11197
0ad46fd7 111982009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11199
11200 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11201 (main): Use `program_name' instead of nonexistent `progname'.
11202
e30dd392
FZ
112032009-11-26 Felix Zielcke <fzielcke@z-51.de>
11204
11205 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11206 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11207
7656de4f
RM
112082009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11209
11210 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
11211 commit.
11212 * conf/i386-efi.rmk: Likewise.
11213 * conf/i386-ieee1275.rmk: Likewise.
11214 * conf/powerpc-ieee1275.rmk: Likewise.
11215 * conf/sparc64-ieee1275.rmk: Likewise.
11216 * conf/x86_64-efi.rmk: Likewise.
11217
db77c4d4
FZ
112182009-11-26 Felix Zielcke <fzielcke@z-51.de>
11219
11220 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
11221
a755bb04
FZ
112222009-11-26 Felix Zielcke <fzielcke@z-51.de>
11223
11224 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
11225
8a4c07fd
RM
112262009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11227
11228 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
11229 (grub_mkdevicemap_SOURCES): New variable.
11230 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
11231 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
11232 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
11233 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
11234 (grub_mkdevicemap_SOURCES): Remove.
11235 * conf/i386-efi.rmk: Likewise.
11236 * conf/i386-ieee1275.rmk: Likewise.
11237 * conf/i386-pc.rmk: Likewise.
11238 * conf/powerpc-ieee1275.rmk: Likewise.
11239 * conf/sparc64-ieee1275.rmk: Likewise.
11240 * conf/x86_64-efi.rmk: Likewise.
11241 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
11242 (usage): Fix strings to use `program_name'.
11243 (main): Initialize gettext.
11244 * util/grub-editenv.c: Likewise.
11245 * util/grub-emu.c: Likewise.
11246 * util/grub-fstest.c: Likewise.
11247 * util/grub-mkdevicemap.c: Likewise.
11248 * util/grub-mkfont.c: Likewise.
11249 * util/grub-mkrelpath.c: Likewise.
11250 * util/grub-pe2elf.c: Likewise.
11251 * util/grub-probe.c: Likewise.
11252 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11253 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11254 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11255
11256 * util/misc.c: Include `"progname.h"'.
11257 (progname): Remove variable.
11258 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
11259
6f61ed55
FZ
112602009-11-25 Felix Zielcke <fzielcke@z-51.de>
11261
11262 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
11263 printf and print a newline after the menuentry header line.
11264 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11265
f022876b
FZ
112662009-11-25 Felix Zielcke <fzielcke@z-51.de>
11267
11268 autoconf >= 2.60 support $(localedir).
11269
11270 * INSTALL: Note that autoconf 2.60 is required.
11271 * configure.ac (AC_PREREQ): Bump to 2.60.
11272 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
11273 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11274
6717926e
YB
112752009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
11276
11277 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
11278 aclocal is run.
11279
08806a54
RM
112802009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11281
11282 * normal/main.c (grub_normal_read_line): Fix off-by-one
11283 buffer overflow.
11284
13b33fba
RM
112852009-11-25 Robert Millan <rmh.grub@aybabtu.com>
11286
11287 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
11288 "parser.grub" in grub_command_execute() call.
11289
4a8572e9
CPE
112902009-11-24 Carles Pina i Estany <carles@pina.cat>
11291
11292 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
11293 * conf/i386-efi.rmk: Likewise.
11294 * conf/i386-ieee1275.rmk: Likewise.
11295 * conf/i386-pc.rmk: Likewise.
11296 * conf/powerpc-ieee1275.rmk: Likewise.
11297 * conf/sparc64-ieee1275.rmk: Likewise.
11298 * conf/x86_64-efi.rmk: Likewise.
11299 * gettext/gettex.c: Include <grub/i18n.h>.
11300 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
11301 here ...
11302 * include/grub/i18n.h: ... to here
11303 * include/grub/i18n.h: ... to here.
11304 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 11305 (grub_gettext_dummy): Move above user.
4a8572e9 11306
bee48093
FZ
113072009-11-24 Felix Zielcke <fzielcke@z-51.de>
11308
11309 * util/Makefile.in (install-local): Convert a `for' into a normal
11310 shell expansion.
11311
a031e91c
RM
113122009-11-24 Robert Millan <rmh.grub@aybabtu.com>
11313
11314 * autogen.sh: Add automake call.
11315 * config.guess: Remove.
11316 * config.sub: Likewise.
11317 * install-sh: Likewise.
11318
26bec39d
FZ
113192009-11-24 Felix Zielcke <fzielcke@z-51.de>
11320
11321 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
11322
8e2532fd
FZ
113232009-11-24 Felix Zielcke <fzielcke@z-51.de>
11324
11325 * util/Makefile.in (install-local): Convert a make `$(foreach)'
11326 function to a normal shell `for'.
11327
fefa1b7d
FZ
113282009-11-24 Felix Zielcke <fzielcke@z-51.de>
11329
11330 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11331
4501250b
FZ
113322009-11-24 Felix Zielcke <fzielcke@z-51.de>
11333
11334 * util/grub-mkrelpath.c: New file.
11335 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
11336 (grub_mkrelpath_SOURCES): New variable.
11337 * include/grub/util/misc.h: New function prototype.
11338 * util/misc.c (make_system_path_relative_to_its_root): New function.
11339
11340 * util/grub-mkconfig_lib.in (bindir): New variable.
11341 (grub_mkrelpath): Likewise.
11342 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
11343
11344 * util/probe.c (probe): Make the file path relative to its root.
11345 Change a info message to use the GRUB path. Enable again the
11346 check if we can read the file with GRUB facilities.
11347
11348 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
11349 to its root.
11350
11d9778b
FZ
113512009-11-24 Felix Zielcke <fzielcke@z-51.de>
11352
11353 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
11354 platform.
11355
4465287d
FZ
113562009-11-24 Felix Zielcke <fzielcke@z-51.de>
11357
11358 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
11359 strncmp().
11360
62b47f22
FZ
113612009-11-24 Felix Zielcke <fzielcke@z-51.de>
11362
11363 * util/getroot.c (grub_util_is_dmraid): New function.
11364 (grub_util_get_dev_abstraction): Treat dmraid and multipath
11365 devices as normal ones, not as LVM.
11366
1eafb9b9 113672009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
11368
11369 * conf/common.rmk: Add grub-gettext_lib target and updates
11370 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
11371 LDFLAGS.
11372 * gettext/gettext.c: New file. (Reads mo files).
11373 * include/grub/file.h (grub_file_pread): New prototype.
11374 * include/grub/i18n.h (_): New prototype.
11375 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
11376 prototypes.
11377 * kern/misc.c (grub_gettext_dummy): New function.
11378 * normal/menu_text.c: Include <grub/i18n.h>.
11379 * normal/menu_text.c (print_timeout): Gettexttize string.
11380 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
11381 * po/POTFILES: Add `normal/menu_text.c'.
11382 * po/ca.po: Add new translations.
c3ea6bd4
CPE
11383 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
11384 gettext module and defines locale_dir and lang in grub.cfg.
11385 * NEWS: Add gettext support.
11386
0fdb2568
RM
113872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11388
11389 * util/hostdisk.c: Include `<grub/i18n.h>'.
11390 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
11391 (make_device_name): Rewrite using asprintf.
11392 (convert_system_partition_to_system_disk): Replace 0 with NULL.
11393 (find_system_device): If a device is not found, generate one just
11394 by reusing the OS path name.
11395 (read_device_map): Make it permissible for device.map not to exist.
11396
f515aa62
RM
113972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11398
11399 * script/sh/execute.c: Move from here ...
11400 * script/execute.c: ... to here. Update all users.
11401 * script/sh/function.c: Move from here ...
11402 * script/function.c: ... to here. Update all users.
11403 * script/sh/lexer.c: Move from here ...
11404 * script/lexer.c: ... to here. Update all users.
11405 * script/sh/main.c: Move from here ...
11406 * script/main.c: ... to here. Update all users.
11407 * script/sh/parser.y: Move from here ...
11408 * script/parser.y: ... to here. Update all users.
11409 * script/sh/script.c: Move from here ...
11410 * script/script.c: ... to here. Update all users.
11411
f84b481b
RM
114122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11413
11414 * configure.ac: Detect all `emu' platforms. Define
11415 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
11416 --enable-grub-emu logic. Disable include/grub/machine
11417 symlink on `emu' platforms.
11418
11419 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
11420 * gensymlist.sh.in: Likewise.
11421
11422 * include/grub/i386/coreboot/machine.h: Remove file.
11423 * include/grub/i386/efi/machine.h: Likewise.
11424 * include/grub/i386/ieee1275/machine.h: Likewise.
11425 * include/grub/i386/pc/machine.h: Likewise.
11426 * include/grub/i386/qemu/machine.h: Likewise.
11427 * include/grub/powerpc/ieee1275/machine.h: Likewise.
11428 * include/grub/sparc64/ieee1275/machine.h: Likewise.
11429 * include/grub/x86_64/efi/machine.h: Likewise.
11430
11431 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
11432 * commands/halt.c: Likewise.
11433 * commands/reboot.c: Likewise.
11434 * include/grub/autoefi.h: Likewise.
11435 * include/grub/i386/at_keyboard.h: Likewise.
11436 * include/grub/i386/kernel.h: Likewise.
11437 * include/grub/i386/loader.h: Likewise.
11438 * include/grub/i386/pc/memory.h: Likewise.
11439 * kern/dl.c: Likewise.
11440 * kern/i386/coreboot/init.c: Likewise.
11441 * loader/i386/bsd.c: Likewise.
11442 * loader/i386/linux.c: Likewise.
11443 * loader/multiboot_loader.c: Likewise.
11444 * term/i386/pc/serial.c: Likewise.
11445 * term/usb_keyboard.c: Likewise.
11446
11447 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
11448 `<grub/machine/machine.h>'
11449 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
11450 * util/misc.c: Remove `<grub/machine/machine.h>' and
11451 `<grub/machine/time.h>'.
11452
11453 * Makefile.in (enable_grub_emu): Remove variable.
11454 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
11455
11456 * conf/any-emu.rmk: New file.
11457 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
11458 (grub_emu_init.c): Move from here ...
11459 * conf/any-emu.rmk: ... to here.
11460
11461 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
11462 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
11463 * conf/any-emu.rmk: ... to here.
11464
4efeab03
RM
114652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11466
11467 * include/grub/parser.h (grub_parser_register): Document need
11468 of `name' parameter.
11469 * normal/main.c (grub_normal_read_line): Simplify prompt string.
11470 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
11471 "sh" to "grub".
11472
ea1dd8bf
RM
114732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11474
11475 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
11476 `$(XGETTEXT)'.
11477 * include/grub/i18n.h (N_): New macro.
11478 * util/mkisofs/mkisofs.h: Likewise.
11479 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
11480 around N_().
11481 (usage): Use gettext() to translate help strings when printing them.
11482
0c140626
RM
114832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
11484
11485 Based on patch from Bean
11486 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11487
11488 * video/efi_fb.c: New file.
11489 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
11490 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11491 variables.
11492 * conf/x86_64-efi.rmk: Likewise.
11493
87d58298
RM
114942009-11-22 Robert Millan <rmh.grub@aybabtu.com>
11495
11496 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
11497 * util/i386/pc/grub-setup.c: Likewise.
11498
994cc3a3
ST
114992009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11500
11501 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
11502 <hurd/fs.h>
11503 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
11504 file_get_storage_info to implement grub_guess_root_device.
11505
26a61d6a
FZ
115062009-11-21 Felix Zielcke <fzielcke@z-51.de>
11507
11508 * Makefile.in (target): Use make's builtin $(shell) function
11509 instead of calling directly $(SHELL) to create the locale directories,
11510 inside the $(foreach) function.
11511
74ff1dd5
FZ
115122009-11-21 Felix Zielcke <fzielcke@z-51.de>
11513
11514 * util/grub-mkrescue.in: Print an error and usage if output option
11515 has not been given.
11516
0b787d0e
FZ
115172009-11-21 Felix Zielcke <fzielcke@z-51.de>
11518
11519 Patch from Loïc Minier <loic.minier@ubuntu.com>.
11520 * util/grub.d/30_os-prober.in: Cope with Linux entries where
11521 root and /boot are on different devices.
11522
1164b270
RM
115232009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11524
11525 Fix build for srcdir != objdir.
11526
11527 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
11528 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
11529 $(srcdir).
11530 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
11531 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
11532 reference for input.
11533
13774a2f
RM
115342009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11535
11536 * util/grub-mkrescue.in: Use source directory direcly (without copiing
11537 or hardlinking it). Remove -J option, Joliet is not compatible with
11538 multiple source directories.
11539
efda854e
RM
115402009-11-21 Carles Pina i Estany <carles@pina.cat>
115412009-11-21 Robert Millan <rmh.grub@aybabtu.com>
11542
11543 * util/grub-mkrescue.in: Recognize `--override-directory' option.
11544 (process_input_dir): New function. Process an arbitrary input
11545 directory.
11546 Misc adjustments to support both "override mode" and system-wide mode.
11547
6c09890c
FZ
115482009-11-20 Felix Zielcke <fzielcke@z-51.de>
11549
11550 * configure.ac (UNIFONT_BDF): Rename to ...
11551 (FONT_SOURCE): ... this. Update all users.
11552
a797824f
FZ
115532009-11-20 Felix Zielcke <fzielcke@z-51.de>
11554
11555 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
11556 to the list of unifont files to look for.
11557
cd4f42b0
RM
115582009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11559
11560 Patch from Joe Auricchio <jauricchio@gmail.com>
11561 * commands/minicmd.c (grub_mini_cmd_clear): New function.
11562 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
11563 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
11564
393c783d
FZ
115652009-11-19 Felix Zielcke <fzielcke@z-51.de>
11566
11567 * Makefile.in (install-local): Add a missing backslash.
11568
b2f1e327
FZ
115692009-11-19 Felix Zielcke <fzielcke@z-51.de>
11570
11571 * include/grub/x86_64/io.h: New file.
11572
f577f7a0
RM
115732009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11574
11575 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
11576 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
11577 Include `"progname.h"'.
11578 (main): Initialize gettext.
11579 * util/i386/pc/grub-setup.c: Gettexttize.
11580 * util/i386/pc/grub-mkimage.c: Likewise.
11581
11582 * Makefile.in (po/*.po): Redefine as ...
11583 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
11584
3bc7896c
RM
11585 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
11586
c37943b6
RM
115872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
11588
11589 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
11590 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
11591 (program_name): Remove.
11592 (main): Initialize gettext support.
6323f705
RM
11593 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
11594 Include `<libintl.h>'.
11595 (_): New macro.
c37943b6
RM
11596
11597 * util/mkisofs/eltorito.c: Gettexttize.
11598 * util/mkisofs/joliet.c: Likewise.
11599 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
11600 * util/mkisofs/multi.c: Likewise.
11601 * util/mkisofs/rock.c: Likewise.
11602 * util/mkisofs/tree.c: Likewise.
11603 * util/mkisofs/write.c: Likewise.
11604
3bc7896c
RM
11605 * po/POTFILES: Update with new files.
11606
5ce77c6e
RM
116072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11608
11609 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
11610 * util/mkisofs/iso9660.h: Likewise.
11611 * util/mkisofs/joliet.c: Likewise.
11612 * util/mkisofs/mkisofs.c: Likewise.
11613 * util/mkisofs/mkisofs.h: Likewise.
11614 * util/mkisofs/rock.c: Likewise.
11615 * util/mkisofs/tree.c: Likewise.
11616 * util/mkisofs/write.c: Likewise.
11617
11618 * util/mkisofs/eltorito.c (rcsid): Remove.
11619 * util/mkisofs/hash.c: Likewise.
11620 * util/mkisofs/joliet.c: Likewise.
11621 * util/mkisofs/name.c: Likewise.
11622 * util/mkisofs/rock.c: Likewise.
11623 * util/mkisofs/tree.c: Likewise.
11624 * util/mkisofs/write.c: Likewise.
11625
1dabbc77
RM
116262009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11627
11628 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
11629 instead of static allocation.
11630 * util/mkisofs/match.h: Likewise.
11631
633877cb
RM
116322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11633
3bc7896c
RM
11634 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
11635 and `util/grub.d/10_linux.in'.
633877cb
RM
11636 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
11637 translatable Shell files.
11638
af1c0c85
RM
116392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
11640
11641 * Makefile.in ($(srcdir)/aclocal.m4): New target.
11642
769ae37b
RM
116432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11644
11645 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 11646 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
11647 * util/grub.d/10_kfreebsd.in (bindir): New variable.
11648 Add gettext initialization.
11649 (kfreebsd_entry): Make menuentry output translatable.
11650
116512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11652
11653 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
11654 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
11655 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
11656 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
11657 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 11658 * po/LINGUAS: New file.
769ae37b
RM
11659
116602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11661
11662 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
11663 other things).
11664 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
11665 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
11666 bindtextdomain() calls for gettext initialization.
11667
116682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11669
11670 * gnulib/progname.c: New file (imported from Gnulib).
11671 * gnulib/progname.h: Likewise.
11672 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11673 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
11674 (usage): Replace `progname' with `program_name'.
11675 (main): Use set_program_name() for program name initialization.
11676
116772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11678
11679 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
11680 from here ...
11681 * Makefile.in (CPPFLAGS): ... to here.
11682
116832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11684
11685 * aclocal.m4: Move from here ...
11686 * acinclude.m4: ... to here.
11687 * autogen.sh: Add call to `aclocal'.
11688 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
11689
116902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11691
11692 * Makefile.in (CLEANFILES): Add `po/*.mo'.
11693 (LINGUAS): New variable.
11694 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
11695 (install-local): Install MO files.
11696 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
11697 * include/grub/i18n.h: New file.
3bc7896c
RM
11698 * po/POTFILES: New file.
11699 * po/ca.po: New file.
769ae37b
RM
11700 * util/grub.d/10_linux.in (bindir): New variable.
11701 Add gettext initialization.
11702 (linux_entry): Make menuentry output translatable.
11703 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
11704 (usage): Make --help output translatable.
11705 (main): Initialize gettext.
11706
02c0a6ad
RM
117072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11708
11709 * import_gcry.py: New file (written by Vladimir with minor
11710 adjustments).
11711 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
11712 ciphers.
11713 * INSTALL: Document that Python is required for bootstrap.
11714
117152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
11716
11717 Import ciphers from libgcrypt 1.4.4.
11718
11719 * lib/libgcrypt/cipher/ChangeLog
11720 * lib/libgcrypt/cipher/ac.c
11721 * lib/libgcrypt/cipher/arcfour.c
11722 * lib/libgcrypt/cipher/bithelp.h
11723 * lib/libgcrypt/cipher/blowfish.c
11724 * lib/libgcrypt/cipher/camellia-glue.c
11725 * lib/libgcrypt/cipher/camellia.c
11726 * lib/libgcrypt/cipher/camellia.h
11727 * lib/libgcrypt/cipher/cast5.c
11728 * lib/libgcrypt/cipher/cipher.c
11729 * lib/libgcrypt/cipher/crc.c
11730 * lib/libgcrypt/cipher/des.c
11731 * lib/libgcrypt/cipher/dsa.c
11732 * lib/libgcrypt/cipher/ecc.c
11733 * lib/libgcrypt/cipher/elgamal.c
11734 * lib/libgcrypt/cipher/hash-common.c
11735 * lib/libgcrypt/cipher/hash-common.h
11736 * lib/libgcrypt/cipher/hmac-tests.c
11737 * lib/libgcrypt/cipher/md.c
11738 * lib/libgcrypt/cipher/md4.c
11739 * lib/libgcrypt/cipher/md5.c
11740 * lib/libgcrypt/cipher/primegen.c
11741 * lib/libgcrypt/cipher/pubkey.c
11742 * lib/libgcrypt/cipher/rfc2268.c
11743 * lib/libgcrypt/cipher/rijndael-tables.h
11744 * lib/libgcrypt/cipher/rijndael.c
11745 * lib/libgcrypt/cipher/rmd.h
11746 * lib/libgcrypt/cipher/rmd160.c
11747 * lib/libgcrypt/cipher/rsa.c
11748 * lib/libgcrypt/cipher/seed.c
11749 * lib/libgcrypt/cipher/serpent.c
11750 * lib/libgcrypt/cipher/sha1.c
11751 * lib/libgcrypt/cipher/sha256.c
11752 * lib/libgcrypt/cipher/sha512.c
11753 * lib/libgcrypt/cipher/tiger.c
11754 * lib/libgcrypt/cipher/twofish.c
11755 * lib/libgcrypt/cipher/whirlpool.c
11756
af2f93ac
RM
117572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11758
11759 Fix build for systems without error().
11760
11761 * gnulib/error.c: New file (imported from Gnulib).
11762 * gnulib/error.h: Likewise.
11763 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
11764 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
11765 (this variable is now used by error()).
11766
73fb3dd5
FZ
117672009-11-16 Felix Zielcke <fzielcke@z-51.de>
11768
814f5e96
FZ
11769 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
11770 instead of relying that char is signed.
73fb3dd5 11771
a691ca33
VS
117722009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
11775 blocksize different from specified.
11776 (grub_pxefs_read): Likewise.
11777
2af8f0f4
FZ
117782009-11-16 Felix Zielcke <fzielcke@z-51.de>
11779
11780 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
11781
11782 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
11783 (grub_ata_readwrite): Likewise. Update 2 format strings.
11784 (grub_atapi_read): Likewise.
11785
11786 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
11787 * conf/i386.rmk (pkglib_MODULES): ... to here ...
11788 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
11789 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
11790 (ata_mod_LDFLAGS): Move from here ...
11791 * conf/i386.rmk: ... to here ...
11792 * conf/x86_64-efi.rmk: ... and here.
11793 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
11794 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
11795
83bdecaf
RM
117962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
11797
11798 Relicense multiboot.h, with RMS' blessing.
11799
11800 * include/multiboot.h: Change to X11 license.
11801
fd6fd3d7
RM
118022009-11-15 Robert Millan <rmh.grub@aybabtu.com>
11803
11804 Support --version in grub-mkisofs.
11805
11806 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
11807 (OPTION_VERSION): New macro.
11808 (ld_options): Recognize --version.
11809 (usage): Move `program_name' from here ...
11810 (program_name): ... to here. Add `static' qualifier.
11811 (main): Recognize `OPTION_VERSION'.
11812
16a88c49
FZ
118132009-11-15 Felix Zielcke <fzielcke@z-51.de>
11814
11815 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
11816 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
11817
a4158476
RM
118182009-11-14 Robert Millan <rmh.grub@aybabtu.com>
11819
11820 Fix help2man generation for mkisofs.
11821
11822 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
11823 (usage): Send output to stdout (rather than stderr).
11824
fc2208b0
RM
118252009-11-14 Robert Millan <rmh.grub@aybabtu.com>
11826
11827 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
11828 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
11829 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
11830 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
11831 (bin_SCRIPTS): Add `grub-mkfloppy'.
11832 (grub_mkfloppy_SOURCES): New variable.
11833
11834 * util/grub-mkrescue.in: New file.
11835 * util/i386/pc/grub-mkfloppy.in: New file.
11836
11837 * util/i386/coreboot/grub-mkrescue.in: Remove.
11838 * util/i386/pc/grub-mkrescue.in: Remove.
11839
8d0edf4a
RM
118402009-11-13 Robert Millan <rmh.grub@aybabtu.com>
11841
11842 * include/grub/multiboot.h (struct grub_multiboot_header): Move
11843 from here ...
11844 * include/multiboot.h (struct multiboot_header): ... to here. Update
11845 all users.
11846 * include/grub/multiboot.h (struct grub_multiboot_info): Move
11847 from here ...
11848 * include/multiboot.h (struct multiboot_info): ... to here. Update
11849 all users.
11850 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
11851 from here ...
11852 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
11853 Update all users.
11854 * include/grub/multiboot.h (struct grub_mod_list): Move
11855 from here ...
11856 * include/multiboot.h (struct multiboot_mod_list): ... to here.
11857 Update all users.
11858
a73f5969
RM
118592009-11-13 Robert Millan <rmh.grub@aybabtu.com>
11860
11861 * include/multiboot2.h (multiboot_word): Rename from this ...
11862 (multiboot2_word): ... to this. Update all users.
11863 (multiboot_header): Rename from this ...
11864 (multiboot2_header): ... to this. Update all users.
11865 (multiboot_tag_header): Rename from this ...
11866 (multiboot2_tag_header): ... to this. Update all users.
11867 (multiboot_tag_start): Rename from this ...
11868 (multiboot2_tag_start): ... to this. Update all users.
11869 (multiboot_tag_name): Rename from this ...
11870 (multiboot2_tag_name): ... to this. Update all users.
11871 (multiboot_tag_module): Rename from this ...
11872 (multiboot2_tag_module): ... to this. Update all users.
11873 (multiboot_tag_memory): Rename from this ...
11874 (multiboot2_tag_memory): ... to this. Update all users.
11875 (multiboot_tag_unused): Rename from this ...
11876 (multiboot2_tag_unused): ... to this. Update all users.
11877 (multiboot_tag_end): Rename from this ...
11878 (multiboot2_tag_end): ... to this. Update all users.
11879
1c8927f0
RM
118802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
11881
11882 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
11883 this platform we should support Multiboot1 first.
11884
11885 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11886 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
11887 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
11888
6e1e0d89
RM
118892009-11-12 Robert Millan <rmh.grub@aybabtu.com>
11890
11891 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
11892 of write calls (converting them to fwrite() if they aren't already).
11893 (get_torito_desc): Likewise.
11894 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
11895
7f2b34d8
RM
118962009-11-12 Robert Millan <rmh.grub@aybabtu.com>
11897
11898 * util/i386/pc/grub-install.in: Move from here ...
11899 * util/grub-install.in: ... to here. Update all users.
11900
c0ef3311
CW
119012009-11-11 Colin Watson <cjwatson@ubuntu.com>
11902
11903 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
11904
e1f240ff
RM
119052009-11-11 Robert Millan <rmh.grub@aybabtu.com>
11906
11907 Support for El Torito without floppy emulation.
11908
11909 * util/mkisofs/eltorito.c: Include `<errno.h>'.
11910 (init_boot_catalog): Improve error handling.
11911 (get_torito_desc): Don't use floppy emulation unless requested by
11912 user. Patch boot information table when requested via
11913 `-boot-info-table'.
11914 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
11915 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
11916 (use_boot_info_table): New variables.
11917 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
11918 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
11919 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
11920 `--eltorito-emul-floppy'.
11921 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
11922 and `OPTION_ELTORITO_EMUL_FLOPPY'.
11923 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
11924 (use_boot_info_table, get_731): New prototypes.
11925 * util/mkisofs/write.c (get_731): New function.
11926
af7d4de5
FZ
119272009-11-11 Felix Zielcke <fzielcke@z-51.de>
11928
11929 Fix the generation of the man page.
11930
11931 * util/pc/i386/grub-install.in: Source
11932 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11933
2c55dbc0
RM
119342009-11-11 Robert Millan <rmh.grub@aybabtu.com>
11935
11936 Large file support for grub-mkisofs.
11937
11938 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
11939 * util/mkisofs/mkisofs.c (next_extent, last_extent)
11940 (session_start): Upgrade type to `uint64_t'. Update all users.
11941 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
11942 (struct directory_entry): Upgrade type of `starting_block' and
11943 `size' to `uint64_t'. Update all users.
11944 (struct deferred): Remove unused structure.
11945 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
11946 Update all users.
11947 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
11948 file is larger than `UINT32_MAX'.
11949 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
11950 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
11951 return value.
11952 (struct deferred_write): Upgrade type of `extent' and `size' to
11953 `uint64_t'. Update all users.
11954 (last_extent_written): Upgrade type to `uint64_t'. Update all
11955 users.
11956 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
11957 Update all users. Upgrade type of `remain' to `int64_t' and
11958 `use' to `size_t'. Use error() to handle fread() errors.
11959 (write_files): Rely on write_one_file() rather than calling
11960 xfwrite() directly.
11961
6a9cead5
FZ
119622009-11-09 Felix Zielcke <fzielcke@z-51.de>
11963
11964 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
11965
4825d790
RM
119662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11967
11968 * util/mkisofs/fnmatch.c: Remove.
11969 * util/mkisofs/getopt1.c: Likewise.
11970 * util/mkisofs/getopt.c: Likewise.
11971 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
11972 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
11973 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
11974 `gnulib/getopt1.c' and `gnulib/getopt.c'.
11975 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
11976
11977 * configure.ac: Detect `mingw32msvc' host_os.
11978 Check for lstat(), getuid() and getgid().
11979
11980 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
11981 instances of `u_char' with `uint8_t'.
11982
11983 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
11984 [!HAVE_GETUID] (getuid): New function (stub).
11985 [!HAVE_GETGID] (getgid): Likewise.
11986 [!HAVE_LSTAT] (lstat): Likewise.
11987 [!S_IROTH] (S_IROTH): New macro (dummy).
11988 [!S_IRGRP] (S_IRGRP): Likewise.
11989
84b860d8
RM
119902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11991
11992 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
11993 conditional expression).
11994
66e9b712
RM
119952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
11996
11997 Import from Gnulib.
11998
11999 * gnulib/fnmatch.c: New file.
12000 * gnulib/fnmatch.h: Likewise.
12001 * gnulib/fnmatch_loop.c: Likewise.
12002 * gnulib/getopt.c: Likewise.
12003 * gnulib/getopt.h: Likewise.
12004 * gnulib/getopt1.c: Likewise.
12005 * gnulib/getopt_int.h: Likewise.
12006 * gnulib/gettext.h: Likewise.
12007
34f4a5b0
RM
120082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12009
12010 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12011 * normal/handler.c (read_handler_list): Likewise.
12012
ac451143
RM
120132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12014
12015 Misc cleanup.
12016
12017 * kern/command.c (grub_register_command_prio): Use
12018 grub_zalloc() instead of explicitly zeroing data.
12019 * kern/list.c: Include `<grub/mm.h>'.
12020 (grub_named_list_find): Replace `0' with `NULL'.
12021 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12022 (fs_module_list): Change type to `grub_named_list_t'. Update all
12023 users.
12024 * normal/dyncmd.c (read_command_list): Add space between function
12025 call and parenthesis.
12026 * normal/handler.c (read_handler_list): Likewise.
12027
4089b167
RM
120282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12029
12030 * normal/auth.c (punishment_delay): Moved from here ...
12031 (grub_auth_strcmp): ... to here (inside function).
12032
325f5037
RM
120332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12034
12035 * include/grub/list.h (struct grub_named_list): Remove `const'
12036 qualifier from `name'.
12037 (struct grub_prio_list): Likewise.
12038
7aea29a3
RM
120392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12040
12041 * normal/auth.c: Include `<grub/time.h>'.
12042 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12043
3fd6f044
RM
120442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12045
12046 * normal/auth.c (punishment_delay): New variable.
12047 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12048 (grub_auth_check_authentication): Punish failed login attempts with
12049 an incremental (2^N) delay.
12050
a4cd68e4
RM
120512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12052
12053 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12054 path with $(srcdir).
12055
7ad12f43
VS
120562009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12059
c1129f03
RM
120602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12061
12062 * util/i386/coreboot/grub-mkrescue.in: New file.
12063 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12064 variables.
12065
12066 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12067 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12068 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12069 requirements.
12070 * util/mkisofs/defaults.h: New file.
12071 * util/mkisofs/eltorito.c: Likewise.
12072 * util/mkisofs/exclude.h: Likewise.
12073 * util/mkisofs/fnmatch.c: Likewise.
12074 * util/mkisofs/getopt.c: Likewise.
12075 * util/mkisofs/getopt1.c: Likewise.
12076 * util/mkisofs/hash.c: Likewise.
12077 * util/mkisofs/include/fctldefs.h: Likewise.
12078 * util/mkisofs/include/mconfig.h: Likewise.
12079 * util/mkisofs/include/prototyp.h: Likewise.
12080 * util/mkisofs/include/statdefs.h: Likewise.
12081 * util/mkisofs/iso9660.h: Likewise.
12082 * util/mkisofs/joliet.c: Likewise.
12083 * util/mkisofs/match.c: Likewise.
12084 * util/mkisofs/match.h: Likewise.
12085 * util/mkisofs/mkisofs.c: Likewise.
12086 * util/mkisofs/mkisofs.h: Likewise.
12087 * util/mkisofs/multi.c: Likewise.
12088 * util/mkisofs/name.c: Likewise.
12089 * util/mkisofs/rock.c: Likewise.
12090 * util/mkisofs/tree.c: Likewise.
12091 * util/mkisofs/write.c: Likewise.
12092
ec8bb77d
VS
120932009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12096 being insecure.
12097
3716b12c
RM
120982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12099
12100 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12101 `grub-mkimage' (and use $0 when possible).
12102
b97b7b91
RM
121032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12104
12105 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12106 error message for excessively large memory map.
12107
04114812
RM
121082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12109
12110 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12111 executable bit.
12112
e4eb2373
RM
121132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12114
12115 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12116 message for coreboot users.
12117
c926e1d5 121182009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12119
12120 Fix build with GNU gold.
12121
12122 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12123 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12124 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12125 link addresses.
12126 * aclocal.m4: Likewise.
12127
86e5b1db 121282009-11-04 Felix Zielcke <fzielcke@z-51.de>
12129
12130 * configure.ac (AC_PREREQ): Bump to 2.59d.
12131 * INSTALL: Make it more clear when Autoconf and Ruby are
12132 needed and when to run `./autogen.sh'.
12133
246cd78f 121342009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12135
12136 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12137 OSes.
12138
4f9dfb37 121392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12140
12141 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12142
b82bd5e1 121432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12144
12145 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12146 giving it to GNU Mach.
12147
ff1a9bca 121482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12149
12150 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12151 GNU partition number to get internal GRUB partition number.
12152
61697d9c 121532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12154
12155 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12156 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12157
a50569e1 121582009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12159
12160 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12161 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12162 case.
12163
5b153867 121642009-11-01 Felix Zielcke <fzielcke@z-51.de>
12165
12166 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12167
d9e2cd70 121682009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12169
12170 Fix build problem.
12171
12172 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12173 `-isystem=$(srcdir)/include'.
12174
805111a4 121752009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12176
12177 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12178 checked (grub-install doesn't currently rely on it).
12179
fa6e945f 121802009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12181
12182 Revert SVN r2660.
12183
12184 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12185 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12186 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12187 * conf/i386-ieee1275.rmk: Likewise.
12188 * conf/i386-pc.rmk: Likewise.
12189 * conf/powerpc-ieee1275.rmk: Likewise.
12190 * conf/sparc64-ieee1275.rmk: Likewise.
12191 * conf/x86_64-efi.rmk: Likewise.
12192
cee15086 121932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12194
12195 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12196
95b9239e 121972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12198
12199 * include/grub/misc.h: Stop checking for APPLE_CC.
12200
2ed19dfd 122012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12202
12203 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12204 doesn't cause an infinite call loop.
12205
fdcdde19 122062009-10-28 Felix Zielcke <fzielcke@z-51.de>
12207
12208 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12209 strings.
12210
cefabfe1 122112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12212
12213 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
12214 variable.
12215 * Makefile.in: Likewise.
12216
ed96ab6d 122172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12218
12219 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
12220
0579b753 122212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12222
12223 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
12224
478df409 122252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12226
12227 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
12228
083d1679 122292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12230
12231 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
12232 from here ...
12233 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
12234
5947ae32 122352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12236
12237 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
12238 in $(MAKEINFO) invocation. This makes it clear in output that
12239 errors are being ignored.
12240
94180ff6 122412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12242
12243 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
12244 from here ...
12245 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12246 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
12247 * conf/i386-ieee1275.rmk: Likewise.
12248 * conf/i386-pc.rmk: Likewise.
12249 * conf/powerpc-ieee1275.rmk: Likewise.
12250 * conf/sparc64-ieee1275.rmk: Likewise.
12251 * conf/x86_64-efi.rmk: Likewise.
12252
9031b03a 122532009-10-26 Colin Watson <cjwatson@ubuntu.com>
12254
12255 * util/grub-editenv.c (main): If only a command is given, use
12256 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
12257 (usage): FILENAME is now optional and has a default.
12258
e4f6809b 122592009-10-26 Colin Watson <cjwatson@ubuntu.com>
12260
12261 Improve grub-mkconfig performance when there are several menu
12262 entries on a single filesystem.
12263
12264 * util/grub.d/10_linux.in (linux_entry): Cache the output of
12265 prepare_grub_to_access_device.
12266 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12267 * util/grub.d/30_os-prober.in: Likewise.
12268
67937d4d 122692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12270
12271 * util/grub.d/10_freebsd.in: Remove.
12272 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
12273 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
12274
ee3756cc 122752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
12276
5c35048e 12277 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 12278
4dea1c6f 122792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12280
12281 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
12282 grub_util_error() call.
12283
042484d7 122842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12285
12286 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
12287 `reserved_first_sector' member.
12288 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
12289 `reserved_first_sector' to 1.
12290 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
12291 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
12292 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
12293 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
12294 filesystems which begin at first sector.
12295 (options): New option --skip-fs-probe.
12296 (main): Handle --skip-fs-probe and pass it to setup().
12297
d64448a7 122982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12299
12300 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
12301 (memset): Fix function prototype.
12302
508d42ec 123032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
123042009-10-25 Vasily Averin <vvs@parallels.com>
12305
12306 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
12307 `dirent.direntlen == 0'.
12308
b240e30c 123092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12310
12311 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
12312 `cpio'.
12313 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
12314
346e7fbe 123152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12316
12317 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
12318 `__trampoline_setup' and `__ucmpdi2'.
12319 * include/grub/powerpc/libgcc.h: Only export symbols for functions
12320 that libgcc provides.
12321
cdb308b0 123222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12323
12324 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
12325 * include/grub/sparc64/libgcc.h (memset): Likewise.
12326 * include/grub/misc.h (memset, memcmp): New function prototypes.
12327
fb26abc2 123282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12329
12330 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
12331 `cpio'.
12332 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
12333
f6693890 123342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12335
12336 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
12337 * docs/grub.cfg: Compensate for recent change in multiboot
12338 loader (since 2009-08-14 it won't pass filename to payload).
12339 * util/grub.d/10_hurd.in: Likewise.
12340
0933cdc0 123412009-10-21 Felix Zielcke <fzielcke@z-51.de>
12342
12343 * config.guess: Update to latest version from config git
12344 repository.
12345 * config.sub: Likewise.
12346
3b2fe8c2 123472009-10-20 Robert Millan <rmh.grub@aybabtu.com>
12348
12349 Fix build on sparc64.
12350
12351 * configure.ac: Perform checks for libgcc symbols before
12352 adding `-nostdlib' to LDFLAGS.
12353
46695a62 123542009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 Let user specify OpenBSD root device.
12357
12358 * loader/i386/bsd.c (openbsd_root): New variable.
12359 (openbsd_opts): New option 'root'.
12360 (OPENBSD_ROOT_ARG): New macro.
12361 (grub_openbsd_boot): Use 'openbsd_root'.
12362 (grub_cmd_openbsd): Fill 'openbsd_root'.
12363
d2b6b7fc 123642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12365
12366 * NEWS: Misc adjustments.
12367
421bd7ac 123682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
12371
f1d29d87 123722009-10-16 Robert Millan <rmh.grub@aybabtu.com>
12373
12374 * configure.ac: Bump version to 1.97.
12375
6f3cd880 123762009-10-16 Colin Watson <cjwatson@ubuntu.com>
12377
12378 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
12379 -mno-3dnow on x86 architectures. Some toolchains enable these
12380 features by default, but they rely on registers that aren't enabled
12381 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
12382
035f7122 123832009-10-15 Robert Millan <rmh.grub@aybabtu.com>
12384
12385 Make entry text a bit more readable.
12386
12387 * util/grub.d/10_linux.in: Add `with' before `Linux'.
12388
44998e58 123892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
12392
cd2851b3 123932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
12396 operations.
12397
c6f3b249 123982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * configure.ac: Add missing dollar.
12401
6b5886ba 124022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
12405
12406 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
12407 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
12408 exports.
12409 * include/grub/sparc64/libgcc.h: Likewise. Use
12410 preprocessor conditionals.
12411
e9d66f6d 124122009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12413
12414 * conf/common.rmk (grub-dumpbios): Remove rule.
12415 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
12416 * util/grub-dumpbios.in: Remove file.
12417
9155bc17 124182009-10-14 Robert Millan <rmh.grub@aybabtu.com>
12419
12420 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
12421 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
12422
12423 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
12424 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
12425 users.
12426
12427 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
12428 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
12429 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
12430 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
12431 users.
12432
bf7f7a18 124332009-10-12 Robert Millan <rmh.grub@aybabtu.com>
12434
12435 * term/tparm.c: Switch to GPLv3.
12436
86564c26 124372009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12438
12439 * include/grub/i386/cpuid.h: Add header protection.
12440
5c936493 124412009-10-09 Robert Millan <rmh.grub@aybabtu.com>
12442
12443 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
12444
12445 * include/grub/i386/cpuid.h: New file.
12446 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
12447 (has_longmode): Rename to ...
12448 (grub_cpuid_has_longmode): ... this. Update all users. Remove
12449 `static' attribute.
12450 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
12451 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
12452 on a CPU that doesn't implement AMD64 instruction set.
12453
186e7cf2 124542009-10-06 Colin Watson <cjwatson@ubuntu.com>
12455
12456 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
12457 that version.texi is rebuilt on version number changes.
12458
83b65c4a 124592009-10-06 Colin Watson <cjwatson@ubuntu.com>
12460
12461 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
12462 Fixes bug #27602.
12463
d244281c 124642009-10-06 Colin Watson <cjwatson@ubuntu.com>
12465
12466 * util/i386/pc/grub-install.in: Source
12467 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
12468 that the --grub-probe option will work.
12469 * util/sparc64/ieee1275/grub-install.in: Likewise.
12470
da25306d 124712009-10-05 Robert Millan <rmh.grub@aybabtu.com>
12472
12473 * configure.ac: Bump version to 1.97~beta4.
12474
e8ee83c0 124752009-10-03 Robert Millan <rmh.grub@aybabtu.com>
12476
12477 Resync grub-mkdevicemap in x86_64-efi.
12478
12479 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
12480 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
12481 `util/devicemap.c'.
12482
50dcabcf 124832009-10-01 Colin Watson <cjwatson@ubuntu.com>
12484
12485 * util/grub-editenv.c (create_envblk_file): Write new block with a
12486 .new suffix and then rename it into place, to ensure atomic
12487 creation.
12488
0e51c3a7 124892009-09-28 Robert Millan <rmh.grub@aybabtu.com>
12490
12491 Do not automatically install headers.
12492
12493 * Makefile.in (include_DATA): Remove. Update all users.
12494
31299a95 124952009-09-26 Robert Millan <rmh.grub@aybabtu.com>
12496
12497 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
12498 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
12499
12500 * util/osdetect.lua: Remove.
12501 * script/lua/lauxlib.c: Likewise.
12502 * script/lua/ldebug.c: Likewise.
12503 * script/lua/grub_main.c: Likewise.
12504 * script/lua/lauxlib.h: Likewise.
12505 * script/lua/ldebug.h: Likewise.
12506 * script/lua/ltablib.c: Likewise.
12507 * script/lua/liolib.c: Likewise.
12508 * script/lua/lstrlib.c: Likewise.
12509 * script/lua/lualib.h: Likewise.
12510 * script/lua/ldo.c: Likewise.
12511 * script/lua/ldump.c: Likewise.
12512 * script/lua/ldo.h: Likewise.
12513 * script/lua/loslib.c: Likewise.
12514 * script/lua/lundump.c: Likewise.
12515 * script/lua/grub_lib.c: Likewise.
12516 * script/lua/ldblib.c: Likewise.
12517 * script/lua/lundump.h: Likewise.
12518 * script/lua/lmem.c: Likewise.
12519 * script/lua/grub_lib.h: Likewise.
12520 * script/lua/lmathlib.c: Likewise.
12521 * script/lua/lstate.c: Likewise.
12522 * script/lua/ltm.c: Likewise.
12523 * script/lua/lvm.c: Likewise.
12524 * script/lua/lmem.h: Likewise.
12525 * script/lua/lstate.h: Likewise.
12526 * script/lua/ltm.h: Likewise.
12527 * script/lua/ltable.c: Likewise.
12528 * script/lua/lvm.h: Likewise.
12529 * script/lua/llex.c: Likewise.
12530 * script/lua/lgc.c: Likewise.
12531 * script/lua/grub_lua.h: Likewise.
12532 * script/lua/loadlib.c: Likewise.
12533 * script/lua/lfunc.c: Likewise.
12534 * script/lua/lopcodes.c: Likewise.
12535 * script/lua/lparser.c: Likewise.
12536 * script/lua/ltable.h: Likewise.
12537 * script/lua/llex.h: Likewise.
12538 * script/lua/lgc.h: Likewise.
12539 * script/lua/lfunc.h: Likewise.
12540 * script/lua/lbaselib.c: Likewise.
12541 * script/lua/lopcodes.h: Likewise.
12542 * script/lua/lparser.h: Likewise.
12543 * script/lua/lzio.c: Likewise.
12544 * script/lua/linit.c: Likewise.
12545 * script/lua/lobject.c: Likewise.
12546 * script/lua/llimits.h: Likewise.
12547 * script/lua/lstring.c: Likewise.
12548 * script/lua/lzio.h: Likewise.
12549 * script/lua/lapi.c: Likewise.
12550 * script/lua/lcode.c: Likewise.
12551 * script/lua/lua.h: Likewise.
12552 * script/lua/lobject.h: Likewise.
12553 * script/lua/lstring.h: Likewise.
12554 * script/lua/lapi.h: Likewise.
12555 * script/lua/lcode.h: Likewise.
12556 * script/lua/luaconf.h: Likewise.
12557
cb8a2c38 125582009-09-26 Colin Watson <cjwatson@ubuntu.com>
12559
12560 * docs/grub.texi (Command-line and menu entry commands): Document
12561 date and echo commands.
12562
6b9b6276 125632009-09-24 Pavel Roskin <proski@gnu.org>
12564
12565 * include/grub/kernel.h (struct grub_module_header): Remove
12566 `grub_module_header_types'. Make `type' unsigned. Make `size'
12567 32-bit on all platforms.
12568 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
12569 8-bit field. Use grub_host_to_target32() for `size'.
12570 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
12571 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
12572 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
12573
4e5a02a7 125742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12575
12576 Fix "lost keypress" bug in at_keyboard.
12577
12578 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
12579 Checks for readyness of input buffer (without flushing it).
12580 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
12581 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
12582
c6dcedf6 125832009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12584
12585 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
12586 size check within GRUB_MACHINE_PCBIOS section.
12587
74c958b1 125882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
12589
12590 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
12591 return value.
12592 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
12593 KEYBOARD_ISREADY check.
12594 (grub_at_keyboard_checkkey): Rename to ...
12595 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
12596 Remove gratuitous cast.
12597
ff420223 125982009-09-23 Colin Watson <cjwatson@ubuntu.com>
12599
12600 * configure.ac: Call AC_PROG_MKDIR_P.
12601 * Makefile.in (docs/stamp-vti): Create docs directory. Create
12602 version.texi in $(builddir) rather than $(srcdir).
12603 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
12604 to makeinfo's @include search path.
12605
d96875df 126062009-09-23 Felix Zielcke <fzielcke@z-51.de>
12607
12608 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
12609
9b3f8365 126102009-09-23 Felix Zielcke <fzielcke@z-51.de>
12611
12612 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
12613 for `*.dpkg-new'.
12614
c44c90db 126152009-09-21 Colin Watson <cjwatson@ubuntu.com>
12616
12617 Build info documentation. Some code borrowed from Automake.
12618
12619 * configure.ac: Check for makeinfo.
12620 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
12621 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
12622 docs/version.texi.
12623 (MOSTLYCLEANFILES): Add vti.tmp.
12624 (docs/version.texi, docs/stamp-vti): Update automatically.
12625 (docs/grub.info): Build info documentation. Use --force and ignore
12626 errors for now.
12627 (all-local): Add $(INFOS).
12628 (install-local): Install info files.
12629 (uninstall): Uninstall info files.
12630 * docs/version.texi: Remove from revision control. This file is
12631 automatically generated on build now.
12632 * gendistlist.sh: Add `*.info'.
12633
e0b37bb5 126342009-09-21 Felix Zielcke <fzielcke@z-51.de>
12635
12636 * kern/term.c: Fix indentation.
12637
5a78865b 126382009-09-21 Felix Zielcke <fzielcke@z-51.de>
12639
12640 * util/hostdisk.c: Fix a comment.
12641
dace7e8a 126422009-09-20 Robert Millan <rmh.grub@aybabtu.com>
12643
12644 Fix regression introduced in r2539.
12645
12646 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
12647 to 0xA1.
12648
a83d079b 126492009-09-19 Colin Watson <cjwatson@ubuntu.com>
12650
12651 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 12652 os-prober. Under normal operation, it does not print anything to
12653 stderr; if it does, we need to debug it, and throwing away stderr
12654 makes that excessively difficult.
a83d079b 12655
be94a509 126562009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
12659
63f745e8 126602009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12661
12662 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
12663 AC_LANG_PROGRAM from autoconf.
12664 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
12665 prototypes (fixes warning).
12666
12667 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
12668 `--disable-werror' was used.
12669
bbb2a70f 126702009-09-16 Robert Millan <rmh.grub@aybabtu.com>
12671
12672 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
12673 uninitialized `lastaddr'.
12674
77c24f1d 126752009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12676
0f0b8c87 12677 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 12678
07197f23 126792009-09-14 Colin Watson <cjwatson@ubuntu.com>
12680
12681 * commands/test.c (get_fileinfo): Return immediately if
12682 grub_fs_probe fails.
12683
dabf1798 126842009-09-14 José Martínez <xosemp@gmail.com>
12685
12686 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
12687
d52109a7 126882009-09-14 Colin Watson <cjwatson@ubuntu.com>
12689
12690 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
12691 output.
12692
56532179 126932009-09-13 Robert Millan <rmh.grub@aybabtu.com>
12694
12695 * configure.ac: Remove --enable-grub-pe2elf. Only build
12696 grub-pe2elf when needed by the build system itself.
12697 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
12698
8ef070f5 126992009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12700
12701 * configure.ac: Bump version to 1.97~beta3.
12702 * docs/version.texi: Likewise.
12703
61229557 127042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12705
12706 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
12707 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
12708 from here ...
12709 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
12710 (grub_linux_setup_video): ... to here (with some adjustments).
12711
5c9f8d84 127122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
12713
12714 Fix memory corruption issue (spotted by Colin Watson).
12715
12716 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
12717 causing returned size to be stored in an incorrect memory location.
12718 Fix use of uninitialized value when storing the returned size.
12719
e8f5d6e9 127202009-09-12 Yves Blusseau <blusseau@zetam.org>
12721
12722 Change clean rules to properly remove files
12723
12724 * genmk.rb: add new clean rules
12725 * Makefile.in (clean): add the new targets
12726 (mostlyclean): likewise
12727
cda2a409 127282009-09-11 Colin Watson <cjwatson@ubuntu.com>
12729
12730 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
12731 to grub_uint64_t.
12732 * fs/ntfs.c (init_file): Understand 64-bit sizes for
12733 non-resident files.
12734
86695375 127352009-09-11 Colin Watson <cjwatson@ubuntu.com>
12736
12737 * configure.ac: Don't look for help2man when cross-compiling. Fixes
12738 part of bug #27349.
12739
8aa1541a 127402009-09-10 Felix Zielcke <fzielcke@z-51.de>
12741
12742 * util/grub-mkconfig.in: Make the created config mode 400 and
12743 print a warning if it fails.
12744
48d9bb0a 127452009-09-10 Robert Millan <rmh.grub@aybabtu.com>
12746
12747 * util/grub.d/40_custom.in: Ask user to type custom entries below
12748 comment, rather than below 'exec tail' line.
12749
3b0521be 127502009-09-10 Colin Watson <cjwatson@ubuntu.com>
12751
12752 * util/grub.d/40_custom.in: Make sure that the explanatory text is
12753 visible in grub.cfg.
12754
50051d55 127552009-09-10 Colin Watson <cjwatson@ubuntu.com>
12756
12757 * util/grub.d/40_custom.in: Make it a little clearer how to use this
12758 file.
12759
c0d34387 127602009-09-10 Felix Zielcke <fzielcke@z-51.de>
12761
12762 * docs/grub.cfg: Add an example menu entry for memtest86+.
12763
80a608f3 127642009-09-09 Felix Zielcke <fzielcke@z-51.de>
12765
a2094832 12766 * config.guess: Update to latest version from config git.
80a608f3 12767 * config.sub: Likewise.
12768
99423078 127692009-09-08 Colin Watson <cjwatson@ubuntu.com>
12770
12771 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
12772 unknown-command case. Fixes bug #27320.
12773
44454e4c 127742009-09-08 Felix Zielcke <fzielcke@z-51.de>
12775
12776 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
12777 `help' if the command exists.
12778
e30d87ad 127792009-09-06 Robert Millan <rmh.grub@aybabtu.com>
12780
12781 * INSTALL: Require GCC 4.1.3 or later.
12782
9a86f1ec 127832009-09-06 Yves Blusseau <blusseau@zetam.org>
12784
12785 * Makefile.in (RMKFILES): add i386-qemu.rmk
12786 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
12787 $(srcdir)/stamp-h.in
12788
7f26d466 127892009-09-05 Robert Millan <rmh.grub@aybabtu.com>
12790
12791 * util/grub-probe.c (probe): Comment out buggy codepath, which
12792 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
12793 should be re-enabled after 1.97.
12794
3a613259 127952009-09-05 Felix Zielcke <fzielcke@z-51.de>
12796
12797 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
12798 find searches for.
12799
197f76c7 128002009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
12803 unnecessary calls to grub_error.
12804
70ba68ce 128052009-09-04 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * NEWS: Mention `keystatus' and Unicode fonts.
12808
4ff0d7a4 128092009-09-04 Robert Millan <rmh.grub@aybabtu.com>
12810
12811 * configure.ac: Bump version to 1.97~beta2.
12812 * docs/version.texi: Likewise.
12813
77c55a87 128142009-09-03 Colin Watson <cjwatson@ubuntu.com>
12815
12816 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
12817 containing unwind information in some cases where it previously did
12818 not. Use -fno-dwarf2-cfi-asm if available to restore the old
12819 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
12820 discussion.
12821
f79572cd 128222009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
12823
12824 Embedding loadenv module into grub-emu
12825
12826 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
12827 commands/loadenv.c
12828 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
12829 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
12830 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
12831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
12832 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
12833 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
12834
93a81088 128352009-09-03 Magnus Granberg <zorry@ume.nu>
12836
12837 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
12838 include -fPIE in the default specs.
12839 * configure.ac: Check if pie_possible is yes and add -fno-PIE
12840 to TARGET_CFLAGS.
12841
160034b2 128422009-09-03 Felix Zielcke <fzielcke@z-51.de>
12843
12844 * INSTALL: Note that GNU Bison 2.3 or later is required.
12845
087c07c4 128462009-09-03 Colin Watson <cjwatson@ubuntu.com>
12847
12848 * kern/i386/pc/startup.S: Fix typo.
12849
cbf978c0 128502009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
12853 according to GCS.
12854
128552009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 12856
12857 * docs/grub.texi (Naming convention): Describe one-based partition
12858 numbering.
12859 (Device syntax): Likewise.
12860 (File name syntax): Likewise.
12861 (Block list syntax): Likewise.
12862 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
12863 menu.lst.
12864 (File name syntax): Likewise.
12865 (Command-line and menu entry commands): Document acpi, blocklist,
12866 crc, export, insmod, keystatus, ls, set, and unset commands.
12867
f3e8cdfd 128682009-09-02 Colin Watson <cjwatson@ubuntu.com>
12869
12870 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
12871 to avoid implying that only one of --shift, --ctrl, or --alt may be
12872 used.
12873
c0bc232b 128742009-09-02 Colin Watson <cjwatson@ubuntu.com>
12875
12876 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
12877 rather than comparing against S_IFREG, which will almost never work.
12878
aa0f752d 128792009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
12882 (write_blocklists): Likewise.
12883
ecb3166a 128842009-09-01 Colin Watson <cjwatson@ubuntu.com>
12885
12886 * script/lua/grub_lua.h (fputs): Supply a format string as the first
12887 argument to grub_printf.
12888
c403a125 128892009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 12890
12891 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 12892 non GNU test.
31aba781 12893
b5e7312c 128942009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 * kern/file.c (grub_file_read): Spelling fix
12897
fe00f472 128982009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
12901 loading of headers in some cases.
12902
cc55302e 129032009-08-30 Robert Millan <rmh.grub@aybabtu.com>
12904
12905 * configure.ac: Bump version to 1.97~beta1.
12906 * docs/version.texi: Likewise.
12907
5c90cdd2 129082009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 12909
12910 * include/grub/i386/xnu.h: Add license header.
12911 include grub/err.h explicitly.
12912
c90edae4 129132009-08-29 Robert Millan <rmh.grub@aybabtu.com>
12914
12915 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
12916 to `ufs' in the vfs.root.mountfrom kernel parameter.
12917
d8888b5c 129182009-08-29 Robert Millan <rmh.grub@aybabtu.com>
12919
12920 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
12921
12922 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
12923 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
12924
12925 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
12926 `ARRAY_SIZE' macro.
12927
6f07b921 129282009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * kern/file.c (grub_file_read): Check offset.
12931 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
12932 * fs/jfs.c (grub_jfs_read_file): Likewise.
12933 * fs/ntfs.c (grub_ntfs_read): Likewise.
12934 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
12935 * fs/minix.c (grub_minix_read_file): Correct offset check.
12936 * fs/ufs.c (grub_ufs_read_file): Likewise.
12937
b4f34077 129382009-08-28 Colin Watson <cjwatson@ubuntu.com>
12939
12940 * term/i386/pc/console.c (bios_data_area): Cast
12941 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
12942
e7c69859 129432009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 1-bit optimised blitters.
12946
12947 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
12948 prototype.
12949 (grub_video_fbblit_replace_24bit_1bit): Likewise.
12950 (grub_video_fbblit_replace_16bit_1bit): Likewise.
12951 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12952 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12953 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
12954 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
12955 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
12956 function.
12957 (grub_video_fbblit_replace_24bit_1bit): Likewise.
12958 (grub_video_fbblit_replace_16bit_1bit): Likewise.
12959 (grub_video_fbblit_replace_8bit_1bit): Likewise.
12960 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
12961 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
12962 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
12963 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
12964 when possible.
12965 * video/video.c (grub_video_get_blit_format): Return
12966 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
12967
a57da43f 129682009-08-28 Colin Watson <cjwatson@ubuntu.com>
12969
12970 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
12971 the first argument to grub_printf.
12972
4cbe67e5 129732009-08-28 Colin Watson <cjwatson@ubuntu.com>
129742009-08-28 Robert Millan <rmh.grub@aybabtu.com>
12975
12976 Add `getkeystatus' terminal method. Add a new `keystatus' command
12977 to query it.
12978
12979 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
12980 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
12981 modifier key bitmasks.
12982 (struct grub_term_input): Add `getkeystatus' member.
12983 (grub_getkeystatus): Add prototype.
12984 * kern/term.c (grub_getkeystatus): New function.
12985
12986 * include/grub/i386/pc/memory.h
12987 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
12988 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
12989 Data Area layout.
12990 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
12991 (grub_console_term_input): Set `getkeystatus' member.
12992 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
12993 constants.
12994 (grub_usb_keyboard_getreport): Likewise.
12995 (grub_usb_keyboard_checkkey): Likewise.
12996 (grub_usb_keyboard_getkeystatus): New function.
12997 (grub_usb_keyboard_term): Set `getkeystatus' member.
12998
12999 * commands/keystatus.c: New file.
13000 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13001 (keystatus_mod_SOURCES): New variable.
13002 (keystatus_mod_CFLAGS): Likewise.
13003 (keystatus_mod_LDFLAGS): Likewise.
13004 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13005 commands/keystatus.c.
13006 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13007 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13008 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13010 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13011 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13012
6e2a9085 130132009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 Split befs.mod and afs.mod into *_be.mod and *.mod
13016
13017 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13018 (grub_fstest_SOURCES): Likewise.
13019 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13020 (afs_be_mod_SOURCES): New variable.
13021 (afs_be_mod_CFLAGS): Likewise.
13022 (afs_be_mod_LDFLAGS): Likewise.
13023 (befs_be_mod_SOURCES): Likewise.
13024 (befs_be_mod_CFLAGS): Likewise.
13025 (befs_be_mod_LDFLAGS): Likewise.
13026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13027 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13028 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13029 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13030 (grub_emu_SOURCES): Likewise.
13031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13033 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13034 * fs/afs_be.c: New file.
13035 * fs/befs_be.c: New file.
13036 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13037 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13038 (U16): Replaced with ...
13039 (grub_afs_to_cpu16): ...this. All users updated.
13040 (U32): Replaced with ...
13041 (grub_afs_to_cpu32): ...this. All users updated.
13042 (U64): Replaced with ...
13043 (grub_afs_to_cpu64): ...this. All users updated.
13044 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13045 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13046 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13047 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13048 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13049 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13050 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13051 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13052 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13053 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13054 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13055
32a71655 130562009-08-26 Bean <bean123ch@gmail.com>
13057
13058 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13059 64-bit number.
13060 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13061 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13062 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13063
552bf6c5 130642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 NetBSD memory map support.
13067
13068 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13069 (grub_netbsd_btinfo_mmap_header): New structure.
13070 (grub_netbsd_btinfo_mmap_entry): Likewise.
13071 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13072
1ae2078c 130732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 Enable bsd.mod on coreboot.
13076
13077 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13078 (bsd_mod_SOURCES): New variable.
13079 (bsd_mod_CFLAGS): Likewise.
13080 (bsd_mod_LDFLAGS): Likewise.
13081 (bsd_mod_ASFLAGS): Likewise.
13082 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13083 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13084
beefc598 130852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 Cleanup NetBSD root support.
13088
13089 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13090 grub_bsd_get_device.
13091 Fix typo.
13092
3b76e68b 130932009-08-25 Felix Zielcke <fzielcke@z-51.de>
13094
13095 * util/grub.d/00_header.in: Move check for the video backend of
13096 gfxterm from here ...
13097 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13098 a suitable video backend.
13099
aea664ea 131002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 Fix breakage in grub-setup.
13103
13104 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13105 "msdos_partition_map".
13106
ff747d50 131072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 Fix breakage in normal/auth.c.
13110
13111 * normal/auth.c (grub_iswordseparator): New function.
13112
e7e1f93f 131132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 Authentication support.
13116
13117 * commands/password.c: New file.
13118 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13119 (password_mod_SOURCES): New variable.
13120 (password_mod_CFLAGS): Likewise.
13121 (password_mod_LDFLAGS): Likewise.
13122 (normal_mod_SOURCES): Add normal/auth.c.
13123 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13124 normal/auth.c.
13125 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13126 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13127 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13129 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13130 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13131 * include/grub/auth.h: New file.
13132 * include/grub/err.h (grub_err_t): New enum value
13133 GRUB_ERR_ACCESS_DENIED.
13134 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13135 'users'.
13136 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13137 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13138 users updated.
13139 * normal/auth.c: New file.
13140 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13141 (grub_cmdline_run): Don't allow to go to command line without
13142 authentication.
13143 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13144 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13145 menuentry without superuser rights.
13146 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13147 user isn't a superuser.
13148
70f1161d 131492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 Save space by inlining misc.c functions.
13152
13153 * kern/misc.c (grub_iswordseparator): Made static.
13154 * kern/misc.c (grub_strcat): Moved from here ...
13155 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13156 * kern/misc.c (grub_strncat): Moved from here ...
13157 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13158 * kern/misc.c (grub_strcasecmp): Moved from here ...
13159 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13160 * kern/misc.c (grub_strncasecmp): Moved from here ...
13161 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13162 * kern/misc.c (grub_isalpha): Moved from here ...
13163 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13164 * kern/misc.c (grub_isdigit): Moved from here ...
13165 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13166 * kern/misc.c (grub_isgraph): Moved from here ...
13167 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13168 * kern/misc.c (grub_tolower): Moved from here ...
13169 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13170
48e40bff 131712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 * script/sh/function.c (grub_script_function_find): Cut error message
13174 not to flood terminal.
13175 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13176 limit.
13177 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13178
c385bfc3 131792009-08-24 Colin Watson <cjwatson@ubuntu.com>
13180
13181 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13182 `report' grub_uint8_t *.
13183 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13184 Use a 50-millisecond timeout rather than just repeating
13185 grub_usb_keyboard_getreport 50 times.
13186 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13187
2d21e3e8 131882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Rename *_partition_map to part_*
13191
13192 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13193 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13194 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13195 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13196 All users updated.
13197 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13198 All users updated.
13199 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13200 * util/grub-probe.c (probe_partmap): Don't transform partition name
13201 to get module name.
13202
dd103c4e 132032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 Fix OpenBSD and NetBSD support.
13206
13207 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13208 memory address conflict.
13209 (OPENBSD_MMAP_ACPI): New definition.
13210 (OPENBSD_MMAP_NVS): Likewise.
13211 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
13212 and OPENBSD_MMAP_NVS.
13213 Add memory map terminator
13214 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 13215 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 13216
16c84d74 132172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 Let user specify NetBSD root device.
13220
13221 * loader/i386/bsd.c (netbsd_root): New variable.
13222 (netbsd_opts): New option 'root'.
13223 (NETBSD_ROOT_ARG): New macro.
13224 (grub_netbsd_boot): Use 'netbsd_root'.
13225 (grub_bsd_unload): Free 'netbsd_root'.
13226 (grub_cmd_netbsd): Fill 'netbsd_root'.
13227
adb29902 132282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 Support for 64-bit NetBSD.
13231
13232 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
13233 point when booting non-FreeBSD.
13234
f5ae9f74 132352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 Support --no-smp and --no-acpi for NetBSD.
13238
13239 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
13240 (NETBSD_AB_NOACPI): Likewise.
13241 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
13242 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
13243
de74f136 132442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
13247 errors.
13248 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
13249 errors. Call grub_error when needed.
13250
e9a925da 132512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 * commands/search.c (search_fs): Try searching without autoload first.
13254 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13255 filesystem module explicitly for faster booting.
13256
5174302b 132572009-08-23 Colin Watson <cjwatson@ubuntu.com>
13258
13259 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
13260
c8c80635 132612009-08-23 Colin Watson <cjwatson@ubuntu.com>
13262
13263 * util/grub.d/30_os-prober.in: Disable os-prober if
13264 `GRUB_DISABLE_OS_PROBER' was set to true.
13265
71acf5e5 132662009-08-23 Robert Millan <rmh.grub@aybabtu.com>
13267
13268 * partmap/pc.c: Rename to ...
13269 * partmap/msdos.c: ... this. Update all users.
13270 (grub_pc_partition_map): Rename to ...
13271 (grub_msdos_partition_map): ... this. Update all users.
13272
13273 * parttool/pcpart.c: Rename to ...
13274 * parttool/msdospart.c: ... this. Update all users.
13275
13276 * include/grub/pc_partition.h: Rename to ...
13277 * include/grub/msdos_partition.h: ... this. Update all users.
13278 (grub_pc_partition_bsd_entry): Rename to ...
13279 (grub_msdos_partition_bsd_entry): ... this. Update all users.
13280 (grub_pc_partition_disk_label): Rename to ...
13281 (grub_msdos_partition_disk_label): ... this. Update all users.
13282 (grub_pc_partition_entry): Rename to ...
13283 (grub_msdos_partition_entry): ... this. Update all users.
13284 (grub_pc_partition_mbr): Rename to ...
13285 (grub_msdos_partition_mbr): ... this. Update all users.
13286 (grub_pc_partition): Rename to ...
13287 (grub_msdos_partition): ... this. Update all users.
13288 (grub_pc_partition_is_empty): Rename to ...
13289 (grub_msdos_partition_is_empty): ... this. Update all users.
13290 (grub_pc_partition_is_extended): Rename to ...
13291 (grub_msdos_partition_is_extended): ... this. Update all users.
13292 (grub_pc_partition_is_bsd): Rename to ...
13293 (grub_msdos_partition_is_bsd): ... this. Update all users.
13294
13295 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
13296 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
13297 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
13298 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
13299 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
13300 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
13301 (gpt_mod_LDFLAGS): Rename to ...
13302 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
13303 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
13304 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
13305 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
13306 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
13307 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
13308 (part_gpt_mod_LDFLAGS): ... this.
13309 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
13310 `pcpart.mod' to `msdospart.mod'.
13311 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
13312 to ...
13313 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
13314 (msdospart_mod_LDFLAGS): ... this.
13315
c11fded5 133162009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
13319 (openbsd_opts): Likewise.
13320 (netbsd_opts): Likewise.
13321 (freebsd_flags): Added 0 terminator.
13322 (openbsd_flags): Likewise.
13323 (netbsd_flags): Likewise.
13324 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
13325 (grub_cmd_freebsd): Transformed into extended command.
13326 (grub_cmd_openbsd): Likewise.
13327 (grub_cmd_netbsd): Likewise.
13328 (cmd_freebsd): Changed type to grub_extcmd_t.
13329 (cmd_openbsd): Likewise.
13330 (cmd_netbsd): Likewise.
13331 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
13332 grub_cmd_openbsd as extended commands.
13333 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
13334 cmd_netbsd and cmd_openbsd
13335
11d1c769 133362009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
13339
7a9094e5 133402009-08-21 Pavel Roskin <proski@gnu.org>
13341
5496c37e 13342 * Makefile.in (install-local): When checking if a file is in the
13343 build directory, use "test -e" to detect symlinks.
13344
7a9094e5 13345 * Makefile.in (install-local): Remove all files in
13346 $(DESTDIR)$(pkglibdir) before installing new files there.
13347
e53cea11 133482009-08-18 Felix Zielcke <fzielcke@z-51.de>
13349
13350 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
13351 grub-mkelfimage.
13352
9aced544 133532009-08-18 Felix Zielcke <fzielcke@z-51.de>
13354
13355 * util/grub-mkconfig.in: Don't use gfxterm by default if not
13356 explicitly specified by the user.
13357
b7da6bab 133582009-08-18 Pavel Roskin <proski@gnu.org>
13359
13360 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
13361 grub_uint8_t pointer for data.
13362 * include/grub/fbutil.h (struct grub_video_fbblit_info):
13363 Likewise.
13364 * video/fb/fbutil.c: Remove unnecessary casts.
13365
19f1b335 133662009-08-17 Michal Suchanek <hramrach@centrum.cz>
13367
13368 VBE cleanup.
13369
13370 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
13371 (grub_vbe_set_video_mode): Save active mode info
13372 only after setting the mode.
13373 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
13374 second argument.
13375
2f467aa9 133762009-08-17 Michal Suchanek <hramrach@centrum.cz>
13377
13378 Rename variables for clarity.
13379
13380 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
13381 (active_vbe_mode_info): ... this. All users updated.
13382 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
13383 All users updated.
13384 (initial_mode): Rename to ...
13385 (initial_vbe_mode): ... this. All users updated.
13386 (mode_in_use): Rename to ..
13387 (vbe_mode_in_use): ... this. All users updated.
13388 (mode_list): Rename to ..
13389 (vbe_mode_list): ... this. All users updated.
13390 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
13391 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
13392 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
13393 'mode_list_size' to 'vbe_mode_list_size'.
13394 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
13395 'best_mode_info' to 'best_vbe_mode_info' and
13396 'best_mode' to 'best_vbe_mode'
13397
6025fcd7 133982009-08-17 Michal Suchanek <hramrach@centrum.cz>
13399
13400 Remove duplicate grub_video_fb_get_video_ptr.
13401
13402 * include/grub/fbutil.h (get_data_ptr): Rename to ...
13403 (grub_video_fb_get_video_ptr): ... this.
13404 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
13405 * video/fb/fbutil.c: Add comment about addressing.
13406 (get_data_ptr): Rename to ...
13407 (grub_video_fb_get_video_ptr): ... this. All users updated.
13408 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
13409
cc8c6faf 134102009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13411
13412 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
13413 grub_dprintf() that was just added.
13414
08aa61f0 134152009-08-17 Robert Millan <rmh.grub@aybabtu.com>
13416
13417 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
13418 (DEFAULT_VIDEO_MODE): Remove macros.
13419 (grub_linux_boot): Remove assumption that Linux has FB support,
13420 and use "text" as default video mode.
13421
7cef4f75 134222009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
13425 grub_dprintf.
13426 * fs/fat.c (grub_fat_read_data): Likewise.
13427
e1f39873 134282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
13431 payload.
13432 (grub_module): Likewise.
13433
c166d79e 134342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
13437 mbi->cmdline but free playground.
13438
c60cee8e 134392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 Handle group offset on UFS1.
13442
13443 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
13444 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
13445
c0d8b5d4 134462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 Split ufs.mod into ufs1.mod and ufs2.mod.
13449
13450 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
13451 (grub_fstest_SOURCES): Likewise.
13452 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
13453 (ufs_mod_SOURCES): Remove.
13454 (ufs_mod_CFLAGS): Likewise.
13455 (ufs_mod_LDFLAGS): Likewise.
13456 (ufs1_mod_SOURCES): New variable.
13457 (ufs1_mod_CFLAGS): Likewise.
13458 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 13459 (ufs2_mod_SOURCES): New variable.
13460 (ufs2_mod_CFLAGS): Likewise.
13461 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 13462 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
13463 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13464 Likewise.
13465 (grub_emu_SOURCES): Likewise.
13466 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13467 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13468 (grub_setup_SOURCES): Likewise.
13469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13470 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
13471 (grub_setup_SOURCES): Likewise.
13472 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
13473 Likewise.
13474 * fs/ufs2.c: New file.
13475 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
13476
d3539132 134772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 Framebuffer split.
13480
13481 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
13482 subsystem at the end.
13483 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
13484 (video_fb_mod_SOURCES): New variable.
13485 (video_fb_mod_CFLAGS): Likewise.
13486 (video_fb_mod_LDFLAGS): Likewise.
13487 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
13488 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
13489 * video/i386/pc/vbeblit.c: Moved from here ...
13490 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
13491 * video/i386/pc/vbefill.c: Moved from here ...
13492 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
13493 * video/i386/pc/vbeutil.c: Moved from here ...
13494 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
13495 * include/grub/i386/pc/vbeblit.h: Moved from here ...
13496 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
13497 * include/grub/i386/pc/vbefill.h: Moved from here ...
13498 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
13499 * include/grub/i386/pc/vbeutil.h: Moved from here ...
13500 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
13501 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
13502 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
13503 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
13504 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
13505 (grub_video_adapter): Added 'get_info_and_fini'.
13506 (grub_video_get_info_and_fini): New prototype.
13507 (grub_video_set_mode): make modestring const char *.
13508 * loader/i386/linux.c (grub_linux_setup_video): Use
13509 grub_video_get_info_and_fini.
13510 (grub_linux_boot): Move modesetting just before booting.
13511 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
13512 grub_video_get_info_and_fini.
13513 * video/i386/pc/vbe.c: Moved framebuffer part ...
13514 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
13515 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
13516 grub_video_fbstd_colors and grub_video_fb_set_palette.
13517 (grub_video_vbe_init): Clear 'framebuffer' variable and use
13518 grub_video_fb_init.
13519 (grub_video_vbe_fini): Use grub_video_fb_fini.
13520 (grub_video_vbe_setup): Use framebuffer.render_target instead of
13521 render_target and use grub_video_fb_set_active_render_target and
13522 grub_video_fb_set_palette.
13523 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
13524 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
13525 (grub_video_vbe_adapter): Use framebuffer.
13526 * video/video.c (grub_video_get_info_and_fini): New function.
13527 (grub_video_set_mode): Make modestring const char *.
13528 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
13529 values are already initialised.
13530
d404ee56 135312009-08-14 Pavel Roskin <proski@gnu.org>
13532
13533 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
13534 ABS and APPLE_CC.
13535 * boot/i386/pc/diskboot.S: Likewise.
13536 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
13537 sectors allow compilation on MacOSX.
13538 * conf/i386-pc.rmk: Enable unconditional compilation of
13539 lnxboot.img.
13540
9a10df16 135412009-08-13 Colin Watson <cjwatson@ubuntu.com>
13542
13543 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
13544 * util/grub.d/00_header.in: Enter interruptible sleep if
13545 GRUB_HIDDEN_TIMEOUT is set.
13546
be3c9ca7 135472009-08-13 Yves Blusseau <blusseau@zetam.org>
13548
13549 * include/grub/symbol.h: Add the LOCAL macro.
13550 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
13551 starting with "L_".
13552
1f9e557e 135532009-08-13 Pavel Roskin <proski@gnu.org>
13554
9ca62843 13555 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
13556 any modern compilers we support.
13557
1f9e557e 13558 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
13559 Use local labels starting with "L_" so that Apple assembler
13560 knows they are local.
13561
81623db6 135622009-08-10 Robert Millan <rmh.grub@aybabtu.com>
13563
13564 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
13565 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
13566 (bsd_kernel_types): ... this enum.
13567
13568 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
13569 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
13570 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
13571
13572 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
13573 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
13574 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
13575 messages.
13576
f5d35e7a 135772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13578
13579 * util/grub-dumpdevtree: Moved from here ...
13580 * util/i386/efi/grub-dumpdevtree: ... to here.
13581 (hexify): New function. Converts a string to its hex version.
13582 Generate hex versions of "efi" and "device-properties" by calling
13583 hexify() on the ASCII strings rather than by hardcoding numbers.
13584
d1e1d527 135852009-08-08 Robert Millan <rmh.grub@aybabtu.com>
13586
13587 * fs/jfs.c: Update copyright year.
13588
1ebbe064 135892009-08-08 Felix Zielcke <fzielcke@z-51.de>
13590
13591 * util/grub.d/00_header.in: Fix a comment.
13592 * util/grub.d/10_linux.in: Likewise.
13593 * util/grub.d/10_windows.in: Likewise.
13594 * util/grub.d/10_hurd.in: Likewise.
13595
a78c8d24 135962009-08-08 Felix Zielcke <fzielcke@z-51.de>
13597
13598 * util/grub-mkconfig.in: Allow the user to specify the used font
13599 with GRUB_FONT.
13600
29a6b9e8 136012009-08-08 Pavel Roskin <proski@gnu.org>
13602
b5f16cc4 13603 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
13604 available, xfs.mod needs it now.
13605
2f5cb827 13606 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
13607 the "g" modifier in sed when the intention is to strip something
13608 once. This fixes comparison of kernels with multiple dashes.
13609
29a6b9e8 13610 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
13611 on it. Add missing space before closing bracket. Fix
13612 misleading formatting.
13613
892a3d98 136142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13615
13616 * docs/grub.texi: Major overhaul. Remove all sections that are
13617 specific to GRUB Legacy, or mostly composed of Legacy-specific
13618 information.
13619
ed94253f 136202009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13621
13622 * docs/version.texi: New file. Provides version information for
13623 grub.texi.
13624
126d6628 136252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13626
13627 * docs/grub.texi: Update CVS information to SVN.
13628 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
13629
998b5aa9 136302009-08-07 Felix Zielcke <fzielcke@z-51.de>
13631
13632 * util/grub-mkconfig.in: Remove a wrong `fi'.
13633
818e094a 136342009-08-07 Felix Zielcke <fzielcke@z-51.de>
13635
13636 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
13637 (grub_jfs_uuid): New function.
13638 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
13639
b969c52f 136402009-08-07 Felix Zielcke <fzielcke@z-51.de>
13641
13642 * util/grub-mkconfig_lib.in (font_path): Move the functionality
13643 of it to ...
13644 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
13645 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
13646
7a4894cc 136472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13648
13649 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
13650 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
13651 Update all users.
13652
13653 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
13654 not just "vmlinu[zx]".
13655 Moved from here ...
13656 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
13657 all users.
13658
13659 * util/grub.d/10_linux.in (find_latest): Moved from here ...
13660 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
13661 all users.
13662
4e2171f8 136632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
13664
13665 * util/grub.d/10_freebsd.in: Use an absolute device path for
13666 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
13667
6dcfcb32 136682009-08-06 Felix Zielcke <fzielcke@z-51.de>
13669
13670 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
13671 handling of multiple abstraction modules.
13672
f56a8756 136732009-08-04 Robert Millan <rmh.grub@aybabtu.com>
13674
13675 Fix a bug resulting in black screen when loading Linux using a
13676 packed video mode.
13677
13678 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
13679 function.
13680
13681 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
13682 (grub_vbe_bios_getset_dac_palette_width): New function.
13683 (grub_vbe_bios_get_dac_palette_width)
13684 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
13685 grub_vbe_bios_getset_dac_palette_width()).
13686
13687 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
13688 check for return status.
13689 (grub_vbe_get_video_mode_info): When getting information for a packed
13690 mode (<= 8 bpp), obtain DAC palette width using
13691 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
13692 {red,green,blue}_mark_size.
13693
222671b2 136942009-08-04 Felix Zielcke <fzielcke@z-51.de>
13695
ecb1a6d9 13696 * commands/search.c (options): Fix help output to match actual code.
222671b2 13697
f84114f5 136982009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
13701 of homegrown code.
13702
bd288a20 137032009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 13704
13705 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
13706 on XFS or ReiserFS.
13707
8aab5e25 137082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 Support Apple partition map with sector size different from 512 bytes.
13711
13712 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
13713 (apple_partition_map_iterate): Respect 'aheader.blocksize'
13714 and 'apart.partmap_size'.
13715
6ad6258a 137162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
137172009-08-01 Robert Millan <rmh.grub@aybabtu.com>
13718
13719 Fix cpuid command.
13720
13721 * commands/i386/cpuid.c (options): New variable.
13722 (grub_cmd_cpuid): Return real error.
13723 (GRUB_MOD_INIT(cpuid)): Declare options.
13724
67459bc6 137252009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
13728 valid.
13729
fbc6ab54 137302009-07-31 Bean <bean123ch@gmail.com>
13731
13732 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
13733 log2_inode.
13734 (grub_fshelp_node): Move inode field to the end.
13735 (grub_xfs_data): Remove inode field.
13736 (grub_xfs_inode_block): Calculate inode size using sblock.
13737 (grub_xfs_inode_offset): Likewise.
13738 (grub_xfs_read_inode): Calculate inode size using sblock.
13739 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
13740 (grub_xfs_iterate_dir): Calculate inode size using sblock.
13741 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
13742 to match inode size.
13743 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
13744 not accessible when data is null.
13745 (grub_xfs_open): Likewise.
13746
f45d6cfc 137472009-07-31 Bean <bean123ch@gmail.com>
13748
13749 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
13750 Don't change pv->disk if it's already set.
13751
13752 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
13753 (grub_raid_register): ... here.
13754 (grub_raid_rescan): Removed.
13755
13756 * include/grub/raid.h (grub_raid_rescan): Removed.
13757
13758 * util/grub-fstest.c: Remove include file <grub/raid.h>.
13759 (fstest): Replace grub_raid_rescan with module fini function followed
13760 by init function.
13761
13762 * util/grub-probe.c: Add include file <grub/raid.h>.
13763 (probe_raid_level): New function.
13764 (probe): Detect abstraction by walking the disk device, support two
13765 level of abstraction (LVM on RAID) when detecting partition map.
13766
24443b5a 137672009-07-31 Pavel Roskin <proski@gnu.org>
13768
13769 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
13770 to grub_zalloc(), it was erroneous.
13771 Reported by Bean <bean123ch@gmail.com>
13772
a275d9e7 137732009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 13776 embedding zone, not only the first one.
a275d9e7 13777
56c5a47f 137782009-07-29 Joe Auricchio <jauricchio@gmail.com>
13779
13780 * term/gfxterm.c (clear_char): New function.
13781 (grub_virtual_screen_setup): Use clear_char.
13782 (scroll_up): Likewise.
13783 (grub_virtual_screen_cls): Likewise.
13784
67bb323a 137852009-07-29 Felix Zielcke <fzielcke@z-51.de>
13786
13787 * util/deviceiter.c (get_acceleraid_disk_name): New static
13788 function.
13789 (grub_util_iterate_devices): Handle Accelraid devices.
13790 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
13791
388a7c75 137922009-07-28 Robert Millan <rmh.grub@aybabtu.com>
13793
13794 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
13795 separator for the suggested gfxpayload string (';' collides with the
13796 parser and needs escaping).
13797
3bb7abcf 137982009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
13801 Clear direction flag before jumping to OS.
13802 (grub_multiboot2_real_boot): Likewise.
13803
2ddd36d7 138042009-07-28 Felix Zielcke <fzielcke@z-51.de>
13805
13806 * util/i386/pc/grub-install: Fix parsing of --disk-module
13807 option.
13808
c521b62b 138092009-07-28 Felix Zielcke <fzielcke@z-51.de>
13810
13811 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
13812 when embedding.
13813
880e0a0c 138142009-07-26 Felix Zielcke <fzielcke@z-51.de>
13815
13816 * util/grub-mkconfig.in (package_version): New variable.
13817 Use it do display the version.
13818
2366e356 138192009-07-25 Felix Zielcke <fzielcke@z-51.de>
13820
13821 * kern/file.c (grub_file_open): Revert to previous check with
13822 grub_errno.
13823
7ad8c80e 138242009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
13827 from help line. It's out of sync with code.
13828
72b9658b 138292009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
13832 entries on failed boot.
13833
77435277 138342009-07-25 Felix Zielcke <fzielcke@z-51.de>
13835
13836 * kern/file.c (grub_file_open): Fix an error check.
13837
fcaa8b21 138382009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
13839
35d16c74 13840 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
13841 partition map couldn't be identified.
fcaa8b21 13842
48904cd1 138432009-07-23 Pavel Roskin <proski@gnu.org>
13844
ef3c317f 13845 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
13846 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
13847 case of little endian words becomes just an optimization.
13848 Respect const modifier.
ad8ea1f4 13849 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 13850
48904cd1 13851 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
13852 to avoid loss of upper bits if align is unsigned and shorter
13853 than addr.
13854
260c9a89 138552009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 UUID support for UFS
13858
13859 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
13860 (grub_ufs_uuid): New function.
13861 (grub_ufs_fs): add .uuid
13862
f76ce889 138632009-07-21 Pavel Roskin <proski@gnu.org>
13864
13865 * kern/dl.c (grub_dl_check_header): Make static.
13866
6a6cbcaf 138672009-07-21 Felix Zielcke <fzielcke@z-51.de>
13868
13869 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
13870 add drivemap for Vista. It breaks Windows 7.
13871
cffcddb2 138722009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
13875 128 bytes
13876
1ef44b80 138772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 Add BFS support
13880
13881 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
13882 (grub_fstest_SOURCES): Likewise.
13883 (pkglib_MODULES): Add befs.mod.
13884 (befs_mod_SOURCES): New variable.
13885 (befs_mod_CFLAGS): Likewise.
13886 (befs_mod_LDFLAGS): Likewise.
13887 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13888 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13889 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13890 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13891 (grub_setup_SOURCES): Likewise.
13892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13893 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13894 (grub_setup_SOURCES): Likewise.
13895 * fs/befs.c: New file.
13896 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
13897 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
13898 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
13899 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
13900 (B_KEY_INDEX_ALIGN): New declaration.
13901 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
13902 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
13903 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
13904 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
13905 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
13906 (grub_afs_mount) [MODE_BFS]: Likewise.
13907 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
13908 (grub_afs_fs): Use GRUB_AFS_FSNAME
13909 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
13910 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
13911 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
13912 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
13913
4f253044 139142009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
13915
13916 * util/getroot.c (find_root_device): Add support for MacOSX.
13917 * util/hostdisk.c: Likewise.
13918
57a55913 139192009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * font/font.c (find_glyph): Check whether a font is present to avoid
13922 segmentation fault.
75421ca9 13923
139242009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 13925
13926 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
13927
e98cd0c2 139282009-07-20 Pavel Roskin <proski@gnu.org>
13929
13930 * configure.ac: Trim excessively wordy excuses.
13931
1d2d169a 139322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 Add symlink, mtime and label support to AtheFS.
13935
13936 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
13937 (grub_afs_iterate_dir): Handle symlinks.
13938 (grub_afs_open): Use grub_afs_read_symlink.
13939 (grub_afs_dir): Likewise.
13940 Pass mtime.
13941 (grub_afs_label): New function.
13942 (grub_afs_fs): Add grub_afs_label.
13943 (grub_afs_read_symlink): New function.
13944
186f3189 139452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 Fix AtheFS support.
13948
13949 * fs/afs.c: Fix comments style.
13950 (grub_afs_blockrun): Declare as packed.
13951 (grub_afs_datastream): Likewise.
13952 (grub_afs_bnode): Likewise.
13953 (grub_afs_btree): Likewise.
13954 (grub_afs_sblock): Likewise.
13955 Declare `name' as char.
13956 (grub_afs_inode): Declare as packed.
13957 Change void *vnode to grub_uint32_t unused.
13958 (grub_afs_iterate_dir): Check that key_size is positive.
13959 (grub_afs_mount): Don't read superblock twice.
75421ca9 13960 (grub_afs_dir): Don't free node in case of error,
186f3189 13961 grub_fshelp_find_file already handles this.
13962 (grub_afs_open): Likewise.
13963
5680109e 139642009-07-19 Pavel Roskin <proski@gnu.org>
13965
13966 * Makefile.in: Remove LIBLZO and enable_lzo.
13967 * conf/i386-pc.rmk: Remove lzo support.
13968 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
13969 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
13970 support.
13971 * kern/i386/pc/lzo1x.S: Remove.
13972 * kern/i386/pc/startup.S: Remove lzo support.
13973 * util/i386/pc/grub-mkimage.c: Likewise.
13974
ac70fa32 139752009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
13978 * fs/xfs.c (grub_xfs_dir): Likewise.
13979 * fs/afs.c (grub_afs_dir): Likewise.
13980 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13981 (grub_iso9660_open): Likewise.
13982 * fs/jfs.c (grub_jfs_open): Likewise.
13983 * fs/ext2.c (grub_ext2_dir): Likewise.
13984 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
13985 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 13986
eab58da2 139872009-07-16 Pavel Roskin <proski@gnu.org>
13988
d2838156 13989 * configure.ac: Never add "-c" to CFLAGS.
13990
55c70904 13991 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
13992
43e6200c 13993 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
13994 grub_cv_cc_efiemu should be used.
13995
ce7a733d 13996 * configure.ac: Typo fixes.
13997
eab58da2 13998 * kern/mm.c (grub_zalloc): New function.
13999 (grub_debug_zalloc): Likewise.
14000 * include/grub/mm.h: Declare grub_zalloc() and
14001 grub_debug_zalloc().
14002 * util/misc.c (grub_zalloc): New function.
14003 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14004 instead of grub_malloc(), remove unneeded initializations.
14005 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14006 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14007 * commands/parttool.c (grub_cmd_parttool): Likewise.
14008 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14009 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14010 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14011 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14012 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14013 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14014 (grub_cmd_efiemu_pnvram): Likewise.
14015 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14016 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14017 (grub_iso9660_iterate_dir): Likewise.
14018 * fs/jfs.c (grub_jfs_opendir): Likewise.
14019 * fs/ntfs.c (list_file): Likewise.
14020 (grub_ntfs_mount): Likewise.
14021 * kern/disk.c (grub_disk_open): Likewise.
14022 * kern/dl.c (grub_dl_load_core): Likewise.
14023 * kern/elf.c (grub_elf_file): Likewise.
14024 * kern/env.c (grub_env_context_open): Likewise.
14025 (grub_env_set): Likewise.
14026 (grub_env_set_data_slot): Likewise.
14027 * kern/file.c (grub_file_open): Likewise.
14028 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14029 * loader/i386/multiboot.c (grub_module): Likewise.
14030 * loader/xnu.c (grub_xnu_create_key): Likewise.
14031 (grub_xnu_create_value): Likewise.
14032 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14033 (read_config_file): Likewise.
14034 * normal/menu_entry.c (make_screen): Likewise.
14035 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14036 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14037 * script/sh/script.c (grub_script_parse): Likewise.
14038 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14039 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14040 * video/readers/png.c (grub_png_output_byte): Likewise.
14041 (grub_video_reader_png): Likewise.
14042
830afef7 140432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14044
14045 Enable all targets that can be built by default
14046
830afef7 14047 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14048 grub-mkfont and grub-fstest if they can be built
14049
ee293aee 140502009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 Fix hang and segmentation fault in grub-emu-usb
14053
14054 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14055 * util/usb.c (grub_libusb_devices): likewise
14056 (grub_libusb_init): rename to ...
14057 (GRUB_MOD_INIT (libusb)):...this
14058 (grub_libusb_fini): rename to ..
14059 (GRUB_MOD_FINI (libusb)):...this
14060 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14061 * include/grub/disk.h (grub_raid_init): removed, it's useless
14062 (grub_raid_fini): likewise
14063 (grub_lvm_init): likewise
14064 (grub_lvm_fini): likewise
14065 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14066 by grub_init_all
14067
94414221 140682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 Fix libusb
14071
14072 * Makefile.in (LIBUSB): new macro
14073 * genmk.rb (Utility/print_tail): new method
14074 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14075 (top level): call util.print_tail at the end.
14076
59ade63d 140772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 Make FreeBSD accept zpool.cache
14080
14081 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14082 type is /boot/zfs/zpool.cache
14083
a58da8c7 140842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 Fix 64-bit efiemu
14087
14088 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14089 correct wrong typedef
14090 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14091
20591577 140922009-07-15 Pavel Roskin <proski@gnu.org>
14093
560ca572 14094 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14095 * kern/disk.c (struct grub_disk_cache): Likewise.
14096
e8e8e4fd 14097 * commands/probe.c (options): Typo fix.
14098
fde24e10 14099 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14100 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14101 accordingly.
14102 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14103
379c54c1 14104 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14105 the end of "Error" to make the message more readable.
14106
7bd8f5bf 14107 * boot/i386/pc/boot.S (kernel_segment): Remove.
14108 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14109 for destination.
14110
40b132c5 14111 * boot/i386/pc/boot.S (boot_version): Remove.
14112 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14113 Remove.
14114
20591577 14115 * include/grub/i386/pc/boot.h: Sort all offsets.
14116 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14117 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14118 * boot/i386/pc/boot.S: Assert location of every offset listed in
14119 include/grub/i386/pc/boot.h.
14120
2df32b2c 141212009-07-13 Pavel Roskin <proski@gnu.org>
14122
44b5d879 14123 * include/grub/i386/coreboot/machine.h: Rename
14124 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14125 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14126 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14127
17dc3751 14128 * kern/dl.c: Force native word size to suppress warnings when
14129 compiling grub-emu.
14130
2df32b2c 14131 * kern/device.c (grub_device_iterate): Change struct part_ent to
14132 hold the name, not a pointer to it. Use one grub_malloc() per
14133 partition, not two. Free partition_name if grub_malloc() fails.
14134 Set ents to NULL only before grub_partition_iterate() is called.
14135
75c59f59 141362009-07-11 Bean <bean123ch@gmail.com>
14137
14138 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14139 childname.
14140
0ae1bf88 141412009-07-10 Bean <bean123ch@gmail.com>
141422009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14143
14144 * kern/ieee1275/openfw.c (grub_children_iterate)
14145 (grub_devalias_iterate): Fix size evaluation for property or path
14146 strings, which was broken since r2132.
14147
8279cade 141482009-07-07 Pavel Roskin <proski@gnu.org>
14149
7d8a52d3 14150 * commands/search.c (search_file): Merge into ...
14151 (search_fs): ... this. Accept search type as argument.
14152 (grub_cmd_search): Pass search type to search_fs().
14153
25f9a05a 14154 * include/grub/util/console.h: New file.
14155 * util/console.c: Use it instead of grub/machine/console.h.
14156 * util/grub-emu.c: Likewise.
14157
8279cade 14158 * lib/arg.c (find_long_option): Remove.
14159 (find_long): Add `len' argument, make `s' const char *.
14160 (grub_arg_parse): Parse long options in place, not in a
14161 temporary buffer.
14162
4a11b60f 141632009-07-06 Pavel Roskin <proski@gnu.org>
14164
99f68041 14165 * commands/search.c (search_fs): Fix potential NULL pointer
14166 dereference.
14167
4a11b60f 14168 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14169 function pointer.
14170
e110f4de 141712009-07-06 Daniel Mierswa <impulze@impulze.org>
14172
14173 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14174 comparison.
14175
46eeb6a2 141762009-07-05 Pavel Roskin <proski@gnu.org>
14177
bab74958 14178 * include/grub/i386/linux.h (struct linux_kernel_params):
14179 Restore padding3, it's still needed.
14180
46eeb6a2 14181 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14182 FreeBSD.
14183 * util/osdetect.lua: Likewise.
14184
b4a1dc79 141852009-07-05 Bean <bean123ch@gmail.com>
14186
14187 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14188
14189 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14190 (grub_lua_getenv): Likewise.
14191 (grub_lua_setenv): Likewise.
14192 (save_errno): New function.
14193 (push_result): Likewise.
14194 (grub_lua_enum_device): Likewise.
14195 (grub_lua_enum_file): Likewise.
14196 (grub_lua_file_open): Likewise.
14197 (grub_lua_file_close): Likewise.
14198 (grub_lua_file_seek): Likewise.
14199 (grub_lua_file_read): Likewise.
14200 (grub_lua_file_getline): Likewise.
14201 (grub_lua_file_getsize): Likewise.
14202 (grub_lua_file_getpos): Likewise.
14203 (grub_lua_file_eof): Likewise.
14204 (grub_lua_file_exist): Likewise.
14205 (grub_lua_add_menu): Likewise.
14206
14207 * script/lua/grub_lua.h (isupper): New inline function.
14208 (islower): Likewise.
14209 (ispunct): Likewise.
14210 (isxdigit): Likewise.
14211 (strcspn): Change to normal function.
14212 (strpbkr): New function declaration.
14213 (memchr): Likewise.
14214
14215 * script/lua/grub_main.c (scan_str): New function.
14216 (strcspn): Likewise.
14217 (strpbrk): Likewise.
14218 (memchr): Likewise.
14219
14220 * script/lua/linit.c (lualibs): Enable the string library.
14221
14222 * util/osdetect.lua: New file.
14223
2da92295 142242009-07-04 Robert Millan <rmh.grub@aybabtu.com>
14225
14226 * include/grub/i386/linux.h (struct linux_kernel_params): Add
14227 `capabilities' member.
14228
b2582ec9 142292009-07-02 Pavel Roskin <proski@gnu.org>
14230
14231 * genparttoollist.sh: Add missing newline at the end.
14232
32622956 142332009-07-01 Pavel Roskin <proski@gnu.org>
14234
87a7339e 14235 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
14236
d23af54e 14237 * util/hostdisk.c (open_device): Remove `const' from
14238 `sysctl_size', as sysctlbyname() can change it (in this case it
14239 doesn't actually happen).
14240
c94b18a9 14241 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
14242 using signed long int constants.
14243
c6cd3ef0 14244 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
14245 constant to avoid a warning on FreeBSD.
14246
0df63420 14247 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
14248 where it's needed.
14249
999577f1 14250 * Makefile.in: Install include/grub/machine symlink.
14251
6f41557f 14252 * Makefile.in: When installing symlinks, use "cp -fR", which
14253 works on FreeBSD and MacOSX.
14254 From Yves Blusseau <cl7m42e02@sneakemail.com>
14255
c8d22988 14256 * kern/dl.c (grub_dl_resolve_symbol): Make static.
14257 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
14258
1b96e952 14259 * util/misc.c: Move grub_reboot() and grub_halt() ...
14260 * util/grub-emu.c: ... here. Make main_env static.
14261 * include/grub/util/misc.h: Remove main_env.
14262
2ef0084d 14263 * kern/mm.c: Use correct format to print size_t.
14264
32622956 14265 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
14266 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
14267 * kern/powerpc/dl.c: Likewise.
14268 * kern/sparc64/dl.c: Likewise.
14269 * kern/x86_64/dl.c: Likewise.
14270
3f7f0cd0 142712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14272
14273 Fix grub-emu build on sparc64-ieee1275.
14274
75421ca9 14275 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 14276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
14277
211d06b5 142782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14279
14280 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
14281 (grub_reboot, grub_halt): New functions.
14282
14283 * util/i386/pc/misc.c: Delete. Update all users.
14284 * util/sparc64/ieee1275/misc.c: Likewise.
14285 * util/powerpc/ieee1275/misc.c: Likewise.
14286
aaf53e3c 142872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14288
14289 * conf/i386.rmk (setjmp_mod_SOURCES)
14290 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
14291 * conf/common.rmk (setjmp_mod_SOURCES)
14292 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
14293 to use $(target_cpu).
14294 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
14295 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
14296 * conf/powerpc-ieee1275.rmk: Likewise.
14297 * conf/sparc64-ieee1275.rmk: Likewise.
14298
14299 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
14300 $(target_cpu) for kern/$(target_cpu)/dl.c.
14301 * conf/i386-efi.rmk: Likewise.
14302 * conf/i386-ieee1275.rmk: Likewise.
14303 * conf/x86_64-efi.rmk: Likewise.
14304 * conf/i386-coreboot.rmk: Likewise.
14305 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
14306 $(target_cpu) for kern/$(target_cpu)/dl.c and for
14307 kern/$(target_cpu)/cache.S.
14308 * conf/sparc64-ieee1275.rmk: Likewise.
14309
a337130b 143102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
14311
14312 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
14313 type to `grub_uint8_t', and adjust `padding9' accordingly.
14314
c6fe4d53 143152009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14316
b09db61d 14317 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
14318
c6fe4d53 14319 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
14320 assembly in final jump, using register constraints.
14321
b09db61d 14322 (grub_linux_boot): For text mode, initialize `have_vga' using
14323 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
14324
14325 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
14326 right before the final jump.
14327
14328 Set `video_mode' to 0x3.
14329
14330 Document initialization of `video_page', `video_mode' and
14331 `video_ega_bx'.
14332
28333ad0 143332009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14334
14335 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
14336 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 14337 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 14338
02164e1b 143392009-06-29 Robert Millan <rmh.grub@aybabtu.com>
14340
14341 Fix build on Debian / sparc.
14342
14343 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
14344
18b6c557 143452009-06-28 Pavel Roskin <proski@gnu.org>
14346
85f2aab6 14347 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
14348 fix a warning.
14349
18b6c557 14350 * util/grub.d/10_linux.in: Match SUSE style initrd names.
14351
ad760f81 143522009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14353
14354 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
14355 `err'.
14356
87a4623b 143572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14358
14359 Revert r2338.
14360
14361 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
14362 file can't be opened. grub_file_open() is already supposed to set
75421ca9 14363 grub_errno / grub_errmsg appropriately.
87a4623b 14364 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14365
8231fb77 143662009-06-27 Pavel Roskin <proski@gnu.org>
143672009-06-27 Robert Millan <rmh.grub@aybabtu.com>
14368
14369 * include/grub/dl.h: Include grub/elf.h.
14370 (struct grub_dl): Add symtab field.
14371 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
14372 GRUB_MODULES_MACHINE_READONLY.
14373 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
14374 of the header for read-only modules.
14375 (grub_dl_unload): Free mod->symtab for read-only modules.
14376 * kern/i386/dl.c: Use mod->symtab.
14377 * kern/powerpc/dl.c: Likewise.
14378 * kern/sparc64/dl.c: Likewise.
14379 * kern/x86_64/dl.c: Likewise.
14380
14381 * conf/i386-qemu.rmk: New file.
14382 * kern/i386/qemu/startup.S: Likewise.
14383 * kern/i386/qemu/mmap.c: Likewise.
14384 * boot/i386/qemu/boot.S: Likewise.
14385 * include/grub/i386/qemu/time.h: Likewise.
14386 * include/grub/i386/qemu/serial.h: Likewise.
14387 * include/grub/i386/qemu/kernel.h: Likewise.
14388 * include/grub/i386/qemu/console.h: Likewise.
14389 * include/grub/i386/qemu/boot.h: Likewise.
14390 * include/grub/i386/qemu/init.h: Likewise.
14391 * include/grub/i386/qemu/machine.h: Likewise.
14392 * include/grub/i386/qemu/loader.h: Likewise.
14393 * include/grub/i386/qemu/memory.h: Likewise.
14394
14395 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
14396 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
14397 [qemu] (pkglib_IMAGES): Add `boot.img'.
14398 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
14399 [qemu] (boot_img_FORMAT): New variables.
14400 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
14401 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
14402 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
14403 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14404 [qemu] (kernel_img_FORMAT): New variables.
14405
14406 * configure.ac: Recognise `i386-qemu'.
14407
14408 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
14409 (for no compression).
14410 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
14411 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
14412 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
14413 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
14414 ifdefs).
14415
97fe384e 144162009-06-27 Pavel Roskin <proski@gnu.org>
14417
14418 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
14419 read.
14420 * efiemu/prepare32.c: Likewise.
14421 * efiemu/prepare64.c: Likewise.
14422
c402ab17 144232009-06-26 Pavel Roskin <proski@gnu.org>
14424
14425 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
14426 * include/grub/elf.h: Define symbols without "32" or "64" based
14427 on GRUB_TARGET_WORDSIZE.
14428 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
14429 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
14430 ELF definitions.
14431 * efiemu/loadcore64.c: Likewise.
14432 * loader/i386/bsd32.c: Likewise.
14433 * loader/i386/bsd64.c: Likewise.
14434 * kern/dl.c: Remove own ELF definitions.
14435 * util/i386/efi/grub-mkimage.c: Likewise.
14436
9bbdfd4d 144372009-06-23 Robert Millan <rmh.grub@aybabtu.com>
14438
14439 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
14440 segment 0x0 unconditionally, because the reference generated by
14441 GAS is an absolute address.
14442
a42ce6e9 144432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14444
14445 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
14446 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
14447
c952cf92 144482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14449
14450 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
14451 indexes. Check for -f explicitly.
cc3752ad 14452 (search_file): Improve error message.
14453 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 14454
132a0a59 144552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14456
14457 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
14458 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
14459
387a140c 144602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14461
14462 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
14463 * conf/i386-ieee1275.rmk: Likewise.
14464 * conf/i386-coreboot.rmk: Likewise.
14465
14466 * kern/i386/pc/startup.S (grub_stop): Remove function.
14467 * kern/i386/ieee1275/startup.S: Likewise.
14468 * kern/i386/coreboot/startup.S: Likewise.
14469 * kern/i386/misc.S (grub_stop): New function.
14470
41da9665 144712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14472
14473 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
14474 * kern/i386/realmode.S (real_to_prot): ... to here.
14475
bf337234 144762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
14477
14478 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
14479 with `kernel.img'.
14480 (kernel_elf_SOURCES): Rename to ...
14481 (kernel_img_SOURCES): ... this.
14482 (kernel_elf_HEADERS): Rename to ...
14483 (kernel_img_HEADERS): ... this. Update all users.
14484 (kernel_elf_ASFLAGS): Rename to ...
14485 (kernel_img_ASFLAGS): ... this.
14486 (kernel_elf_CFLAGS): Rename to ...
14487 (kernel_img_CFLAGS): ... this.
14488 (kernel_elf_LDFLAGS): Rename to ...
14489 (kernel_img_LDFLAGS): ... this.
14490 * conf/i386-coreboot.rmk: Likewise.
14491 * conf/powerpc-ieee1275.rmk: Likewise.
14492
14493 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
14494 with "kernel.img".
14495
f52196ff 144962009-06-21 Pavel Roskin <proski@gnu.org>
14497
c3cee413 14498 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
14499 to match nested functions.
14500 * loader/sparc64/ieee1275/linux.c: Likewise.
14501
f52196ff 14502 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
14503
58750afc 145042009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14505
14506 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
14507 all i386 platforms.
14508
15355c7d 145092009-06-21 Robert Millan <rmh.grub@aybabtu.com>
14510
14511 Fix asm file handling on ELF, and remove workarounds.
14512
14513 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 14514 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 14515 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
14516 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
14517
3f3ec72b 145182009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 Load BSD ELF modules
14521
14522 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
14523 and loader/i386/bsd64.c
14524 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
14525 (FREEBSD_MODTYPE_ELF_MODULE): New definition
14526 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
14527 (grub_freebsd_load_elfmodule32): New declaration
14528 (grub_freebsd_load_elfmoduleobj64): Likewise
14529 (grub_freebsd_load_elf_meta32): Likewise
14530 (grub_freebsd_load_elf_meta64): Likewise
14531 (grub_freebsd_add_meta): Likewise
14532 (grub_freebsd_add_meta_module): Likewise
14533 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
14534 (grub_freebsd_add_meta_module): Likewise and move module-specific
14535 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
14536 (grub_cmd_freebsd): Add elf-kernel specific parts
14537 based on grub_freebsd_add_meta_module
14538 (grub_cmd_freebsd_module): Add type parsing moved from
14539 grub_freebsd_add_meta_module
14540 (grub_cmd_freebsd_module_elf): New function
14541 (cmd_freebsd_module_elf): New variable
14542 (GRUB_MOD_INIT): Register freebsd_module_elf
14543 * loader/i386/bsd32.c: New file
14544 * loader/i386/bsd64.c: Likewise
14545 * loader/i386/bsdXX.c: Likewise
14546 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
14547 (grub_elf64_load): Likewise
14548 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
14549 All users updated
14550 (grub_elf64_load_hook_t): Likewise
14551
0db15301 145522009-06-21 Colin Watson <cjwatson@ubuntu.com>
14553
14554 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
14555 variable.
14556 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
14557 don't write a menu entry for recovery mode.
14558
546796c1 145592009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14560
14561 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
14562 after it's no longer needed.
14563
cd7310d5 145642009-06-20 Robert Millan <rmh.grub@aybabtu.com>
14565
14566 * include/grub/i386/loader.h (grub_linux_prot_size)
14567 (grub_linux_tmp_addr, grub_linux_real_addr)
14568 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
14569 GRUB_MACHINE_PCBIOS.
14570 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
14571 common grub_util_info() call to ...
14572 (generate_image): ... here.
14573 Fix use of uninitialized memory, comparison of signed with
14574 unsigned integers and memory leak.
14575 Remove bogus module address message.
14576
ab32d3b5 145772009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
14580 grub_raid_register
14581 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
14582
024ef597 145832009-06-19 Pavel Roskin <proski@gnu.org>
14584
14585 * configure.ac: Remove stray AC_MSG_CHECKING.
14586
3ac72b51 145872009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 14590
e14cd814 145912009-06-18 Pavel Roskin <proski@gnu.org>
14592
14593 * conf/common.rmk: Add fs_file.mod.
14594 * disk/fs_file.c: New file.
14595 * include/grub/disk.h (enum grub_disk_dev_id): Add
14596 GRUB_DISK_DEVICE_FILE_ID.
14597
26586d98 145982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 Fix build with Apple's toolchain. Part 2
14601
14602 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
14603 a fake start
14604
26de2bcd 146052009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 Fix build with Apple's toolchain. Part 1
14608
14609 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
14610 for long calls
14611 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 14612 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 14613 Apple's toolchain
14614
09b3490b 146152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 Fix warnings
14618
14619 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
14620 (decomp_block): initialize ch
14621 use grub_memcpy instead of memcpy
14622
c22a006a 146232009-06-17 Pavel Roskin <proski@gnu.org>
14624
d3638678 14625 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
14626 version, use declarations needed to use vga_text as the startup
14627 console.
14628
c22a006a 14629 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
14630 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
14631 the kernel.
14632 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
14633 and grub_at_keyboard_fini(), it's done on module load and
14634 unload.
14635
05b129e0 146362009-06-17 Felix Zielcke <fzielcke@z-51.de>
14637
14638 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
14639 file can't be found.
14640 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14641
cf24ed9e 146422009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 Fix newline handling
14645
14646 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 14647 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 14648 (grub_script_yylex): don't segfault on unterminated script
14649 newline terminates command and variable
14650
74aa8e4b 146512009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 avoid double grub_adjust_range call. Bug reported by David Simner
14654
14655 * kern/disk.c (grub_disk_write): change to raw disk access before
14656 calling disk_read
14657
1bd265f3 146582009-06-17 Colin Watson <cjwatson@ubuntu.com>
14659
14660 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
14661 spaces, for the benefit of help2man.
14662 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14663
a2d08c06 146642009-06-16 Pavel Roskin <proski@gnu.org>
14665
14666 * kern/i386/halt.c: Include grub/machine/init.h.
14667 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
14668
b97bcb19 146692009-06-16 Felix Zielcke <fzielcke@z-51.de>
14670
14671 * util/grub.d/30_os-prober.in: Use ${root} in the generated
14672 drivemap menuentry.
14673
0644f96c 146742009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
14675
14676 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
14677 `echo' command.
14678
3ef17a2e 146792009-06-16 Pavel Roskin <proski@gnu.org>
14680
14681 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
14682 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
14683 save %dx, we only need %dl and we never change it.
14684 * boot/i386/pc/cdboot.S: Don't set the root drive.
14685 * boot/i386/pc/pxeboot.S: Likewise.
14686 * include/grub/i386/pc/boot.h: Remove
14687 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
14688 GRUB_BOOT_MACHINE_DRIVE_CHECK.
14689 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
14690 * kern/i386/pc/init.c (make_install_device): Remove references
14691 to grub_root_drive.
14692 * kern/i386/pc/startup.S: Likewise.
14693 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
14694
693fe637 146952009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 xnu_uuid command
14698
14699 * commands/xnu_uuid.c: new file
14700 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
14701 (xnu_uuid_mod_SOURCES): new variable
14702 (xnu_uuid_mod_CFLAGS): likewise
14703 (xnu_uuid_mod_LDFLAGS): likewise
14704 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
14705 * conf/i386-ieee1275.rmk: likewise
14706 * conf/i386-pc.rmk: likewise
14707 * conf/powerpc-ieee1275.rmk: likewise
14708 * conf/sparc64-ieee1275.rmk: likewise
14709 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
14710
c9da87d0 147112009-06-16 Pavel Roskin <proski@gnu.org>
14712
14713 * configure.ac: Avoid '==' in test command, it's not portable.
14714
9c6f4596 147152009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 Probe command
14718
14719 * commands/probe.c: new file
14720 * conf/common.rmk (pkglib_MODULES): add probe.mod
14721 (probe_mod_SOURCES): new variable
14722 (probe_mod_CFLAGS): likewise
14723 (probe_mod_LDFLAGS): likewise
14724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
14725 * conf/i386-ieee1275.rmk: likewise
14726 * conf/i386-pc.rmk: likewise
14727 * conf/powerpc-ieee1275.rmk: likewise
14728 * conf/sparc64-ieee1275.rmk: likewise
14729
70b7f9fd 147302009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 Fix handling of string like \"hello\" and "a
14733 b"
14734
14735 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
14736 (grub_script_yylex): fix parsing of quoting, escaping and newline
14737
71c79a6b 147382009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
14739
dd74360c 14740 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 14741 handling
dd74360c 14742
0644f96c 147432009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 14744
14745 * util/grub-mkconfig.in: Fix parsing of --output option.
14746
e40893c3 147472009-06-12 Pavel Roskin <proski@gnu.org>
14748
14749 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
14750 genmk.rb don't need to be generated or installed.
14751
3a1acfe2 147522009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * commands/i386/pc/drivemap_int13h.S: add more comments
14755
3a4575d4 147562009-06-11 Pavel Roskin <proski@gnu.org>
14757
0658e928 14758 * Makefile.in (uninstall): Uninstall manuals.
14759
ca0388f0 14760 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
14761 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
14762 and update-grub_lib in two places.
14763 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
14764
e3b27c39 14765 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
14766 a compiler warning.
14767
3a4575d4 14768 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
14769 `entry_lo' to fix variable shadowing.
14770
af1f4f55 147712009-06-11 Christian Franke <franke@computer.org>
14772
14773 * kern/misc.c (__enable_execute_stack): Add missing return type
14774 to prevent gcc warning.
14775
5225e649 147762009-06-11 Felix Zielcke <fzielcke@z-51.de>
14777
14778 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
14779
7d83bd47 147802009-06-11 Pavel Roskin <proski@gnu.org>
14781
c1cb63ba 14782 * Makefile.in: Don't rely on any scripts being executable.
14783 Always use $(SHELL) to run shell scripts.
14784
7d83bd47 14785 * configure.ac: Always define ___main if using -nostdlib. This
14786 fixes tests on Cygwin.
14787
948f48e7 147882009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
14789
14790 UDF fix
14791
7d83bd47 14792 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 14793 is in bytes and not in blocks
7d83bd47 14794
8ada9bc1 147952009-06-11 Pavel Roskin <proski@gnu.org>
14796
14797 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
14798 warning.
14799
25ad2323 148002009-06-11 Felix Zielcke <fzielcke@z-51.de>
14801
14802 * util/grub.d/30_os-prober.in: Fix a comment. Source
14803 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
14804 to set the root device. Place drivemap command in the generated
14805 chain entry.
14806
e65acb0c 148072009-06-11 Pavel Roskin <proski@gnu.org>
14808
14809 * configure.ac: Remove host_m32. Issues with 64-bit utilities
14810 have long been resolved.
14811
f285fe2d 148122009-06-11 Colin Watson <cjwatson@ubuntu.com>
14813
bd47b0b5 14814 * util/grub.d/10_linux.in: Capitalise "Linux".
14815
f285fe2d 14816 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
14817
a0c62e4e 148182009-06-11 Pavel Roskin <proski@gnu.org>
14819
b6783cb2 14820 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
14821 fix a gcc warning and ensure that the function won't ever exit.
14822
dde032e8 14823 * kern/i386/ieee1275/init.c: Add missing prototype for
14824 grub_stop_floppy().
14825
22cd079d 14826 * loader/ieee1275/multiboot2.c [__i386__]: Include
14827 grub/cpu/multiboot.h.
14828
a0c62e4e 14829 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
14830 casts to short - they are not portable and cause warnings. Fix
14831 use of uninitialized values in input_buf. Use ARRAY_SIZE.
14832
63963d17 148332009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 Drivemap fixes
14836
14837 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
14838 new function
14839 (grub_get_root_biosnumber_saved): new variable
14840 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
14841 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 14842 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 14843 %dx after the call if necessary
14844 * conf/common.rmk (pkglib_MODULES): remove boot.mod
14845 (boot_mod_SOURCES): remove
14846 (boot_mod_CFLAGS): remove
14847 (boot_mod_LDFLAGS): remove
14848 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
14849 (boot_mod_SOURCES): new variable
14850 (boot_mod_CFLAGS): likewise
14851 (boot_mod_LDFLAGS): likewise
14852 * conf/i386-efi.rmk: likewise
14853 * conf/i386-ieee1275.rmk: likewise
14854 * conf/i386-pc.rmk: likewise
14855 * conf/powerpc-ieee1275.rmk: likewise
14856 * conf/sparc64-ieee1275.rmk: likewise
14857 * conf/x86_64-efi.rmk: likewise
14858 * include/grub/i386/pc/biosnum.h: new file
14859 * lib/i386/pc/biosnum.c: likewise
14860 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
14861 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
14862 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 14863
33abf7ae 148642009-06-10 Pavel Roskin <proski@gnu.org>
14865
5ac35b35 14866 * io/gzio.c (test_header): Don't reuse one buffer for all data.
14867 Use separate variables. Read only the file size at the end, but
14868 not the checksum that we don't use.
14869
5c5215d5 14870 * kern/file.c (grub_file_read): Use void pointer for the buffer.
14871 Adjust all callers.
14872
27d5fef7 14873 * kern/ieee1275/openfw.c: Remove libc includes.
14874 * kern/ieee1275/cmain.c: Likewise.
14875 * include/grub/ieee1275/ieee1275.h: Likewise.
14876
33abf7ae 14877 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
14878 compiler warnings.
14879
19d50c2b 148802009-06-10 Felix Zielcke <fzielcke@z-51.de>
14881
14882 * Makefile.in: Remove all trailing whitespace.
14883 * conf/i386-pc.rmk: Likewise.
14884 * conf/powerpc-ieee1275.rmk: Likewise.
14885 * conf/sparc64-ieee1275.rmk: Likewise.
14886 * docs/grub.texi: Likewise.
14887 * docs/texinfo.tex: Likewise.
14888 * disk/fs_uuid.c: Likewise.
14889 * disk/lvm.c: Likewise.
14890 * disk/scsi.c: Likewise.
14891 * disk/ata.c: Likewise.
14892 * disk/ieee1275/ofdisk.c: Likewise.
14893 * disk/i386/pc/biosdisk.c: Likewise.
14894 * disk/host.c: Likewise.
14895 * disk/raid.c: Likewise.
14896 * disk/efi/efidisk.c: Likewise.
14897 * disk/usbms.c: Likewise.
14898 * disk/memdisk.c: Likewise.
14899 * disk/loopback.c: Likewise.
14900 * kern/powerpc/dl.c: Likewise.
14901 * kern/device.c: Likewise.
14902 * kern/dl.c: Likewise.
14903 * kern/sparc64/dl.c: Likewise.
14904 * kern/ieee1275/ieee1275.c: Likewise.
14905 * kern/term.c: Likewise.
14906 * kern/fs.c: Likewise.
14907 * kern/i386/dl.c: Likewise.
14908 * kern/i386/pc/startup.S: Likewise.
14909 * kern/i386/pc/init.c: Likewise.
14910 * kern/i386/pc/mmap.c: Likewise.
14911 * kern/i386/pc/lzo1x.S: Likewise.
14912 * kern/i386/ieee1275/init.c: Likewise.
14913 * kern/i386/realmode.S: Likewise.
14914 * kern/i386/tsc.c: Likewise.
14915 * kern/partition.c: Likewise.
14916 * kern/corecmd.c: Likewise.
14917 * kern/file.c: Likewise.
14918 * kern/efi/efi.c: Likewise.
14919 * kern/efi/init.c: Likewise.
14920 * kern/efi/mm.c: Likewise.
14921 * kern/main.c: Likewise.
14922 * kern/err.c: Likewise.
14923 * kern/env.c: Likewise.
14924 * kern/disk.c: Likewise.
14925 * kern/generic/millisleep.c: Likewise.
14926 * kern/generic/rtc_get_time_ms.c: Likewise.
14927 * kern/misc.c: Likewise.
14928 * kern/parser.c: Likewise.
14929 * genmk.rb: Likewise.
14930 * configure.ac: Likewise.
14931 * boot/i386/pc/diskboot.S: Likewise.
14932 * boot/i386/pc/pxeboot.S: Likewise.
14933 * boot/i386/pc/boot.S: Likewise.
14934 * boot/i386/pc/lnxboot.S: Likewise.
14935 * boot/i386/pc/cdboot.S: Likewise.
14936 * parttool/pcpart.c: Likewise.
14937 * video/readers/tga.c: Likewise.
14938 * video/video.c: Likewise.
14939 * video/bitmap.c: Likewise.
14940 * lib/envblk.c: Likewise.
14941 * lib/i386/setjmp.S: Likewise.
14942 * fs/xfs.c: Likewise.
14943 * fs/afs.c: Likewise.
14944 * fs/fat.c: Likewise.
14945 * fs/ntfs.c: Likewise.
14946 * fs/udf.c: Likewise.
14947 * fs/affs.c: Likewise.
14948 * fs/iso9660.c: Likewise.
14949 * fs/hfs.c: Likewise.
14950 * fs/fshelp.c: Likewise.
14951 * fs/ext2.c: Likewise.
14952 * fs/jfs.c: Likewise.
14953 * fs/reiserfs.c: Likewise.
14954 * fs/hfsplus.c: Likewise.
14955 * fs/minix.c: Likewise.
14956 * fs/cpio.c: Likewise.
14957 * fs/sfs.c: Likewise.
14958 * fs/ufs.c: Likewise.
14959 * efiemu/prepare.c: Likewise.
14960 * efiemu/loadcore_common.c: Likewise.
14961 * efiemu/runtime/efiemu.sh: Likewise.
14962 * efiemu/runtime/efiemu.S: Likewise.
14963 * efiemu/runtime/efiemu.c: Likewise.
14964 * efiemu/pnvram.c: Likewise.
14965 * efiemu/main.c: Likewise.
14966 * efiemu/i386/pc/cfgtables.c: Likewise.
14967 * efiemu/i386/loadcore64.c: Likewise.
14968 * efiemu/i386/loadcore32.c: Likewise.
14969 * efiemu/loadcore.c: Likewise.
14970 * efiemu/symbols.c: Likewise.
14971 * efiemu/mm.c: Likewise.
14972 * include/grub/autoefi.h: Likewise.
14973 * include/grub/datetime.h: Likewise.
14974 * include/grub/term.h: Likewise.
14975 * include/grub/hfs.h: Likewise.
14976 * include/grub/lvm.h: Likewise.
14977 * include/grub/i386/tsc.h: Likewise.
14978 * include/grub/i386/linux.h: Likewise.
14979 * include/grub/i386/xnu.h: Likewise.
14980 * include/grub/i386/efiemu.h: Likewise.
14981 * include/grub/i386/pc/biosdisk.h: Likewise.
14982 * include/grub/i386/pc/memory.h: Likewise.
14983 * include/grub/i386/pc/vbe.h: Likewise.
14984 * include/grub/parttool.h: Likewise.
14985 * include/grub/video.h: Likewise.
14986 * include/grub/memory.h: Likewise.
14987 * include/grub/fs.h: Likewise.
14988 * include/grub/partition.h: Likewise.
14989 * include/grub/xnu.h: Likewise.
14990 * include/grub/efi/api.h: Likewise.
14991 * include/grub/efi/pe32.h: Likewise.
14992 * include/grub/efi/memory.h: Likewise.
14993 * include/grub/multiboot.h: Likewise.
14994 * include/grub/usbdesc.h: Likewise.
14995 * include/grub/multiboot2.h: Likewise.
14996 * include/grub/acpi.h: Likewise.
14997 * include/grub/efiemu/efiemu.h: Likewise.
14998 * include/grub/disk.h: Likewise.
14999 * include/grub/ieee1275/ieee1275.h: Likewise.
15000 * include/grub/net.h: Likewise.
15001 * include/grub/machoload.h: Likewise.
15002 * include/grub/macho.h: Likewise.
15003 * include/multiboot.h: Likewise.
15004 * genmoddep.awk: Likewise.
15005 * normal/main.c: Likewise.
15006 * normal/menu_entry.c: Likewise.
15007 * normal/menu_viewer.c: Likewise.
15008 * normal/completion.c: Likewise.
15009 * normal/cmdline.c: Likewise.
15010 * normal/misc.c: Likewise.
15011 * normal/datetime.c: Likewise.
15012 * bus/usb/usbtrans.c: Likewise.
15013 * bus/usb/ohci.c: Likewise.
15014 * bus/usb/uhci.c: Likewise.
15015 * bus/usb/usb.c: Likewise.
15016 * mmap/efi/mmap.c: Likewise.
15017 * mmap/i386/pc/mmap_helper.S: Likewise.
15018 * mmap/i386/pc/mmap.c: Likewise.
15019 * mmap/i386/mmap.c: Likewise.
15020 * mmap/i386/uppermem.c: Likewise.
15021 * mmap/mmap.c: Likewise.
15022 * commands/acpi.c: Likewise.
15023 * commands/echo.c: Likewise.
15024 * commands/blocklist.c: Likewise.
15025 * commands/loadenv.c: Likewise.
15026 * commands/usbtest.c: Likewise.
15027 * commands/boot.c: Likewise.
15028 * commands/parttool.c: Likewise.
15029 * commands/search.c: Likewise.
15030 * commands/cat.c: Likewise.
15031 * commands/i386/pc/play.c: Likewise.
15032 * commands/i386/pc/drivemap.c: Likewise.
15033 * commands/i386/pc/vbeinfo.c: Likewise.
15034 * commands/i386/pc/acpi.c: Likewise.
15035 * commands/i386/pc/vbetest.c: Likewise.
15036 * commands/ls.c: Likewise.
15037 * commands/cmp.c: Likewise.
15038 * commands/test.c: Likewise.
15039 * commands/efi/acpi.c: Likewise.
15040 * commands/gptsync.c: Likewise.
15041 * commands/help.c: Likewise.
15042 * partmap/amiga.c: Likewise.
15043 * partmap/apple.c: Likewise.
15044 * partmap/acorn.c: Likewise.
15045 * partmap/pc.c: Likewise.
15046 * partmap/sun.c: Likewise.
15047 * partmap/gpt.c: Likewise.
15048 * script/sh/lexer.c: Likewise.
15049 * script/sh/function.c: Likewise.
15050 * font/font.c: Likewise.
15051 * font/font_cmd.c: Likewise.
15052 * loader/powerpc/ieee1275/linux.c: Likewise.
15053 * loader/efi/chainloader.c: Likewise.
15054 * loader/multiboot_loader.c: Likewise.
15055 * loader/macho.c: Likewise.
15056 * loader/i386/multiboot.c: Likewise.
15057 * loader/i386/linux.c: Likewise.
15058 * loader/i386/pc/linux.c: Likewise.
15059 * loader/i386/pc/multiboot2.c: Likewise.
15060 * loader/i386/pc/chainloader.c: Likewise.
15061 * loader/i386/pc/xnu.c: Likewise.
15062 * loader/i386/bsd_trampoline.S: Likewise.
15063 * loader/i386/efi/linux.c: Likewise.
15064 * loader/i386/multiboot_elfxx.c: Likewise.
15065 * loader/i386/bsd_helper.S: Likewise.
15066 * loader/i386/bsd.c: Likewise.
15067 * loader/i386/linux_trampoline.S: Likewise.
15068 * loader/i386/xnu_helper.S: Likewise.
15069 * loader/i386/xnu.c: Likewise.
15070 * loader/i386/bsd_pagetable.c: Likewise.
15071 * loader/i386/multiboot_helper.S: Likewise.
15072 * loader/xnu.c: Likewise.
15073 * loader/xnu_resume.c: Likewise.
15074 * io/gzio.c: Likewise.
15075 * term/efi/console.c: Likewise.
15076 * term/terminfo.c: Likewise.
15077 * term/ieee1275/ofconsole.c: Likewise.
15078 * term/i386/pc/serial.c: Likewise.
15079 * term/i386/pc/vesafb.c: Likewise.
15080 * term/i386/pc/vga.c: Likewise.
15081 * term/usb_keyboard.c: Likewise.
15082 * term/gfxterm.c: Likewise.
15083 * aclocal.m4: Likewise.
15084 * util/lvm.c: Likewise.
15085 * util/grub.d/30_os-prober.in: Likewise.
15086 * util/grub.d/10_hurd.in: Likewise.
15087 * util/console.c: Likewise.
15088 * util/grub-macho2img.c: Likewise.
15089 * util/grub-probe.c: Likewise.
15090 * util/hostfs.c: Likewise.
15091 * util/i386/pc/grub-mkimage.c: Likewise.
15092 * util/i386/pc/grub-setup.c: Likewise.
15093 * util/i386/efi/grub-mkimage.c: Likewise.
15094 * util/grub-mkconfig.in: Likewise.
15095 * util/raid.c: Likewise.
15096 * util/resolve.c: Likewise.
15097 * util/grub-mkdevicemap.c: Likewise.
15098 * util/grub-emu.c: Likewise.
15099 * util/getroot.c: Likewise.
15100 * util/hostdisk.c: Likewise.
15101 * util/usb.c: Likewise.
15102 * util/grub-editenv.c: Likewise.
15103 * util/misc.c: Likewise.
15104
d2d49665 151052009-06-10 Felix Zielcke <fzielcke@z-51.de>
15106
15107 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15108 `genparttoollist.sh'.
15109 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15110 Add `*.sh' to the list find searches for and change `mdate.sh'
15111 to `mdate-sh'.
15112
fe052e37 151132009-06-10 Pavel Roskin <proski@gnu.org>
15114
2763ac18 15115 * include/grub/multiboot2.h: Provide compatibility defines for
15116 multiboot2.h.
15117 * include/multiboot2.h: Include stdint.h only if needed, using
15118 angle brackets.
15119 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15120 grub/multiboot2.h.
15121 * loader/ieee1275/multiboot2.c: Likewise.
15122 * loader/multiboot2.c: Likewise.
15123 * loader/multiboot_loader.c: Likewise.
15124
437e6adc 15125 * configure.ac: Use -nostdlib when probing for the target. It
15126 should not be required to have libc for the target.
15127
06a6836c 15128 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15129 they fail without libc headers for the target.
15130 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15131 exports.
15132 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15133 preprocessor conditionals.
15134
fe052e37 15135 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15136 build system doesn't need to be aware of the tar.c internals.
15137
afd22553 151382009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15139
afd22553 15140 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15141
6b787c4f 151422009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15143
15144 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15145 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15146
151472009-06-09 Felix Zielcke <fzielcke@z-51.de>
15148
15149 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15150 aren't available if ata.mod gets used.
6b787c4f 15151
473d1e45 151522009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15153
473d1e45 15154 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15155 initialising controller.
473d1e45 15156 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15157
255a27d4 151582009-06-08 Felix Zielcke <fzielcke@z-51.de>
15159
15160 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15161 to choose between ata and biosdisk module on i386-pc.
15162
473d1e45 151632009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15164
d55842d8 15165 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15166 Subclass and Programming Interface fields in terms of the 3 byte
15167 Class Code register.
15168 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15169
fa5db0b1 15170 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15171 interface is OHCI. Add grub_dprintf for symmetry with
15172 bus/usb/uhci.c.
15173 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15174 interface is UHCI. Add interf variable for programming
15175 interface. Print interface with class/subclass.
15176
c0947beb 15177 * bus/usb/ohci.c: Set interf with correct field.
15178
69da8877 15179 * bus/usb/uhci.c: Remove unneeded doubled lines.
15180 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15181 Remove whitespace inside comment.
15182
9e172e30 151832009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15184
15185 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15186 as fallback an equivalent option without depth.
15187
de65ee2b 151882009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 Not fail if unable to retrieve C/H/S on LBA disks
15191
473d1e45 15192 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15193 if unable to retrieve C/H/S on LBA disks
15194
b57ea2c9 151952009-06-08 Pavel Roskin <proski@gnu.org>
15196
15197 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15198 about aliasing.
15199
af361263 152002009-06-08 Felix Zielcke <fzielcke@z-51.de>
15201
15202 * Makefile.in (uninstall): Remove all $lib_DATA files.
15203
4c9ec6b3 152042009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 Bugfix: install on partitionless device
15207
15208 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15209 is a whole disk
15210
e76fc924 152112009-06-08 Felix Zielcke <fzielcke@z-51.de>
15212
15213 * Makefile.in (uninstall): Remove all $include_DATA files.
15214
ba5a0d05 152152009-06-08 Felix Zielcke <fzielcke@z-51.de>
15216
15217 * commands/true.c: New file. Implement the true and false commands.
15218 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
15219 (true_mod_SOURCES): New variable.
15220 (true_mod_CFLAGS): Likewise.
15221 (true_mod_LDFLAGS): Likewise.
15222
c8048e32 152232009-06-05 Colin D Bennett <colin@gibibit.com>
15224
15225 Optimized font character lookup using binary search instead of linear
15226 search. Fonts now are required to have the character index ordered by
15227 code point.
15228
15229 * font/font.c (load_font_index): Verify that fonts have ordered
15230 character indices.
15231 (find_glyph): Use binary search instead of linear search to find a
15232 character in a font.
15233
408305be 152342009-06-05 Michael Scherer <misc@mandriva.org>
15235
15236 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
15237 uses case sensitive btree.
15238 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
15239 only for case insensitive filesystems.
15240
8ee1e0d9 152412009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
15244 * conf/common.rmk (search_mod_CFLAGS): likewise
15245
a9966eb1 152462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15247
473d1e45 15248 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 15249 compensate a compiler bug
15250
9e7100fb 152512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15252
473d1e45 15253 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 15254 instead of '\b'
473d1e45 15255
ede21d71 152562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 Definitions for creating asm symbols with Apple's CC
15259
15260 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
15261 [APPLE_CC] (VARIABLE): likewise
15262
9dbf7653 152632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15264
15265 Disable lnxboot.img when compiled
15266 with Apple's CC
15267
15268 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
15269 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
15270 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
15271 [! APPLE_CC] (CODE_LENG): skip
15272 [! APPLE_CC] (setup_sects): likewise
15273 [! APPLE_CC]: skip filling
473d1e45 15274
e93cdc3d 152752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 Address in trampolines based on 32-bit registers when compiled
15278 with Apple's CC
15279
473d1e45 15280 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 15281 for addresses
15282 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
15283
6c688477 152842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15285
15286 Avoid aliases when compiling with Apple's CC for PCBIOS machine
15287
15288 * kern/misc.c [APPLE_CC] (memcpy): new function
15289 [APPLE_CC] (memmove): likewise
15290 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 15291 (memcpy): define alias conditionally on !APPLE_CC
6c688477 15292 (memset): likewise
15293 (abort): likewise
15294 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
15295 APPLE_CC are defined
15296 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
15297 (grub_assert_fail): make prototype conditional
15298
e37ffc5c 152992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
15302
473d1e45 15303 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
15304 grub-macho2img
e37ffc5c 15305 (CLEANFILES): add grub-macho2img
15306 (grub_macho2img_SOURCES): new variable
15307 * kern/i386/pc/startup.S (bss_start): new variable
15308 (bss_end): likewise
15309 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
15310 * util/grub-macho2img.c: new file
15311
cf00df31 153122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 Use objconv when compiling with Apple's CC
15315
15316 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
15317 (efiemu64.o): likewise
15318 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
15319 when compiling with Apple's CC
15320 (efiemu64_s.o): likewise
15321 * configure.ac: check for objconv when compiling with Apple's CC
15322 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 15323
d119a20c 153242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 Define segment as well as section when compiling with
15327 Apple's CC
15328
15329 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
15330 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
15331 (efiemu_convert_pointer): likewise
15332 (efiemu_set_virtual_address_map): likewise
15333 (efiemu_convert_pointer): likewise
15334 (efiemu_getcrc32): likewise
15335 (init_crc32_table): likewise
15336 (reflect): likewise
15337 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
15338 (GRUB_MOD_DEP): likewise
473d1e45 15339
c8600122 153402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 Allow a compilation without -mcmodel=large
15343
15344 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
15345 when compiled without -mcmodel=large
473d1e45 15346 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 15347 without -mcmodel=large
473d1e45 15348 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 15349 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 15350
e8df1d4e 153512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 Remove nested functions in efiemu core
15354
15355 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 15356
cc6c3ac1 153572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
15360
15361 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
15362 temporary storage
473d1e45 15363 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
15364 using Apple's CC
cc6c3ac1 15365 (grub_cpu_is_tsc_supported): likewise
15366 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 15367
3e325901 153682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 Absolute addressing through constant with Apple's cc
15371
15372 * kern/i386/pc/startup.S: Define necessary constants
15373 and address through it when using ABS with Apple's CC
15374 * boot/i386/pc/diskboot.S: likewise
15375 * boot/i386/pc/boot.S: likewise
15376 * boot/i386/pc/lnxboot.S: likewise
15377 * boot/i386/pc/cdboot.S: likewise
15378 * mmap/i386/pc/mmap_helper.S: likewise
15379 * commands/i386/pc/drivemap_int13h.S: likewise
15380
2b167a72 153812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15382
15383 Check if compiler is apple cc
15384
15385 * Makefile.in (ASFLAGS): new variable
15386 (TARGET_ASFLAGS): likewise
15387 (TARGET_MODULE_FORMAT): likewise
15388 (TARGET_APPLE_CC): likewise
15389 (OBJCONV): likewise
15390 (TARGET_IMG_CFLAGS): likewise
15391 (TARGET_CPPFLAGS): add includedir
15392 * configure.ac: call grub_apple_cc and grub_apple_target_cc
15393 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
15394 Check for linker script only if compiler isn't Apple's CC
15395 (TARGET_MODULE_FORMAT): set
15396 (TARGET_APPLE_CC): likewise
15397 (TARGET_ASFLAGS): likewise
15398 (ASFLAGS): likewise
15399 Check for objcopy only if compiler isn't Apple's CC
15400 Check for BSS symbol only if compiler isn't Apple's CC
15401 * genmk.rb: adapt nm options if we use Apple's utils
15402 * aclocal.m4 (grub_apple_cc): new test
15403 (grub_apple_target_cc): likewise
473d1e45 15404
fb14123e 154052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 Simplify sed expressions and improve awk
15408
15409 * Makefile.in (install-local): simplify sed expression
15410 * gencmdlist.sh: likewise
15411 * genmoddep.awk: avoid adding module as a dependency of itself
15412
5b889789 154132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 Add missing start symbols
15416
15417 * boot/i386/pc/boot.S: add start
fb14123e 15418 * boot/i386/pc/pxeboot.S: likewise
473d1e45 15419
fd2bf2e3 154202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 15423
15424 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 15425 (relocate_addresses): consider both r_addend and value at offset
15426 (make_mods_section): zerofill modinfo and header
15427 (convert_elf): write prefix here
473d1e45 15428
5389763d 154292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 Use .asciz instead of .string
15432
15433 * i386/pc/diskboot.S: use .asciz instead of .string
15434 * i386/pc/boot.S: likewise
15435 * include/grub/dl.h (GRUB_MOD_DEP): likewise
15436 (GRUB_MOD_NAME): likewise
473d1e45 15437
3eb5ed4e 154382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 gfxpayload support
15441
15442 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
15443 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
15444 (grub_video_setup): remove
15445 (grub_video_set_mode): new prototype
15446 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
15447 (vid_mode): remove
15448 (linux_vesafb_res): compile only on PCBIOS
15449 (grub_linux_boot): support gfxpayload
15450 * loader/i386/pc/xnu.c (video_hook): new function
15451 (grub_xnu_set_video): support gfxpayload
15452 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
15453 (DEFAULT_VIDEO_HEIGHT): likewise
15454 (DEFAULT_VIDEO_FLAGS): likewise
15455 (DEFAULT_VIDEO_MODE): new definition
15456 (video_hook): new function
15457 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 15458 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 15459 loading xnu
15460 * video/video.c (grub_video_setup): removed
473d1e45 15461 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 15462 grub_video_setup
15463
4b0e1143 154642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 Avoid calling biosdisk in drivemap
15467
15468 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
15469 (revparse_biosdisk): likewise
15470 (list_mappings): derive name from id directly
15471 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 15472
fda6cb98 154732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 Script fixes
15476
15477 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
15478 (grub_lexer_param): add tokenonhold
15479 (grub_script_create_cmdline): remove cmdline. All callers updated
15480 (grub_script_function_create): make functionname
15481 grub_script_arg. All callers updated
15482 (grub_script_execute_argument_to_string): new prototype
15483 * kern/parser.c (state_transitions): reorder
15484 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 15485 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 15486 make global
15487 (grub_script_execute_cmdline): use new format
15488 * script/sh/function.c (grub_script_function_create): make functionname
15489 grub_script_arg. All callers updated
473d1e45 15490 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 15491 (grub_script_yylex): remove
15492 (grub_script_yylex2): renamed to ...
15493 (grub_script_yylex): ...renamed
15494 parse the expressions like a${b}c
15495 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
15496 (GRUB_PARSER_TOKEN_VAR): remove
15497 (GRUB_PARSER_TOKEN_NAME): likewise
15498 ("if"): declare as typeless
15499 ("while"): likewise
15500 ("function"): likewise
15501 ("else"): likewise
15502 ("then"): likewise
15503 ("fi"): likewise
15504 (text): remove
15505 (argument): likewise
15506 (script): accept empty scripts and make exit on error
15507 (arguments): use GRUB_PARSER_TOKEN_ARG
15508 (function): likewise
15509 (command): move error handling to script
15510 (menuentry): move grub_script_lexer_ref before
473d1e45 15511 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 15512 argument. All callers updated
15513
f4448a07 155142009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15515
15516 Prevent GRUB from probing floppies during boot.
15517
15518 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
15519 * commands/search.c (options): Add --no-floppy.
15520 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
15521 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
15522 --no-floppy when searching for UUIDs.
15523
2bf5885a 155242009-06-04 Robert Millan <rmh.grub@aybabtu.com>
15525
15526 Simplify the code duplication in commands/search.c.
15527
15528 * commands/search.c (search_label, search_fs_uuid): Merge into ...
15529 (search_fs): ... this. Update all users.
15530
f6fd460a 155312009-06-03 Felix Zielcke <fzielcke@z-51.de>
15532
15533 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
15534
cbb3c83e 155352009-05-28 Pavel Roskin <proski@gnu.org>
15536
57788cfd 15537 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
15538 Remove the original symlink explicitly.
15539
cbb3c83e 15540 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
15541 just one slash. That's how grub_fshelp_find_file() does it.
15542
cd0d5e30 155432009-05-26 Pavel Roskin <proski@gnu.org>
15544
f0f8bbe2 15545 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
15546 to `str'.
15547
cd0d5e30 15548 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
15549 possibly unused.
15550
8c2cab51 155512009-05-25 Christian Franke <franke@computer.org>
15552
15553 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
15554 register.
15555 (grub_atapi_identify): Add wait after drive select.
15556 (grub_ata_identify): Do more strict status register check before
15557 calling grub_atapi_identify (). Suppress error message if status
15558 register is 0x00 after command failure. Add status register
15559 check after PIO read to avoid bogus identify due to stuck DRQ.
15560 Thanks to Pavel Roskin for testing.
15561 (grub_device_initialize): Remove unsafe status register check.
15562 Thanks to 'phcoder' for problem report and patch.
15563 Prevent sign extension in debug message.
15564
230c0ad6 155652009-05-23 Colin D Bennett <colin@gibibit.com>
15566
15567 Cleaned up `include/grub/normal.h'. Grouped prototypes by
15568 definition file, and functions defined in `normal/menu.c' have had
15569 their prototypes moved to `include/grub/menu.h' for consistency.
15570
15571 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
15572 from normal.h.
15573 (grub_menu_get_entry): Likewise.
15574 (grub_menu_get_timeout): Likewise.
15575 (grub_menu_set_timeout): Likewise.
15576 (grub_menu_execute_entry): Likewise.
15577 (grub_menu_execute_with_fallback): Likewise.
15578 (grub_menu_entry_run): Likewise.
15579
15580 * include/grub/normal.h: Re-ordered and grouped function
15581 prototypes by file that the function is defined in.
15582 (grub_menu_execute_callback): Removed; moved to menu.h.
15583 (grub_menu_get_entry): Likewise.
15584 (grub_menu_get_timeout): Likewise.
15585 (grub_menu_set_timeout): Likewise.
15586 (grub_menu_execute_entry): Likewise.
15587 (grub_menu_execute_with_fallback): Likewise.
15588 (grub_menu_entry_run): Likewise.
15589 (grub_menu_addentry): Renamed from this ...
15590 (grub_normal_add_menu_entry): ... to this.
15591
15592 * normal/main.c (grub_menu_addentry): Renamed from this ...
15593 (grub_normal_add_menu_entry): ... to this.
15594
15595 * script/sh/execute.c (grub_script_execute_menuentry): Update
15596 reference to renamed grub_menu_addentry function.
15597
861f03a5 155982009-05-23 Felix Zielcke <fzielcke@z-51.de>
15599
15600 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
15601
96b1619a 156022009-05-22 Pavel Roskin <proski@gnu.org>
15603
bf6a5fb2 15604 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
15605 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
15606 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
15607 compiling for the i386 targets, but not for the utilities.
15608
96b1619a 15609 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
15610 to grub_uint8_t.
15611 (grub_root_drive): Likewise.
15612 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
15613 remove alignment.
15614 (grub_root_drive): Change size to byte.
15615 (grub_start_addr): Remove.
15616 (grub_end_addr): Likewise.
15617 (grub_apm_bios_info): Likewise.
15618
b729776b 156192009-05-21 Felix Zielcke <fzielcke@z-51.de>
15620
15621 * normal/i386: Remove.
15622 * normal/powerpc: Likewise.
15623 * normal/sparc64: Likewise.
15624 * normal/x86_64: Likewise.
15625
0a15ce80 156262009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 15629 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 15630 * loader/i386/xnu_helper.S: Likewise
d6da58e6 15631
33db9015 156322009-05-18 Colin D Bennett <colin@gibibit.com>
15633
d6da58e6 15634 Display error messages when parsing a Lua statement fails.
15635 Previously, executing a syntactically invalid statement like
15636 ")foo" or "bar;" would silently fail.
33db9015 15637
15638 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 15639 (grub_lua_parse_line): Improved reporting of Lua parser and
15640 execution errors.
33db9015 15641
46422c89 156422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 Remove -Werror which causes build to fail on some systems
15645
15646 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
15647 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
15648 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 15649
22f53a96 156502009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 trampoline for linux on 64-bit platform
15653
18f547ad 15654 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
15655 loader/i386/efi/linux_trampoline.S
15656 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 15657 declaration
d6da58e6 15658 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
15659 here
22f53a96 15660 * loader/i386/linux_trampoline.S: moved here
d6da58e6 15661 * loader/i386/efi/linux.c (allocate_pages): reserve space for
15662 trampoline
22f53a96 15663 (jumpvector): removed
15664 (grub_linux_trampoline_start): new declaration
15665 (grub_linux_trampoline_end): likewise
15666 (grub_linux_boot): use trampoline when on 64-bit platform
15667 * loader/i386/linux.c: likewise
15668
cb5a0f40 156692009-05-16 Pavel Roskin <proski@gnu.org>
15670
15671 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
15672 const to avoid a warning.
15673 (grub_lua_setenv): Likewise.
15674 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
15675 lmsg to fix a warning.
15676
334f2c28 156772009-05-16 Felix Zielcke <fzielcke@z-51.de>
15678
15679 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 15680 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15681 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
15682 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15683 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15684 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
15685 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
15686 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 15687
59e5d3ec 156882009-05-16 Felix Zielcke <fzielcke@z-51.de>
15689
15690 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
15691
9d87a1ba 156922009-05-16 Bean <bean123ch@gmail.com>
15693
15694 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
15695 (lua_mod_SOURCES): New variable.
15696 (lua_mod_CFLAGS): Likewise.
15697 (lua_mod_LDFLAGS): Likewise.
15698
15699 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
15700 (setjmp_mod_SOURCES): New variable.
15701 (setjmp_mod_CFLAGS): Likewise.
15702 (setjmp_LDFLAGS): Likewise.
15703
15704 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
15705 (setjmp_mod_SOURCES): New variable.
15706 (setjmp_mod_CFLAGS): Likewise.
15707 (setjmp_LDFLAGS): Likewise.
15708
15709 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
15710 (setjmp_mod_SOURCES): New variable.
15711 (setjmp_mod_CFLAGS): Likewise.
15712 (setjmp_LDFLAGS): Likewise.
15713
15714 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
15715 (setjmp_mod_SOURCES): New variable.
15716 (setjmp_mod_CFLAGS): Likewise.
15717 (setjmp_LDFLAGS): Likewise.
15718
15719 * normal/i386/setjmp.S: Moved from here ...
15720 * lib/i386/setjmp.S: ... Moved here
15721 * normal/x86_64/setjmp.S: Moved from here ...
15722 * lib/x86_64/setjmp.S: ... Moved here
15723 * normal/powerpc/setjmp.S: Moved from here ...
15724 * lib/powerpc/setjmp.S: ... Moved here
15725 * normal/sparc64/setjmp.S: Moved from here ...
15726 * lib/sparc64/setjmp.S: ... Moved here
15727
15728 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
15729 returns_twice in mingw.
15730
15731 * script/lua/grub_lib.c: New file.
15732 * script/lua/grub_lib.h: Likewise.
15733 * script/lua/grub_lua.h: Likewise.
15734 * script/lua/grub_main.c: Likewise.
15735 * script/lua/lapi.c: Likewise.
15736 * script/lua/lapi.h: Likewise.
15737 * script/lua/lauxlib.c: Likewise.
15738 * script/lua/lauxlib.h: Likewise.
15739 * script/lua/lbaselib.c: Likewise.
15740 * script/lua/lcode.c: Likewise.
15741 * script/lua/lcode.h: Likewise.
15742 * script/lua/ldblib.c: Likewise.
15743 * script/lua/ldebug.c: Likewise.
15744 * script/lua/ldebug.h: Likewise.
15745 * script/lua/ldo.c: Likewise.
15746 * script/lua/ldo.h: Likewise.
15747 * script/lua/ldump.c: Likewise.
15748 * script/lua/lfunc.c: Likewise.
15749 * script/lua/lfunc.h: Likewise.
15750 * script/lua/lgc.c: Likewise.
15751 * script/lua/lgc.h: Likewise.
15752 * script/lua/linit.c: Likewise.
15753 * script/lua/liolib.c: Likewise.
15754 * script/lua/llex.c: Likewise.
15755 * script/lua/llex.h: Likewise.
15756 * script/lua/llimits.h: Likewise.
15757 * script/lua/lmathlib.c: Likewise.
15758 * script/lua/lmem.c: Likewise.
15759 * script/lua/lmem.h: Likewise.
15760 * script/lua/loadlib.c: Likewise.
15761 * script/lua/lobject.c: Likewise.
15762 * script/lua/lobject.h: Likewise.
15763 * script/lua/lopcodes.c: Likewise.
15764 * script/lua/lopcodes.h: Likewise.
15765 * script/lua/loslib.c: Likewise.
15766 * script/lua/lparser.c: Likewise.
15767 * script/lua/lparser.h: Likewise.
15768 * script/lua/lstate.c: Likewise.
15769 * script/lua/lstate.h: Likewise.
15770 * script/lua/lstring.c: Likewise.
15771 * script/lua/lstring.h: Likewise.
15772 * script/lua/lstrlib.c: Likewise.
15773 * script/lua/ltable.c: Likewise.
15774 * script/lua/ltable.h: Likewise.
15775 * script/lua/ltablib.c: Likewise.
15776 * script/lua/ltm.c: Likewise.
15777 * script/lua/ltm.h: Likewise.
15778 * script/lua/lua.h: Likewise.
15779 * script/lua/luaconf.h: Likewise.
15780 * script/lua/lualib.h: Likewise.
15781 * script/lua/lundump.c: Likewise.
15782 * script/lua/lundump.h: Likewise.
15783 * script/lua/lvm.c: Likewise.
15784 * script/lua/lvm.h: Likewise.
15785 * script/lua/lzio.c: Likewise.
15786 * script/lua/lzio.h: Likewise.
15787
5e898c9d 157882009-05-16 Bean <bean123ch@gmail.com>
15789
15790 * include/grub/kernel.h (grub_module_header_types): Add type
15791 OBJ_TYPE_CONFIG.
15792
15793 * kern/main.c (grub_load_config): New function.
15794 (grub_main): Call grub_load_config to read boot config.
15795
15796 * grub-mkimage (generate_image): New parameter config_path.
15797 (options): New option --config.
15798 (main): Parse --config option, and pass it to generate_image.
15799
cf353a47 158002009-05-14 Christian Franke <franke@computer.org>
15801
15802 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
15803 This fixes build on Cygwin.
15804
3834887f 158052009-05-14 Pavel Roskin <proski@gnu.org>
15806
15807 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
15808 jump. This saves two bytes, so the typical case of 2 swapped
15809 drives would fit 32 bytes.
15810
8090fc01 158112009-05-13 Pavel Roskin <proski@gnu.org>
15812
ac963883 15813 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
15814 grub_uint32_t to avoid a warning.
15815
8090fc01 15816 * loader/i386/linux.c (allocate_pages): When assigning
15817 real_mode_mem, cast through grub_size_t to fix a warning. The
15818 code already makes sure that the value would fit a pointer.
15819 (grub_linux_setup_video): Cast render_target->data to
15820 grub_size_t to fix a warning.
15821
18f547ad 158222009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 15823
15824 * commands/i386/pc/drivemap.c: New file - implement drivemap
15825 command.
15826 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
15827 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
15828
6f6a8b28 158292009-05-13 Pavel Roskin <proski@gnu.org>
15830
15831 * util/i386/pc/grub-setup.c (setup): Remove unused variable
15832 embedding_area_exists.
15833
15fbf4c4 158342009-05-13 Robert Millan <rmh.grub@aybabtu.com>
15835
15836 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
15837 it easier to understand / work with.
59978c8a 15838 Improve warning messages for cases where there's no embedding area,
15839 or when it is too small (or core.img too large).
15fbf4c4 15840
238e871f 158412009-05-13 Pavel Roskin <proski@gnu.org>
15842
0ab3a9a4 15843 * loader/i386/pc/multiboot2.c: Add necessary includes for
15844 grub_multiboot2_real_boot().
15845
a2c8c5f8 15846 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
15847 PX record is always little-endian. We only need the lower 2
15848 bytes of the mode.
15849
faec96af 15850 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
15851 facilitate code reuse.
15852 (grub_cpio_mount): Use "struct head", not a char buffer. This
15853 fixes a warning reported by gcc 4.4.
15854
238e871f 15855 * kernel/disk.c (grub_disk_read): Use void pointer for the
15856 buffer.
15857 (grub_disk_write): Use const void pointer for the buffer.
15858 Adjust all callers. Remove unnecessary casts.
15859
901d2f0c 158602009-05-10 Robert Millan <rmh.grub@aybabtu.com>
15861
15862 * util/i386/pc/grub-install.in: Update copyright year.
15863
18f547ad 158642009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 15865
15866 gptsync
15867
15868 * commands/gptsync.c: new file
15869 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
15870 (gptsync_mod_SOURCES): new variable
15871 (gptsync_mod_CFLAGS): likewise
15872 (gptsync_mod_LDFLAGS): likewise
18f547ad 15873 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 15874 new definition
15875 (GRUB_PC_PARTITION_TYPE_HFS): likewise
15876 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
15877 * conf/i386-ieee1275.rmk: likewise
15878 * conf/i386-pc.rmk: likewise
15879 * conf/powerpc-ieee1275.rmk: likewise
15880
b4ba690a 158812009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 Fixed grub-emu
15884
15885 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
15886 (grub_dl_ref): likewise
15887
317e1a44 158882009-05-08 Robert Millan <rmh.grub@aybabtu.com>
15889
15890 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
15891 split in two functions (one for msdos and one for gpt).
15892
041b8094 158932009-05-08 Pavel Roskin <proski@gnu.org>
15894
752473c2 15895 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
15896 not modified.
15897
041b8094 15898 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
15899 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
15900 Initialize them with -1. Add sanity check for bad1. Eliminate
15901 nerr variable.
15902
172800ce 159032009-05-08 David S. Miller <davem@davemloft.net>
15904
15905 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
15906
29aa5e81 159072009-05-06 Robert Millan <rmh.grub@aybabtu.com>
15908
15909 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 15910 existence.
29aa5e81 15911
96613b62 159122009-05-05 Felix Zielcke <fzielcke@z-51.de>
15913
15914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 15915 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 15916
eef73c8a 159172009-05-05 David S. Miller <davem@davemloft.net>
15918
15919 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
15920
119494b5 159212009-05-05 Pavel Roskin <proski@gnu.org>
15922
15923 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
15924 of grub_dl_ref() and grub_dl_unref().
15925 * commands/parttool.c: Remove preprocessor conditionals around
15926 grub_dl_ref() and grub_dl_unref().
15927 * fs/affs.c: Likewise.
15928 * fs/afs.c: Likewise.
15929 * fs/cpio.c: Likewise.
15930 * fs/ext2.c: Likewise.
15931 * fs/fat.c: Likewise.
15932 * fs/hfs.c: Likewise.
15933 * fs/hfsplus.c: Likewise.
15934 * fs/iso9660.c: Likewise.
15935 * fs/jfs.c: Likewise.
15936 * fs/minix.c: Likewise.
15937 * fs/ntfs.c: Likewise.
15938 * fs/reiserfs.c: Likewise.
15939 * fs/sfs.c: Likewise.
15940 * fs/udf.c: Likewise.
15941 * fs/ufs.c: Likewise.
15942 * fs/xfs.c: Likewise.
15943 * include/grub/dl.h: Likewise.
15944 * loader/xnu.c: Likewise.
15945
de5fd76e 159462009-05-04 Pavel Roskin <proski@gnu.org>
15947
15948 * commands/acpi.c: Remove unused variable my_mod.
15949 * partmap/amiga.c: Likewise.
15950 * partmap/apple.c: Likewise.
15951 * partmap/gpt.c: Likewise.
15952 * partmap/pc.c: Likewise.
15953 * partmap/sun.c: Likewise.
15954 * term/gfxterm.c: Likewise.
15955 * term/i386/pc/vesafb.c: Likewise.
15956 * term/i386/pc/vga.c: Likewise.
15957
983598ad 159582009-05-04 David S. Miller <davem@davemloft.net>
15959
15960 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
15961 pointer args to grub_ieee1275_get_property().
15962
8aadec43 15963 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
15964
9554b15e 15965 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
15966 devices, and do not traverse down under controller nodes.
15967
67e23c90 15968 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
15969 (grub_ofdisk_open): Use it to un-escape "," characters.
15970 * kern/disk.c (find_part_sep): New.
15971 (grub_disk_open): Use it to find the first non-escaped ','
15972 character in the disk name.
15973 * util/ieee1275/devicemap.c (escape_of_path): New.
15974 (grub_util_emit_devicemap_entry): Use it.
15975 * util/sparc64/ieee1275/grub-install.in: Update script to
15976 strip partition specifiers properly by not triggering on
15977 '\' escaped ',' characters.
15978
74bfdd2f 159792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
15980
15981 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
15982 to 0x300.
15983 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
15984 resolutions.
15985 (linux_vesafb_modes): Add a lot of additional modes to the list (based
15986 on documentation from Wikipedia).
15987
4241d2b1 159882009-05-04 Pavel Roskin <proski@gnu.org>
15989
15990 * disk/ata.c: Spelling fixes.
15991 * disk/raid.c: Likewise.
15992 * disk/usbms.c: Likewise.
15993 * disk/dmraid_nvidia.c: Likewise.
15994 * kern/ieee1275/openfw.c: Likewise.
15995 * kern/ieee1275/init.c: Likewise.
15996 * kern/ieee1275/cmain.c: Likewise.
15997 * boot/i386/pc/cdboot.S: Likewise.
15998 * video/readers/png.c: Likewise.
15999 * video/i386/pc/vbe.c: Likewise.
16000 * fs/udf.c: Likewise.
16001 * fs/hfs.c: Likewise.
16002 * fs/reiserfs.c: Likewise.
16003 * efiemu/runtime/efiemu.c: Likewise.
16004 * efiemu/main.c: Likewise.
16005 * efiemu/mm.c: Likewise.
16006 * include/grub/elf.h: Likewise.
16007 * include/grub/xnu.h: Likewise.
16008 * include/grub/usbdesc.h: Likewise.
16009 * include/grub/usb.h: Likewise.
16010 * include/grub/script_sh.h: Likewise.
16011 * include/grub/lib/LzmaEnc.h: Likewise.
16012 * include/grub/efiemu/efiemu.h: Likewise.
16013 * include/grub/command.h: Likewise.
16014 * normal/menu.c: Likewise.
16015 * normal/main.c: Likewise.
16016 * normal/datetime.c: Likewise.
16017 * bus/usb/uhci.c: Likewise.
16018 * mmap/i386/uppermem.c: Likewise.
16019 * mmap/mmap.c: Likewise.
16020 * commands/acpi.c: Likewise.
16021 * commands/test.c: Likewise.
16022 * partmap/apple.c: Likewise.
16023 * font/font.c: Likewise.
16024 * loader/sparc64/ieee1275/linux.c: Likewise.
16025 * loader/macho.c: Likewise.
16026 * loader/i386/bsd_trampoline.S: Likewise.
16027 * loader/i386/bsd.c: Likewise.
16028 * loader/xnu.c: Likewise.
16029 * term/i386/pc/vesafb.c: Likewise.
16030 * term/usb_keyboard.c: Likewise.
16031 * util/resolve.c: Likewise.
16032 * util/getroot.c: Likewise.
16033
0cfc0083 160342009-05-04 Felix Zielcke <fzielcke@z-51.de>
16035
16036 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16037
7c1d00cd 160382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16039
16040 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16041 build error.
16042
b01f0548 160432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16044
16045 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16046 parameter only available on BIOS.
16047
ecc3eb22 160482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 Removed wrong semicolon in declaration
16051
16052 * grub/misc.h (grub_dprintf): remove semicolon
16053
112972a9 160542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16055
16056 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16057 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16058 is done by grub_cmd_linux() now).
16059 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16060 restore video to text mode.
16061 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16062 indicates lack of "vga=" parameter. "vga=0" is mapped to
16063 `GRUB_LINUX_VID_MODE_NORMAL'.
16064
afd5c115 160652009-05-04 Felix Zielcke <fzielcke@z-51.de>
16066
16067 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16068 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16069 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16070 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16071 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16072 `grub_script.tab.c'.
16073
16074 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16075 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16078 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16079
faa517ce 16080 * Makefile.in: Remove duplicated 2008 in Copyright line.
16081
ae0c0bdc 160822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16083
473d1e45 16084 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16085 unconditionally.
16086 * include/grub/util/misc.h (grub_util_warn): New declaration.
16087
16088 * util/i386/pc/grub-install.in: Understand --force and pass it down
16089 to grub-setup.
16090
16091 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16092 down to setup().
16093 (setup): Improve error messages and add warnings when requested to
16094 install in odd layouts. Refuse to install using blocklists unless
16095 --force was set.
16096
18f547ad 160972009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16098
16099 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16100
6d260daa 161012009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 Updated copyright year
16104
16105 * fs/hfsplus.c: updated copyright year
18f547ad 16106
69f853f8 161072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16108
16109 HFS+ UUID
16110
18f547ad 16111 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16112 in the space previously used by unused3
16113 (grub_hfsplus_uuid): new function
16114 (grub_hfsplus_fs): added uuid field
16115
4c402e73 161162009-05-03 Pavel Roskin <proski@gnu.org>
16117
16118 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16119 suppress warnings. It's no longer needed.
16120 * disk/host.c: Likewise.
16121 * disk/ata_pthru.c: Likewise.
16122 * disk/loopback.c: Likewise.
16123 * hook/datehook.c: Likewise.
16124 * parttool/pcpart.c: Likewise.
16125 * fs/i386/pc/pxe.c: Likewise.
16126 * fs/ntfscomp.c: Likewise.
16127 * efiemu/main.c: Likewise.
16128 * mmap/mmap.c: Likewise.
16129 * commands/crc.c: Likewise.
16130 * commands/hexdump.c: Likewise.
16131 * commands/hdparm.c: Likewise.
16132 * commands/acpi.c: Likewise.
16133 * commands/echo.c: Likewise.
16134 * commands/minicmd.c: Likewise.
16135 * commands/blocklist.c: Likewise.
16136 * commands/memrw.c: Likewise.
16137 * commands/loadenv.c: Likewise.
16138 * commands/usbtest.c: Likewise.
16139 * commands/lsmmap.c: Likewise.
16140 * commands/boot.c: Likewise.
16141 * commands/parttool.c: Likewise.
16142 * commands/configfile.c: Likewise.
16143 * commands/search.c: Likewise.
16144 * commands/ieee1275/suspend.c: Likewise.
16145 * commands/cat.c: Likewise.
16146 * commands/i386/pc/pxecmd.c: Likewise.
16147 * commands/i386/pc/play.c: Likewise.
16148 * commands/i386/pc/halt.c: Likewise.
16149 * commands/i386/pc/vbeinfo.c: Likewise.
16150 * commands/i386/pc/vbetest.c: Likewise.
16151 * commands/lspci.c: Likewise.
16152 * commands/date.c: Likewise.
16153 * commands/handler.c: Likewise.
16154 * commands/ls.c: Likewise.
16155 * commands/test.c: Likewise.
16156 * commands/cmp.c: Likewise.
16157 * commands/efi/loadbios.c: Likewise.
16158 * commands/efi/fixvideo.c: Likewise.
16159 * commands/halt.c: Likewise.
16160 * commands/help.c: Likewise.
16161 * commands/reboot.c: Likewise.
16162 * hello/hello.c: Likewise.
16163 * script/sh/main.c: Likewise.
16164 * loader/xnu.c: Likewise.
16165 * term/terminfo.c: Likewise.
16166 * term/i386/pc/serial.c: Likewise.
16167 * term/usb_keyboard.c: Likewise.
16168
515b5079 161692009-05-03 David S. Miller <davem@davemloft.net>
16170
16171 * normal/menu.c: Include grub/parser.h
16172
dfc31a22 161732009-05-03 Pavel Roskin <proski@gnu.org>
16174
2fee74f1 16175 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16176 not char*.
16177 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16178 Suggested by Javier Martín <lordhabbit@gmail.com>
16179
dfc31a22 16180 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16181 efiemu??.o doesn't exist.
16182 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16183 copying.
16184
18f547ad 161852009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16186
16187 FreeBSD 64-bit support
16188
18f547ad 16189 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16190 and loader/i386/bsd_trampoline.S
16191 (bsd_mod_ASFLAGS): new variable
16192 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16193 (FREEBSD_MODTYPE_KERNEL64): likewise
16194 (grub_bsd64_trampoline_start): likewise
16195 (grub_bsd64_trampoline_end): likewise
16196 (grub_bsd64_trampoline_selfjump): likewise
16197 (grub_bsd64_trampoline_gdt): likewise
16198 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16199 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16200 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16201 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16202 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16203 of "attrib" member
16204 * loader/i386/bsd_pagetable.c: new file
16205 * loader/i386/bsd_trampoline.S: likewise
16206 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16207 (ALIGN_VAR): likewise
16208 (entry_hi): new variable
16209 (kern_end_mdofs): likewise
16210 (is_64bit): likewise
16211 (grub_freebsd_add_meta): use ALIGN_VAR
16212 (grub_e820_mmap): new declaration
16213 (grub_freebsd_add_mmap): new function
16214 (grub_freebsd_add_meta_module): support 64 bit kernels
16215 (grub_freebsd_list_modules): use ALIGN_VAR
16216 (gdt_descriptor): new declaration
16217 (grub_freebsd_boot): support 64 bit kernels
16218 (grub_bsd_elf64_hook): new function
16219 (grub_bsd_load_elf): support elf64
16220
038c5720 162212009-05-03 Bean <bean123ch@gmail.com>
16222
16223 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
16224 after we get the result of if statement.
16225
fc45fb58 162262009-05-03 Bean <bean123ch@gmail.com>
16227
16228 * Makefile.in (enable_efiemu): New variable.
16229
16230 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
16231 set.
16232 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
16233 path.
16234 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
16235 path, add -mno-red-zone option.
16236 (efiemu64_s.o): Likewise.
16237 (efiemu64.o): Use macro $^ for source file.
16238
16239 * configure.ac (--enable-efiemu): New option.
16240
bbee0f2b 162412009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16242
16243 xnu support
16244
16245 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
16246 (pkglib_MODULES): add xnu.mod
16247 (xnu_mod_SOURCES): new variable
16248 (xnu_mod_CFLAGS): likewise
16249 (xnu_mod_LDFLAGS): likewise
16250 (xnu_mod_ASFLAGS): likewise
16251 * conf/i386-pc.rmk: likewise
16252 * conf/x86_64-efi.rmk: likewise
7dd4a573 16253 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 16254 new declaration
16255 * include/grub/i386/macho.h: new file
16256 * include/grub/i386/xnu.h: likewise
16257 * include/grub/macho.h: likewise
16258 * include/grub/machoload.h: likewise
16259 * include/grub/x86_64/macho.h: likewise
16260 * include/grub/x86_64/xnu.h: likewise
16261 * include/grub/xnu.h: likewise
16262 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
16263 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
16264 * loader/i386/efi/xnu.c: new file
16265 * loader/i386/pc/xnu.c: likewise
16266 * loader/i386/xnu.c: likewise
16267 * loader/i386/xnu_helper.S: likewise
16268 * loader/macho.c: likewise
16269 * loader/xnu.c: likewise
16270 * loader/xnu_resume.c: likewise
16271 * util/grub-dumpdevtree: likewise
16272 * include/grub/i386/pit.h: include grub/err.h
16273 (grub_pit_wait): export
16274 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 16275
5caf964d 162762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 Efiemu
7dd4a573 16279
5caf964d 16280 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 16281 _linux_efi, linux_efi.
16282 new files in grub-emu
5caf964d 16283 new targets efiemu32.o and efiemu64.o
16284 * loader/linux_normal_efiemu.c: likewise
16285 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 16286 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 16287 files to copy
16288 * include/grub/autoefi.h: new file
7dd4a573 16289 * include/grub/i386/efiemu.h: likewise
5caf964d 16290 * include/grub/i386/pc/efiemu.h: likewise
16291 * include/grub/efi/api.h: add LL suffix when necessary
16292 new definitions relating to tables
16293 * include/grub/efiemu/efiemu.h: new file
16294 * include/grub/efiemu/runtime.h: likewise
16295 * efiemu/prepare.c: likewise
16296 * efiemu/loadcore_common.c: likewise
16297 * efiemu/loadcore64.c: likewise
16298 * efiemu/runtime/efiemu.sh: likewise
16299 * efiemu/runtime/efiemu.S: likewise
16300 * efiemu/runtime/efiemu.c: likewise
16301 * efiemu/runtime/config.h: likewise
16302 * efiemu/prepare32.c: likewise
16303 * efiemu/main.c: likewise
16304 * efiemu/modules/pnvram.c: likewise
16305 * efiemu/modules/i386: likewise
16306 * efiemu/modules/i386/pc: likewise
16307 * efiemu/modules/acpi.c: likewise
16308 * efiemu/i386/pc/cfgtables.c: likewise
16309 * efiemu/i386/loadcore64.c: likewise
16310 * efiemu/i386/loadcore32.c: likewise
16311 * efiemu/prepare64.c: likewise
16312 * efiemu/loadcore.c: likewise
16313 * efiemu/symbols.c: likewise
16314 * efiemu/mm.c: likewise
16315 * efiemu/loadcore32.c: likewise
7dd4a573 16316
163172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 16318
16319 ACPI spoofing
16320
16321 * commands/acpi.c: new file
16322 * commands/i386/pc/acpi.c: likewise
16323 * commands/efi/acpi.c: likewise
16324 * include/grub/acpi.h: likewise
16325 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
16326 (acpi_mod_SOURCES): new variable
16327 (acpi_mod_CFLAGS): likewise
16328 (acpi_mod_LDFLAGS): likewise
16329 * conf/i386-efi.rmk: likewise
16330 * conf/x86_64-efi.rmk: likewise
16331
7dd4a573 163322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 16333
16334 Missing part from mmap patch
16335
16336 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
16337 (grub_mmap_unregister)
16338 (grub_mmap_free_and_unregister): use grub_mmap_register
16339
7dd4a573 163402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 16341
16342 Mmap services
16343
16344 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
16345 * loader/i386/linux.c (find_mmap_size): likewise
16346 (allocate_pages): likewise
16347 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
16348 (grub_fill_multiboot_mmap): likewise
16349 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
16350 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
16351 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
16352 (OPENBSD_MMAP_RESERVED): likewise
16353 * include/grub/i386/pc/memory.h: include grub/memory.h
16354 (grub_lower_mem): removed
16355 (grub_upper_mem): likewise
16356 (GRUB_MACHINE_MEMORY_ACPI): new definition
16357 (GRUB_MACHINE_MEMORY_NVS): likewise
16358 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
16359 (GRUB_MACHINE_MEMORY_HOLE): likewise
16360 (grub_machine_mmap_register): likewise
16361 (grub_machine_mmap_unregister): likewise
16362 (grub_machine_get_upper): likewise
16363 (grub_machine_get_lower): likewise
16364 (grub_machine_get_post64): likewise
16365 * include/grub/i386/efi/memory.h: new file
16366 * include/grub/x86_64/efi/memory.h: likewise
16367 * include/grub/efi/memory.h: likewise
16368 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
16369 (mmap_mod_SOURCES): new variable
16370 (mmap_mod_LDFLAGS): likewise
16371 (mmap_mod_ASFLAGS): likewise
16372 * conf/i386-coreboot.rmk: likewise
16373 * conf/i386-ieee1275.rmk: likewise
16374 * conf/i386-efi.rmk: likewise
16375 * conf/x86_64-efi.rmk: likewise
16376 * include/grub/types.h (UINT_TO_PTR): new macro
16377 (PTR_TO_UINT32): likewise
16378 (PTR_TO_UINT64): likewise
16379 * include/grub/memory.h: new file
16380 * mmap/i386/pc/mmap.c: likewise
16381 * mmap/i386/pc/mmap_helper.S: likewise
16382 * mmap/i386/uppermem.c: likewise
16383 * mmap/mmap.c: likewise
16384 * mmap/efi/mmap.c: likewise
7dd4a573 16385 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 16386 grub_upper_mem
16387 * kern/i386/pc/init.c (grub_lower_mem): removed variable
16388 (grub_upper_mem): likewise
16389 (grub_machine_init): don't use grub_upper_mem,
16390 make grub_lower_mem local
16391 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
16392 grub_mmap_iterate and grub_mmap_get_upper
16393 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
16394
d558e6b5 163952009-05-02 Bean <bean123ch@gmail.com>
16396
16397 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
16398 script/sh/parser.y.
16399 (pkglib_MODULES): Add normal.mod and sh.mod.
16400 (normal_SOURCES): New variable.
16401 (normal_mod_CFLAGS): Likewise.
16402 (normal_mod_LDFLAGS): Likewise.
16403 (sh_mod_SOURCES): Likewise.
16404 (sh_mod_CFLAGS): Likewise.
16405 (sh_mod_LDFLAGS): Likewise.
16406
16407 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
16408 script/sh/lexer.c_DEPENDENCIES.
16409 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
16410 kern/rescue_reader.c and kern/rescue_parser.c.
16411 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
16412 (grub_emu_SOURCES): Change source files.
16413 (pkglib_MODULES): Remove normal.mod.
16414 (normal_SOURCES): Removed.
16415 (normal_mod_CFLAGS): Likewise.
16416 (normal_mod_LDFLAGS): Likewise.
16417 * conf/i386-coreboot.rmk: Likewise.
16418 * conf/i386-efi.rmk: Likewise.
16419 * conf/i386-ieee1276.rmk: Likewise.
16420 * conf/powerpc-ieee1275.rmk: Likewise.
16421 * conf/sparc64-ieee1275.rmk: Likewise.
16422 * conf/x86_64-efi.rmk: Likewise.
16423
16424 * include/grub/command.h (grub_command_execute): New inline function.
16425
16426 * include/grub/menu.h (grub_menu_entry): Removed commands field.
16427
16428 * include/grub/normal.h: Remove <grub/setjmp.h>.
16429 (grub_fs_module_list): Moved to normal/autofs.c.
16430 (grub_exit_env): Removed.
16431 (grub_command_execute): Likewise.
16432 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
16433 parameter script.
16434 (read_command_list): New function declaration.
16435 (read_fs_list): Likewise.
16436
16437 * include/parser.h: Include <grub/reader.h>.
16438 (grub_parser_split_cmdline): Change type of getline parameter.
16439 (grub_parser): New structure.
16440 (grub_parser_class): New variable.
16441 (grub_parser_execute): New function declaration.
16442 (grub_register_rescue_parser): Likewise.
16443 (grub_parser_register): New inline function.
16444 (grub_parser_unregister): Likewise.
16445 (grub_parser_get_current): Likewise.
16446 (grub_parser_set_current): Likewise.
16447
16448 * include/grub/reader.h: New file.
16449 * kern/reader.c: Likewise.
16450 * kern/rescue_parser.c: Likewise.
16451 * kern/rescue_reader.c: Likewise.
16452 * normal/autofs.c: Likewise.
16453 * normal/dyncmd.c: Likewise.
16454
16455 * include/grub/rescue.h: Removed.
16456 * normal/command.h: Likewise.
16457
16458 * include/grub/script.h: Moved to ...
16459 * include/grub/script_sh.h: ... Moved here.
16460 * normal/execute.c: Moved to ...
16461 * script/sh/execute.c: ... Moved here.
16462 * normal/function.c: Moved to ...
16463 * script/sh/function.c: ... Moved here.
16464 * normal/lexer.c: Moved to ...
16465 * script/sh/lexer.c: ... Moved here.
16466 * normal/parser.y: Moved to ...
16467 * script/sh/parser.y: ... Moved here.
16468 * normal/script.c: Moved to ...
16469 * script/sh/script.c: ... Moved here.
16470
16471 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
16472 <grub/reader.h>.
16473 (grub_exit_env): Removed.
16474 (fs_module_list): Moved to normal/autofs.c.
16475 (grub_file_getline): Don't handle comment here.
16476 (free_menu): Skip removed field entry->commands.
16477 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
16478 script parameter.
16479 (read_config_file): Removed nested parameter, change getline function.
16480 (grub_enter_normal_mode): Removed.
16481 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
16482 (read_command_list): Likewise.
16483 (autoload_fs_module): Moved to normal/autofs.c.
16484 (read_fs_list): Likewise.
16485 (reader_nested): New variable.
16486 (grub_normal_execute): Run parser.sh to switch to sh parser.
16487 (grub_cmd_rescue): Removed.
16488 (cmd_normal): Removed.
16489 (grub_cmd_normal): Unregister itself at the beginning. Don't register
16490 rescue command.
16491 (grub_cmdline_run): New function.
16492 (grub_normal_reader_init): Likewise.
16493 (grub_normal_read_line): Likewise.
16494 (grub_env_write_pager): Likewise.
16495 (cmdline): New variable.
16496 (grub_normal_reader): Likewise.
16497 (GRUB_MOD_INIT): Register normal reader and set as current, register
16498 pager hook, register normal command with grub_register_command_prio,
16499 so that it won't show up in command.lst.
16500 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
16501 grub_fs_autoload_hook.
16502
16503 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
16504 (grub_menu_execute_entry): Replace grub_script_execute with
16505 grub_parser_execute, change parameter to grub_command_execute.
16506
16507 * normal/menu_text.c: Remove <grub/script.h>.
16508
16509 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
16510 and <grub/parser.h>.
16511 (run): Change editor_getline to use new parser interface. Change
16512 parameter to grub_command_execute.
16513
16514 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
16515 <grub/reader.h> and <grub/parser.h>.
16516 (grub_load_normal_mode): Execute normal command.
16517 (grub_main): Call grub_register_core_commands,
16518 grub_register_rescue_parser and grub_register_rescue_reader, use
16519 grub_reader_loop to enter input loop.
16520
7dd4a573 16521 * kern/parser.c (grub_parser_split_cmdline): Change type of
16522 getline parameter.
d558e6b5 16523 (grub_parser_class): New variable.
16524 (grub_parser_execute): New function.
16525
16526 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
16527 * loader/multiboot2.c: Likewise.
16528 * loader/sparc64/ieee1275/linux.c: Likewise.
16529
16530 * util/grub-emu.c (read_command_list): New dummy function.
16531
18db813d 165322009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16533
16534 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
16535 count to 16 for CCISS and IDA.
16536
6c67de15 165372009-05-02 Robert Millan <rmh.grub@aybabtu.com>
16538
16539 * normal/menu_text.c (grub_wait_after_message): Print a newline
16540 after waiting for user input.
16541
16542 * loader/i386/linux.c: Include `<grub/normal.h>'.
16543 (grub_cmd_linux): Improve the error message about `ask' mode, by
16544 waiting for user input so it's not missed (we can do this, since
16545 user requested interaction).
16546
d9dc87b0 165472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 Added missing lst to grub-mkrescue
16550
16551 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
16552 and ${input_dir}/parttool.lst
16553
ac8a2baa 165542009-04-30 David S. Miller <davem@davemloft.net>
16555
ad22a610 16556 * util/hostdisk.c (device_is_wholedisk): New function.
16557 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
16558 zero only if device_is_wholedisk() returns true.
16559
6966215d 16560 * util/hostdisk.c (convert_system_partition_to_system_disk):
16561 Handle virtual disk devices named /dev/vdiskX as found on sparc
16562 and powerpc.
16563
ac8a2baa 16564 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
16565 lettered partition specifier is found, convert to numbered.
16566
979b4fb4 165672009-04-29 David S. Miller <davem@davemloft.net>
16568
e2bf39b2 16569 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
16570 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16571
3c64e104 16572 * normal/command.c: Add missing newline at end of file.
16573
979b4fb4 16574 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
16575 warnings.
16576 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
16577 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
16578 grub_ofdisk_read): Likewise, and deal similarly with the fact that
16579 ihandles have a 32-bit type but need to be stored in a "void *".
16580
136d9f82 165812009-04-28 Pavel Roskin <proski@gnu.org>
16582
9459c306 16583 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
16584 not disk. Adjust all dependencies.
2e08a26a 16585 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 16586 grub_disk_close().
16587
136d9f82 16588 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
16589 parent's partition, don't copy it by reference, as it gets freed
16590 on close.
16591
7dd4a573 165922009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 16593
16594 Preboot hooks support
16595
16596 * commands/boot.c (struct grub_preboot_t): new declaration
16597 (preboots_head): new variable
16598 (preboots_tail): likewise
16599 (grub_loader_register_preboot_hook): new function
16600 (grub_loader_unregister_preboot_hook): likewise
16601 (grub_loader_set): launch preboot hooks
16602 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
16603 (grub_loader_register_preboot_hook): new declaration
16604 (grub_loader_unregister_preboot_hook): likewise
16605
5af922b5 166062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 Warning fix
16609
7dd4a573 16610 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 16611 calling grub_dprintf
16612
a5562c30 166132009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 Bug and warning fixes
16616
7dd4a573 16617 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 16618 declaration
16619 * commands/test.c (test_parse): fixed bug with file tests and corrected
16620 declaration of find_file
16621
4006f85c 166222009-04-26 Pavel Roskin <proski@gnu.org>
16623
16624 * Makefile.in: Don't install empty manual pages if help2man is
16625 missing. Use help2man option for output, not shell redirection.
16626
5c77c3de 166272009-04-26 David S. Miller <davem@davemloft.net>
16628
16629 * util/grub-mkdevicemap.c (make_device_map): Add missing
16630 NESTED_FUNC_ATTR to process_device().
16631
033b10a8 166322009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 Test command
16635
16636 * commands/test.c: rewritten to use bash-like test
16637
e4343593 166382009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 Parttool autoloading and improvements
16641
7dd4a573 16642 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 16643 (parttool.lst): new target
16644 * genmk.rb: generate parttool-*
16645 (CLEANFILES): add #{parttool}
16646 (PARTTOOLFILES): new variable
16647 * genparttoollist.sh: new file
7dd4a573 16648 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 16649 (grub_pcpart_type): likewise
16650 * commands/parttool.c (helpmsg): new variable
16651 (grub_cmd_parttool): output help if not enough arguments are supplied
16652 autoload modules
16653 (GRUB_MOD_INIT(parttool)): use helpmsg
16654
0d312500 166552009-04-24 David S. Miller <davem@davemloft.net>
16656
7dd4a573 16657 Avoiding opening same device multiple times in device iterator.
0d312500 16658
16659 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 16660 and use it to build a list of partitions in iterate_disk() and
0d312500 16661 iterate_partition().
16662
ac20caff 16663 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
16664 on disk->data.
16665
0dcf7495 16666 * disk/ieee1275/nand.c (grub_nand_iterate): Return
16667 grub_devalias_iterate() result instead of unconditional 0.
16668 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
16669 Also, capture hook return value, either directly or via
16670 grub_children_iterate(), and propagate to caller.
16671 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
16672 grub_children_iterate): Return value is now 'int' instead of
16673 'grub_err_t'.
16674 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
16675 like a proper iterator, stopping when hooks return non-zero.
16676 (grub_devalias_iterate): Likewise.
16677
c8c08833 166782009-04-23 David S. Miller <davem@davemloft.net>
16679
16680 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
16681
f01005a8 166822009-04-22 David S. Miller <davem@davemloft.net>
16683
16684 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
16685 is larger than address_cells, use that value for address_cells too.
16686
4e8269da 16687 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
16688 IEEE1275_MAX_PATH_LEN): Define.
16689 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
16690 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
16691 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
16692 'devtype'. Explicitly NULL terminate devalias expansion.
16693
a1447506 16694 * util/sparc64/ieee1275/misc.c: New file.
16695 * util/sparc64/ieee1275/grub-setup.c: New file.
16696 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
16697 * util/sparc64/ieee1275/grub-mkimage.c: New file.
16698 * util/sparc64/ieee1275/grub-install.in: New file.
16699 * util/ieee1275/ofpath.c: New file.
16700 * util/ieee1275/devicemap.c: New file.
16701 * util/devicemap.c: New file.
16702 * util/deviceiter.c: New file.
16703 * kern/sparc64/ieee1275/init.c: New file.
16704 * include/grub/util/ofpath.h: New file.
16705 * include/grub/util/deviceiter.h: New file.
16706 * util/grub-mkdevicemap.c: Include deviceiter.h.
16707 Implement using grub_util_emit_devicemap_entry and
16708 grub_util_iterate_devices.
16709 * conf/i386-corebook.rmk: Build util/deviceiter.c and
16710 util/devicemap.c into grub-mkdevicemap
16711 * conf/i386-efi.rmk: Likewise.
16712 * conf/i386-ieee1275.rmk: Likewise.
16713 * conf/i386-pc.rmk: Likewise.
16714 * conf/powerpc-ieee1275.rmk: Likewise.
16715 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
16716 images and installation utilities. Build kernel as image
16717 instead of as elf binary. Use common rules as much as possible.
16718
7dd4a573 167192009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 16720
16721 Correct GPT definition
16722
7dd4a573 16723 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 16724 of "attrib" member
16725
c6c5219f 167262009-04-19 Felix Zielcke <fzielcke@z-51.de>
16727
16728 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
16729
0552ff9f 167302009-04-19 David S. Miller <davem@davemloft.net>
16731
16732 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
16733 (grub_rescue_cmd_linux): Rename to...
16734 (grub_cmd_linux): and fix prototype.
16735 (grub_rescue_cmd_initrd): Rename to...
16736 (grub_cmd_initrd): and fix prototype.
16737 (cmd_linux, cmd_initrd): New.
16738 (GRUB_MOD_INIT(linux)): Use grub_register_command().
16739 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
16740
d1a282fc 167412009-04-17 Pavel Roskin <proski@gnu.org>
16742
07c5039f 16743 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
16744 format.
16745 (grub_ohci_transfer): Likewise.
16746
b012002d 16747 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
16748
1bc09c35 16749 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
16750 return without a value. Fix inconsistent indentation.
16751
e0ff9126 16752 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
16753 match struct grub_fs.
16754
d1a282fc 16755 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
16756 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
16757 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16758 * commands/lspci.c (grub_lspci_iter): Likewise.
16759
a96df3f2 167602009-04-16 Bean <bean123ch@gmail.com>
16761
16762 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
16763 value.
16764
41bb0fe9 167652009-04-15 Pavel Roskin <proski@gnu.org>
16766
16767 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
16768 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
16769 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
16770 definitions.
16771
596c6970 167722009-04-15 Felix Zielcke <fzielcke@z-51.de>
16773
16774 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 16775 that no multiple data or metadata areas are supported and `Unknown
596c6970 16776 metadata header'.
16777
7dd4a573 167782009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 16779
16780 Move loader out of the kernel
16781
16782 * kern/loader.c: moved to ...
16783 * commands/boot.c: ... moved here
16784 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
16785 * commands/boot.c (grub_cmd_boot): moved here. All users updated
16786 * include/grub/kernel.h (grub_machine_fini): export
16787 * include/grub/loader.h (grub_loader_is_loaded): update declaration
16788 (grub_loader_set): likewise
16789 (grub_loader_unset): likewise
16790 (grub_loader_boot): likewise
16791 * conf/common.rmk: new module boot.mod
16792 (pkglib_MODULES): add boot.mod
16793 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
16794 (grub_emu_SOURCES): likewise
16795 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
16796 (grub_emu_SOURCES): likewise
16797 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
16798 (grub_emu_SOURCES): likewise
16799 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
16800 (grub_emu_SOURCES): likewise
16801 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
16802 (grub_emu_SOURCES): likewise
7dd4a573 16803 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
16804 (grub_emu_SOURCES): likewise
0d5d5653 16805 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 16806 (grub_emu_SOURCES): likewise
0d5d5653 16807
7dd4a573 168082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 16809
16810 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 16811
5999d619 16812 * kern/misc.c (grub_itoa): Removed function
16813 (grub_ltoa): likewise
16814 (grub_vsprintf): use grub_lltoa
16815
7dd4a573 168162009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 16817
16818 Restore grub-emu
16819
16820 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
16821 * conf/i386-coreboot.rmk: likewise
16822 * conf/i386-ieee1275.rmk: likewise
16823 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 16824
20318222 168252009-04-15 Felix Zielcke <fzielcke@z-51.de>
16826
16827 * INSTALL: Add that `./autogen.sh' needs to be run before
16828 `./configure.'.
16829
d05f0df3 168302009-04-14 Bean <bean123ch@gmail.com>
16831
16832 * Makefile.in (pkglib_DATA): Add handler.lst.
16833 (handler.lst): New rule.
16834
16835 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
16836 * conf/i386-coreboot.rmk: Likewise.
16837 * conf/i386-ieee1275.rmk: Likewise.
16838 * conf/i386-efi.rmk: Likewise.
16839 * conf/x86_64-efi.rmk: Likewise.
16840 * conf/powerpc-ieee1275.rmk: Likewise.
16841 * conf/sparc64-ieee1275.rmk: Likewise.
16842
16843 * genhandlerlist.sh: New file.
16844
16845 * genmk.rb: Add rules to generate handler.lst.
16846
16847 * include/grub/normal.h (grub_file_getline): New function definition.
16848 (read_handler_list): Likewise.
16849 (free_handler_list): Likewise.
16850
16851 * include/grub/term.h (grub_term_register_input): Add name parameter
16852 for auto generation of handler.lst.
16853 (grub_term_register_output): Likewise.
16854
16855 * normal/handler.c: New file.
16856
16857 * normal/main.c (get_line): Renamed to grub_file_getline.
16858 (read_config_file): Use the newly renamed grub_file_getline.
16859 (read_command_list): Likewise.
16860 (read_fs_list): Likewise.
16861 (grub_normal_execute): Call read_handler_list to parse handler.lst.
16862 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
16863
16864 * term/efi/console.c (grub_console_init): Add name parameter for auto
16865 generation of handler.lst.
16866 * term/gfxterm.c: Likewise.
16867 * term/i386/pc/at_keyboard.c: Likewise.
16868 * term/i386/pc/console.c: Likewise.
16869 * term/i386/pc/serial.c: Likewise.
16870 * term/i386/pc/vesafb.c: Likewise.
16871 * term/i386/pc/vga.c: Likewise.
16872 * term/i386/pc/vga_text.c: Likewise.
16873 * term/ieee1275/ofconsole.c: Likewise.
16874 * term/usb_keyboard.c: Likewise.
16875
33c846be 168762009-04-14 Bean <bean123ch@gmail.com>
16877
16878 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
16879 properly with null character.
16880
4484e01e 168812009-04-14 Felix Zielcke <fzielcke@z-51.de>
16882
16883 * configure: Remove.
16884 * config.h.in: Likewise.
f93d668e 16885 * stamp-h.in: Likewise.
4484e01e 16886 * DISTLIST: Likewise.
16887 * conf/common.mk: Likewise.
16888 * conf/i386-coreboot.mk: Likewise.
16889 * conf/i386-efi.mk: Likewise.
16890 * conf/i386-ieee1275.mk: Likewise.
16891 * conf/i386.mk: Likewise.
16892 * conf/i386-pc.mk: Likewise.
16893 * conf/powerpc-ieee1275.mk: Likewise.
16894 * conf/sparc64-ieee1275.mk: Likewise.
16895 * conf/x86_64-efi.mk: Likewise.
16896
16897 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
16898 develop on GRUB.
16899
7dd4a573 169002009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 16901 David S. Miller <davem@davemloft.net>
16902
16903 * util/hostdisk.c (make_device_name): Fix buffer length
16904 calculations.
16905
e25b5a8c 169062009-04-14 Felix Zielcke <fzielcke@z-51.de>
16907
16908 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
16909 <sys/param.h> and <sys/sysctl.h>.
16910 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
16911 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
16912 opening the device and reset them afterwards.
16913
1f1f580c 169142009-04-13 Pavel Roskin <proski@gnu.org>
16915
16916 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
16917 Reported by John Stanley <jpsinthemix@verizon.net>
16918
7ebc2d6b 169192009-04-13 Robert Millan <rmh@aybabtu.com>
16920
16921 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 16922 that name for menuentries when appropriate.
7ebc2d6b 16923
d8ba3667 169242009-04-13 Felix Zielcke <fzielcke@z-51.de>
16925
16926 * util/grub.d/10_freebsd.in: Add a missing `fi'.
16927
cba416eb 169282009-04-13 Robert Millan <rmh@aybabtu.com>
16929
16930 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
16931 to Linux, simply abort telling the user it's no longer supported.
16932
a547a745 169332009-04-13 Felix Zielcke <fzielcke@z-51.de>
16934
16935 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 16936 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 16937 `freebsd_loadenv' only when devices.hints exist.
16938
232a769c 169392009-04-13 Pavel Roskin <proski@gnu.org>
16940
16941 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
16942
c3012039 169432009-04-13 Felix Zielcke <fzielcke@z-51.de>
16944
16945 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
16946 partition number.
16947 (grub_drive): Likewise.
16948
234022fe 169492009-04-13 David S. Miller <davem@davemloft.net>
16950
16951 * kern/sparc64/ieee1275/ieee1275.c: New file.
16952 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
16953 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
16954 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
16955 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
16956 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
16957 grub_ieee1275_alloc_physmem): Declare new exported functions.
16958
d8e1836c 16959 * include/grub/sparc64/ieee1275/loader.h: New file.
16960 * include/grub/sparc64/ieee1275/memory.h: Likewise.
16961 * include/grub/sparc64/kernel.h: Likewise.
16962 * loader/sparc64/ieee1275/linux.c: Likewise.
16963
96bd81ec 16964 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
16965 (grub_fstest_SOURCES): Likewise.
16966
6a4737e5 16967 * util/hostdisk.c (make_device_name): Do not make any assumptions
16968 about the length of drive names.
16969
1d7a72fd 16970 * kern/dl.c (grub_dl_load_file): Close file immediately when
16971 we are done using it.
16972
56bc2471 169732009-04-12 David S. Miller <davem@davemloft.net>
16974
16975 * kern/misc.c (grub_ltoa): Fix cast when handling negative
16976 values. Noticed by Pavel Roskin.
16977
df38d0bb 16978 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
16979 target compiler.
7dd4a573 16980
e382e93a 16981 * genmk.rb: Add more flexible image type specification, also
16982 pass --strip-unneeded to objcopy.
16983 * conf/i386-pc.rmk: Use *_FORMAT.
16984 * conf/i386-pc.mk: Rebuilt.
16985
f5dbbca9 16986 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
16987 (OFDISK_HASH_SZ): Define.
16988 (ofdisk_hash): New hash table.
16989 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
16990 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
16991 instead of device phandle which is not unique.
16992
91c88b12 16993 * kern/sparc64/ieee1275/init.c: Delete, replace with...
16994 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
16995 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
16996 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
16997 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
16998 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
16999 GRUB_KERNEL_MACHINE_DATA_END): Define.
17000 (grub_kernel_image_size, grub_total_module_size): Declare.
17001
5b5d4aa5 170022009-04-12 Pavel Roskin <proski@gnu.org>
17003
7dd4a573 17004 * configure.ac: Change the logic when we check for target tools.
17005 Do it when the target is specified and it's different from the
17006 specified value of the host.
5b5d4aa5 17007
c91e1793 170082009-04-11 Felix Zielcke <fzielcke@z-51.de>
17009
17010 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17011 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17012 GNU/kFreeBSD. Check if a device is a character device. Use
17013 DIOCGMEDIASIZE to get the size.
17014 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17015 support for GNU/kFreeBSD.
17016 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17017 is a character device instead of a block device. Add support for
17018 FreeBSD device names.
17019
17020 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17021 is a character device instead of a block device.
17022
17023 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17024 is a character device instead of a block device.
17025
b1ac8644 170262009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17027
17028 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17029 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17030 FreeBSD. Check if a device is a character device. Use
17031 DIOCGMEDIASIZE to get the size.
17032 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17033 support for FreeBSD.
17034 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17035 is a character device instead of a block device. Add support for
17036 FreeBSD device names.
17037
17038 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17039 a character device instead of a block device.
17040 (grub_util_check_char_device): New function.
17041
17042 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17043 a character device instead of a block device.
17044
17045 * include/grub/util/getroot.h (grub_util_check_char_device): New
17046 prototype.
17047
a3f7515a 170482009-04-11 David S. Miller <davem@davemloft.net>
17049
17050 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17051 static libgcc.
17052 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17053 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17054 function, if present.
17055 (__bswapdi2): Likewise.
17056
0d44993d 17057 * include/grub/sparc64/ieee1275/boot.h: New file.
17058 * boot/sparc64/ieee1275/boot.S: Likewise.
17059 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17060
ed3d2bc2 17061 * kern/misc.c (grub_ltoa): New function.
17062 (grub_vsprintf): Use it to format 'long' integers.
17063
d3bfb59c 170642009-04-10 David S. Miller <davem@davemloft.net>
17065
17066 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17067 slots are of type grub_ieee1275_cell_t.
17068 (grub_nand_read): Likewise.
17069 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17070 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17071 macros are used to compare values in arg/ret block of the call.
17072 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17073 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17074 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17075 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17076 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17077 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17078 grub_ieee1275_close, grub_ieee1275_set_property,
17079 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17080 grub_ieee1275_cell_t.
17081 * kern/ieee1275/openfw.c (grub_map): Likewise.
17082 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17083 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17084
450e2238 17085 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17086 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17087 (grub_devalias_iterate): Likewise.
17088
7dd4a573 170892009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17090
17091 UFS improvements
17092
17093 * fs/ufs.c (INODE_NBLOCKS): new definition
17094 (struct grub_ufs_dirent): added fields for non-BSD dirents
17095 (grub_ufs_get_file_block): fixed double indirect handling
17096 (grub_ufs_lookup_symlink): use more robust way to determine whether
17097 symlink is inline
17098 (grub_ufs_find_file): support for non-BSD dirents
17099 (grub_ufs_dir): support for non-BSD dirents
17100
e7e6862a 171012009-04-10 Bean <bean123ch@gnail.com>
17102
17103 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17104 attribute, otherwise the size would be wrong for i386 platform.
17105
17106 * include/grub/pci.h (grub_pci_read_word): New inline function.
17107 (grub_pci_read_byte): Likewise.
17108 (grub_pci_write): Likewise.
17109 (grub_pci_write_word): Likewise.
17110 (grub_pci_write_byte): Likewise.
17111
17112 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17113
17114 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17115 (find_framebuf): Scan pci to locate the frame buffer address.
17116
17117 * commands/efi/fixvideo.c: New file.
17118
17119 * commands/efi/loadbios.c: Likewise.
17120
17121 * commands/memrw.c: Likewise.
17122
17123 * util/grub-dumpbios.in: Likewise.
17124
17125 * conf/common.rmk (grub-dumpbios): New utility.
17126 (pkglib_MODULES): New module memrw.mod.
17127 (memrw_mod_SOURCE): New macro.
17128 (memrw_mod_CFLAGS): Likewise.
17129 (memrw_mod_LDFLAGS): Likewise.
17130
7dd4a573 17131 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17132 fixvideo.mod.
17133 (loadbios_mod_SOURCE): New macro.
17134 (loadbios_mod_CFLAGS): Likewise.
17135 (loadbios_mod_LDFLAGS): Likewise.
17136 (fixvideo_mod_SOURCE): Likewise.
17137 (fixvideo_mod_CFLAGS): Likewise.
17138 (fixvideo_mod_LDFLAGS): Likewise.
17139
7dd4a573 17140 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17141 fixvideo.mod.
17142 (loadbios_mod_SOURCE): New macro.
17143 (loadbios_mod_CFLAGS): Likewise.
17144 (loadbios_mod_LDFLAGS): Likewise.
17145 (fixvideo_mod_SOURCE): Likewise.
17146 (fixvideo_mod_CFLAGS): Likewise.
17147 (fixvideo_mod_LDFLAGS): Likewise.
17148
af63ada2 171492009-04-08 Felix Zielcke <fzielcke@z-51.de>
17150
17151 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17152
c2cdde70 171532009-04-07 David S. Miller <davem@davemloft.net>
17154
17155 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17156 support for R_SPARC_OLO10 relocations. Fix compile warning for
17157 R_SPARC_WDISP30 case.
ea3f72cf 17158 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17159
761319cf 171602009-04-06 Pavel Roskin <proski@gnu.org>
17161
1007d1f5 17162 * include/grub/misc.h (ARRAY_SIZE): New macro.
17163 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17164 New macro.
17165 * loader/i386/linux.c (allocate_pages): Use free_pages().
17166 (grub_linux_unload): Don't use free_pages().
17167 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17168 wrong index. Treat all other modes as text modes.
17169 (grub_cmd_linux): Initialize vid_mode unconditionally to
17170 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17171
761319cf 17172 * commands/help.c (print_command_help): Use cmd->prio, not
17173 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17174
ea761d40 171752009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17176
ea761d40 17177 Parttool
17178
17179 * parttool/pcpart.c: new file
17180 * commands/parttool.c: likewise
17181 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17182 (parttool_mod_SOURCES): new variable
17183 (parttool_mod_CFLAGS): likewise
17184 (parttool_mod_LDFLAGS): likewise
17185 (pcpart_mod_SOURCES): likewise
17186 (pcpart_mod_CFLAGS): likewise
17187 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17188 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17189 and parttool/pcpart.c
17190 * conf/i386-efi.rmk: likewise
17191 * conf/i386-ieee1275.rmk: likewise
17192 * conf/i386-pc.rmk: likewise
17193 * conf/powerpc-ieee1275.rmk: likewise
17194 * conf/sparc64-ieee1275.rmk: likewise
17195 * conf/x86_64-ieee1275.rmk: likewise
17196
05aaebfb 171972009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 Support for mtime and further expandability of dir command
17200
17201 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17202 * include/grub/datetime.h: ... moved here and added
05aaebfb 17203 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17204 * include/grub/fs.h: new syntax for dir and mtime functions in
17205 struct grub_fs
05aaebfb 17206 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17207 and GRUB_FSHELP_FLAGS_MASK
17208 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17209 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17210 (grub_ext2_mtime): new function
17211 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
17212 (grub_hfsplus_mtime): new function
17213 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
17214 (GRUB_UFS_ATTR_FILE): likewise
17215 (GRUB_UFS_ATTR_LNK): likewise
17216 (struct grub_ufs_sblock): new fields mtime
17217 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
17218 all users updated
17219 (grub_ufs_dir): mtime support
17220 (grub_ufs_mtime): new function
17221 * fs/affs.c (grub_affs_dir): use new dir syntax
17222 * fs/afs.c (grub_afs_dir): likewise
17223 * fs/cpio.c (grub_cpio_dir): likewise
17224 * fs/fat.c (grub_fat_find_dir): likewise
17225 * fs/hfs.c (grub_hfs_dir): likewise
17226 * fs/iso9660.c (grub_iso9660_dir): likewise
17227 * fs/jfs.c (grub_jfs_dir): likewise
17228 * fs/minix.c (grub_minix_dir): likewise
17229 * fs/ntfs.c (grub_ntfs_dir): likewise
17230 * fs/reiserfs.c (grub_reiserfs_dir): likewise
17231 * fs/sfs.c (grub_sfs_dir): likewise
17232 * fs/xfs.c (grub_xfs_dir): likewise
17233 * util/hostfs.c (grub_hostfs_dir): likewise
17234 * lib/datetime.c: moved to ...
17235 * normal/datetime.c: ... moved here
17236 (grub_unixtime2datetime): new function
17237 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 17238 * normal/completion.c (iterate_dir): use new dir syntax
17239 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 17240 last modification time of a volume
7dd4a573 17241 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 17242 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 17243 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 17244 (normal_mod_SOURCES): likewise
17245 (datetime_mod_SOURCES): Removed lib/datetime.c
17246 * conf/i386-efi.rmk: likewise
7dd4a573 17247 * conf/i386-ieee1275.rmk: likewise
05aaebfb 17248 * conf/i386-pc.rmk: likewise
17249 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17250 * conf/sparc64-ieee1275.rmk: likewise
17251 * conf/x86_64-efi.rmk: likewise
05aaebfb 17252
8a7e1a14 172532009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17254
17255 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 17256
17257 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 17258 on grub_fat_find_dir
17259 (grub_fat_find_dir): use grub_fat_iterate_dir
17260 (grub_fat_label): likewise
17261
04186a9c 172622009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17263
7dd4a573 17264 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 17265 and command.h
17266 remove extraneous kernel_elf_HEADERS
17267
da4c0bb6 172682009-04-04 Bean <bean123ch@gnail.com>
17269
17270 * include/grub/util/misc.h: Add dummy function fsync for mingw.
17271
17272 * util/misc.c: Likewise.
17273
54ad9555 172742009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
17275
17276 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
17277 instead of grub_printf.
17278
7a6bf9f2 172792009-04-03 Robert Millan <rmh@aybabtu.com>
17280
17281 * loader/i386/linux.c (grub_linux_setup_video): Fill
17282 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
17283 values from `mode info' structure instead of hardcoded
17284 values.
17285
3fcc2083 172862009-04-01 Pavel Roskin <proski@gnu.org>
17287
17288 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
17289 unused now.
17290 * genmk.rb: Likewise.
17291 * configure.ac: Likewise.
17292
5ec9740b 172932009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
17294
17295 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
17296 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
17297
5270cec8 172982009-04-01 David S. Miller <davem@davemloft.net>
17299
17300 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 17301 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 17302 (grub_setjmp): Mark with 'returns_twice' attribute.
17303 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
17304 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
17305 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
17306
9c3dd854 173072009-04-01 Robert Millan <rmh@aybabtu.com>
17308
17309 Reapply fix from 2008-07-28 which was accidentally reverted; also
17310 perform the same fix to a similar check in same function.
17311
17312 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
17313 with the same number are found, just use issue a warning with
17314 grub_dprintf(), as this error has been reported to be non-fatal.
17315
0d818b7e 173162009-03-31 Pavel Roskin <proski@gnu.org>
17317
17318 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
17319 for cross-compilation.
17320
95646d92 173212009-03-30 Robert Millan <rmh@aybabtu.com>
17322
17323 Fix i386-ieee1275 build.
17324
17325 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
17326 Remove declaration.
17327
6a003ed1 173282009-03-30 Pavel Roskin <proski@gnu.org>
17329
17330 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
17331 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
17332 zero-terminated, rely only on the strlen value. Fix comparison
17333 of strings differing in length.
17334
92f33540 173352009-03-30 Robert Millan <rmh@aybabtu.com>
17336
17337 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
17338 checking for abi version. Improve error messages on BIOS to notify
17339 user about `linux16' command.
17340
a8c48fd5 173412009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17342
f968172e 17343 Leak fixes
a8c48fd5 17344
f968172e 17345 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
17346 in case of collision
17347 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 17348
9c323f09 173492009-03-29 Robert Millan <rmh@aybabtu.com>
17350
17351 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
17352 set `vid_mode' accordingly.
17353 (grub_linux_boot): Process `vid_mode' and set video mode.
17354
ae68f423 173552009-03-29 Robert Millan <rmh@aybabtu.com>
17356
17357 * util/grub.d/10_linux.in (linux_entry): New function.
17358 Factorize generation of Linux boot entries.
17359
5709cfc4 173602009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
17361
17362 Make the format of Environment Block plain text. The boot loader
17363 part is not tested well yet.
7dd4a573 17364
5709cfc4 17365 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
17366 (buffer): Removed.
17367 (envblk): Likewise.
17368 (usage): Remove "info" and "clear". Add "unset". Update the
17369 description of "set", as this does not delete variables any
17370 longer.
17371 (create_envblk_file): Complete rewrite.
17372 (open_envblk_file): Likewise.
17373 (cmd_info): Removed.
17374 (cmd_list): Likewise.
17375 (cmd_set): Likewise.
17376 (cmd_clear): Likewise.
17377 (list_variables): New function.
17378 (write_envblk): Likewise.
17379 (set_variables): Likewise.
17380 (unset_variables): Likewise.
17381 (main): Complete rewrite.
17382
17383 * commands/loadenv.c (buffer): Removed.
17384 (envblk): Likewise.
17385 (open_envblk_file): New function.
17386 (read_envblk_file): Complete rewrite.
17387 (grub_cmd_load_env): Likewise.
17388 (grub_cmd_list_env): Likewise.
17389 (struct blocklist): New struct.
17390 (free_blocklists): New function.
17391 (check_blocklists): Likewise.
17392 (write_blocklists): Likewise.
17393 (grub_cmd_save_env): Complete rewrite.
17394
17395 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
17396 a plain text signature.
17397 (GRUB_ENVBLK_MAXLEN): Removed.
17398 (struct grub_envblk): Complete rewrite.
17399 (grub_envblk_find): Removed.
17400 (grub_envblk_insert): Likewise.
17401 (grub_envblk_open): New prototype.
17402 (grub_envblk_set): Likewise.
17403 (grub_envblk_delete): Put const to VALUE.
17404 (grub_envblk_iterate): Put const to NAME and VALUE.
17405 (grub_envblk_close): New prototype.
17406 (grub_envblk_buffer): New inline function.
17407 (grub_envblk_size): Likewise.
17408
17409 * lib/envblk.c: Include grub/mm.h.
17410 (grub_env_find): Removed.
17411 (grub_envblk_open): New function.
17412 (grub_envblk_close): Likewise.
17413 (escaped_value_len): Likewise.
17414 (find_next_line): Likewise.
17415 (grub_envblk_insert): Removed.
17416 (grub_envblk_set): New function.
17417 (grub_envblk_delete): Complete rewrite.
17418 (grub_envblk_iterate): Likewise.
17419
a9368fd3 174202009-03-28 Robert Millan <rmh@aybabtu.com>
17421
17422 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
17423 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
17424 variables. Use 16-bit loader.
17425 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
17426 loader.
17427 * kern/i386/loader.S (grub_linux_boot): Rename to ...
17428 (grub_linux16_boot): ... this. Update all users.
17429 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
17430 (grub_linux_boot): ... this. Update all users.
17431
17432 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
17433 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
17434 commands to `linux16' and `initrd16'.
17435 (GRUB_MOD_FINI(linux)): Rename to ...
17436 (GRUB_MOD_FINI(linux16)): ... this.
17437
e4dd5a7e 174382009-03-24 Pavel Roskin <proski@gnu.org>
17439
17440 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
17441 not just for compilation.
17442
c04d6e05 174432009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
17444
17445 Move multiboot helper out of kernel
17446
17447 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
17448 `loader/i386/multiboot_helper.S'.
17449 * conf/i386-coreboot.rmk: Likewise
17450 * conf/i386-ieee1275.rmk: Likewise
17451
17452 * kern/i386/loader.S: Move multiboot helpers from here...
17453 * loader/i386/multiboot_helper.S: ...moved here
17454 * include/grub/i386/loader.h: Move declarations of multiboot
17455 helpers from here...
17456 * include/grub/i386/multiboot.h: ...moved here
17457 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
17458
42a5b3fc 174592009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17460
17461 * kern/env.c (grub_env_context_open): Added an argument to specify
17462 whether a new context inherits exported variables from current
17463 one. This is useful when making a sandbox to interpret a config
17464 file.
17465 All callers updated.
17466
17467 * include/grub/env.h (grub_env_context_open): Updated the prototype.
17468
b28bbc4e 174692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17470
17471 * kern/env.c (grub_env_context_close): Fix memory leaks.
17472
f04f02e4 174732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
17474
17475 * normal/main.c (grub_normal_execute): Added an argument
17476 BATCH to specify if an interactive interface should be provided
17477 after reading a config file.
17478 All callers updated.
17479 (read_command_list): Prevent being executed twice.
17480 (read_fs_list): Likewise.
17481
42a5b3fc 17482 * include/grub/normal.h (grub_normal_execute): Updated the
17483 prototype.
f04f02e4 17484
41473ac2 174852009-03-22 Pavel Roskin <proski@gno.org>
17486
fbc00b0c 17487 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
17488 _start.
17489 * kern/i386/pc/startup.S: Likewise.
17490 * kern/i386/efi/startup.S: Likewise.
17491 * kern/i386/ieee1275/startup.S: Likewise.
17492 * kern/i386/coreboot/startup.S: Likewise.
17493 * kern/x86_64/efi/startup.S: Likewise.
17494
41473ac2 17495 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
17496 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
17497 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
17498
2274cc8f 174992009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 Bugfixes in multiboot for bugs uncovered by solaris kernel.
17502
17503 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
17504 limit detection.
17505 Use vaddr of correct segment for entry_point.
17506
b1b797cb 175072009-03-21 Bean <bean123ch@gmail.com>
17508
17509 * commands/blocklist.c: Add include file <grub/command.h>, remove
17510 <grub/normal.h> and <grub/arg.h>.
17511 (grub_cmd_blocklist): Use the new command interface.
17512 (GRUB_MOD_INIT): Likewise.
17513 (GRUB_MOD_FINI): Likewise.
17514 * commands/boot.c: Likewise.
17515 * commands/cat.c: Likewise.
17516 * commands/cmp.c: Likewise.
17517 * commands/configfile.c: Likewise.
17518 * commands/crc.c: Likewise.
17519 * commands/echo.c: Likewise.
17520 * commands/halt.c: Likewise.
17521 * commands/handler.c: Likewise.
17522 * commands/hdparm.c: Likewise.
17523 * commands/help.c: Likewise.
17524 * commands/hexdump.c: Likewise.
17525 * commands/loadenv.c: Likewise.
17526 * commands/ls.c: Likewise.
17527 * commands/lsmmap.c: Likewise.
17528 * commands/lspci.c: Likewise.
17529 * commands/loadenv.c: Likewise.
17530 * commands/read.c: Likewise.
17531 * commands/reboot.c: Likewise.
17532 * commands/search.c: Likewise.
17533 * commands/sleep.c: Likewise.
17534 * commands/test.c: Likewise.
17535 * commands/usbtest.c: Likewise.
17536 * commands/videotest.c: Likewise.
17537 * commands/i386/cpuid.c: Likewise.
17538 * commands/i386/pc/halt.c: Likewise.
17539 * commands/i386/pc/play.c: Likewise.
17540 * commands/i386/pc/pxecmd.c: Likewise.
17541 * commands/i386/pc/vbeinfo.c: Likewise.
17542 * commands/i386/pc/vbetest.c: Likewise.
17543 * commands/ieee1275/suspend.c: Likewise.
17544 * disk/loopback.c: Likewise.
17545 * font/font_cmd.c: Likewise.
17546 * hello/hello.c: Likewise.
17547 * loader/efi/appleloader.c: Likewise.
17548 * loader/efi/chainloader.c: Likewise.
17549 * loader/i386/bsd.c: Likewise.
17550 * loader/i386/efi/linux.c: Likewise.
17551 * loader/i386/ieee1275/linux.c: Likewise.
17552 * loader/i386/linux.c: Likewise.
17553 * loader/i386/pc/chainloader.c: Likewise.
17554 * loader/i386/pc/linux.c: Likewise.
17555 * loader/powerpc/ieee1275/linux.c: Likewise.
17556 * loader/multiboot_loader.c: Likewise.
17557 * term/gfxterm.c: Likewise.
17558 * term/i386/pc/serial.c: Likewise.
17559 * term/terminfo.c: Likewise.
17560
17561 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
17562 * term/i386/pc/vga.c: Likewise.
17563 * video/readers/jpeg.c: Likewise.
17564 * video/readers/png.c: Likewise.
17565 * video/readers/tga.c: Likewise.
17566
17567 * util/grub-fstest (cmd_loopback): Removed.
17568 (cmd_blocklist): Likewise.
17569 (cmd_ls): Likewise.
17570 (grub_register_command): Likewise.
17571 (grub_unregister_command): Likewise.
17572 (execute_command): Use grub_command_find to locate command and execute
17573 it.
17574
17575 * include/grub/efi/chainloader.h: Removed.
17576 * loader/efi/chainloader_normal.c: Likewise.
17577 * loader/i386/bsd_normal.c: Likewise.
17578 * loader/i386/pc/chainloader_normal.c: Likewise.
17579 * loader/i386/pc/multiboot_normal.c: Likewise.
17580 * loader/linux_normal.c: Likewise.
17581 * loader/multiboot_loader_normal.c: Likewise.
17582 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
17583
17584 * gencmdlist.sh: Scan new registration command grub_register_extcmd
17585 and grub_register_command_p1.
17586
17587 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
17588 kern/command.c, lib/arg.c and commands/extcmd.c.
17589 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
17590 (minicmd_mod_SOURCES): New variable.
17591 (minicmd_mod_CFLAGS): Likewise.
17592 (minicmd_mod_LDFLAGS): Likewise.
17593 (extcmd_mod_SOURCES): Likewise.
17594 (extcmd_mod_CFLAGS): Likewise.
17595 (extcmd_mod_LDFLAGS): Likewise.
17596 (boot_mod_SOURCES): Removed.
17597 (boot_mod_CFLAGS): Likewise.
17598 (boot_mod_LDFLAGS): Likewise.
17599
17600 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
17601 kern/corecmd.c.
17602 (kernel_img_HEADERS): Add command.h.
17603 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
17604 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
17605 and lib/arg.c.
17606 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
17607 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
17608 remove the corresponding normal mode command.
17609 (normal_mod_SOURCES): Remove normal/arg.c.
17610 * conf/i386-coreboot.rmk: Likewise.
17611 * conf/i386-efi.rmk: Likewise.
17612 * conf/i386-ieee1275.rmk: Likewise.
17613 * conf/powerpc-ieee1275.rmk: Likewise.
17614 * conf/x86_64-efi.rmk: Likewise.
17615
17616 * include/grub/arg.h: Move from here ...
17617 * include/grub/lib/arg.h: ... to here.
17618
17619 * normal/arg.c: Move from here ...
17620 * lib/arg.c: ... to here.
17621
17622 * commands/extcmd.c: New file.
17623 * commands/minicmd.c: Likewise.
17624 * include/grub/command.h: Likewise.
17625 * include/grub/extcmd.h: Likewise.
17626 * kern/command.c: Likewise.
17627 * kern/corecmd.c: Likewise.
17628
17629 * kern/list.c (grub_list_iterate): Return int instead of void.
17630 (grub_list_insert): New function.
17631 (grub_prio_list_insert): Likewise.
17632
17633 * kern/rescue.c (grub_rescue_command): Removed.
17634 (grub_rescue_command_list): Likewise.
17635 (grub_rescue_register_command): Likewise.
17636 (grub_rescue_unregister_command): Likewise.
17637 (grub_rescue_cmd_boot): Move to minicmd.c
17638 (grub_rescue_cmd_help): Likewise.
17639 (grub_rescue_cmd_info): Likewise.
17640 (grub_rescue_cmd_boot): Likewise.
17641 (grub_rescue_cmd_testload): Likewise.
17642 (grub_rescue_cmd_dump): Likewise.
17643 (grub_rescue_cmd_rmmod): Likewise.
17644 (grub_rescue_cmd_lsmod): Likewise.
17645 (grub_rescue_cmd_exit): Likewise.
17646 (grub_rescue_print_devices): Moved to corecmd.c.
17647 (grub_rescue_print_files): Likewise.
17648 (grub_rescue_cmd_ls): Likewise.
17649 (grub_rescue_cmd_insmod): Likewise.
17650 (grub_rescue_cmd_set): Likewise.
17651 (grub_rescue_cmd_unset): Likewise.
7d074e3c 17652 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 17653 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 17654 commands, remove grub_rescue_register_command calls.
b1b797cb 17655
7d074e3c 17656 * normal/command.c (grub_register_command): Removed.
b1b797cb 17657 (grub_unregister_command): Likewise.
17658 (grub_command_find): Likewise.
17659 (grub_iterate_commands): Likewise.
17660 (rescue_command): Likewise.
17661 (export_command): Moved to corecmd.c.
17662 (set_command): Removed.
17663 (unset_command): Likewise.
17664 (insmod_command): Likewise.
17665 (rmmod_command): Likewise.
17666 (lsmod_command): Likewise.
17667 (grub_command_init): Likewise.
17668
17669 * normal/completion.c (iterate_command): Use cmd->prio to check for
17670 active command.
17671 (complete_arguments): Use grub_extcmd_t structure to find options.
17672 (grub_normal_do_completion): Change function grub_iterate_commands to
17673 grub_command_iterate.
17674
17675 * normal/execute.c (grub_script_execute_cmd): No need to parse
17676 argument here.
17677
17678 * normal/main.c (grub_dyncmd_dispatcher): New function.
17679 (read_command_list): Register unload commands as dyncmd.
17680 (grub_cmd_normal): Use new command interface, register rescue,
17681 unregister normal at entry, register normal, unregister rescue at exit.
17682
17683 * include/grub/list.h (grub_list_test_t): New type.
17684 (grub_list_iterate): Return int instead of void.
17685 (grub_list_insert): New function.
17686 (GRUB_AS_NAMED_LIST_P): New macro.
17687 (GRUB_AS_PRIO_LIST): Likewise.
17688 (GRUB_AS_PRIO_LIST_P): Likewise.
17689 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
17690 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
17691 (grub_prio_list): New structure.
17692 (grub_prio_list_insert): New function.
17693 (grub_prio_list_remove): New inline function.
17694
17695 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
17696 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
17697 (GRUB_COMMAND_FLAG_MENU): Likewise.
17698 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17699 (GRUB_COMMAND_FLAG_TITLE): Likewise.
17700 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17701 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
17702 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
17703 (grub_command): Likewise.
17704 (grub_register_command): Likewise.
17705 (grub_command_find): Likewise.
17706 (grub_iterate_commands): Likewise.
17707 (grub_command_init): Likewise.
17708 (grub_arg_parse): Likewise.
17709 (grub_arg_show_help): Likewise.
17710
17711 * include/grub/rescue.h (grub_rescue_register_command): Removed.
17712 (grub_rescue_unregister_command): Likewise.
17713
17714 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
17715 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
17716 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
17717
17718 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
17719 grub_rescue_cmd_initrd.
17720 * include/grub/i386/loader.h: Likewise.
17721 * include/grub/x86_64/loader.h: Likewise.
17722
17723 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
17724
1f4147aa 177252009-03-21 Bean <bean123ch@gmail.com>
17726
17727 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
17728 instead of stat in mingw environment.
17729
17730 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
17731
17732 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
17733
17734 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
17735 AC_CONFIG_LINKS.
17736
2156d5ba 177372009-03-21 Bean <bean123ch@gmail.com>
17738
17739 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
17740 out of range error.
17741
177b82ca 177422009-03-18 Michel Dänzer <michel@daenzer.net>
17743
17744 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
17745 checking inode flags for EXT4_EXTENTS_FLAG.
17746
14aad807 177472009-03-18 Robert Millan <rmh@aybabtu.com>
17748
17749 * loader/i386/linux.c: Include `<grub/video.h>' and
17750 `<grub/i386/pc/vbe.h>'..
17751 (grub_linux_setup_video): New function. Loosely based on the EFI one.
17752 (grub_linux32_boot): Attempt to configure video settings with
17753 grub_linux_setup_video().
17754 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
17755 to avoid grub_console_fini() which would step out of graphical mode
17756 unconditionally.
17757
8cf83a27 177582009-03-14 Robert Millan <rmh@aybabtu.com>
17759
17760 Fix build on powerpc.
17761 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
17762
40164e75 177632009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
17766 background image command.
17767
c58bc32a 177682009-03-12 Colin D Bennett <colin@gibibit.com>
17769
17770 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
17771 (grub_gfxterm_putchar): Extract pairs of identical calls to
17772 draw_cursor out of conditional blocks.
17773
5415144a 177742009-03-11 Pavel Roskin <proski@gnu.org>
17775
17776 * fs/hfs.c (grub_hfs_strncasecmp): New function.
17777 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
17778
6394042e 177792009-03-11 Robert Millan <rmh@aybabtu.com>
17780
17781 * loader/i386/multiboot_elfxx.c
17782 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
17783
b7b50e5f 177842009-03-11 Felix Zielcke <fzielcke@z-51.de>
17785
17786 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
17787 `kern/handler.c'.
17788
1ca7fc96 177892009-03-11 Robert Millan <rmh@aybabtu.com>
17790
17791 * loader/i386/multiboot.c (code_size): New variable.
17792 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 17793 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 17794 4-byte alignment to MBI and others by increasing
7d074e3c 17795 `boot_loader_name_length' appropriately.
1ca7fc96 17796
17797 * loader/i386/multiboot_elfxx.c
17798 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
17799
a83ea1d2 178002009-03-09 Felix Zielcke <fzielcke@z-51.de>
17801
17802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
17803 `fs/ext2.c'.
17804
aa9f3bff 178052009-03-08 Robert Millan <rmh@aybabtu.com>
17806
17807 Make loader/i386/linux.c usable on i386-pc again.
17808
17809 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
17810 memory to heap.
17811 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
17812 `#error' stanza.
17813
d8b3b60e 178142009-03-07 Bean <bean123ch@gmail.com>
17815
17816 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
17817 allocation.
17818
b362c9e9 178192009-03-06 Robert Millan <rmh@aybabtu.com>
17820
17821 Fix display issue on terminals with screen size other than 80x25
17822 (e.g. gfxterm with resolution higher than 640x480).
17823
17824 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 17825 position relative to the center of the terminal instead of relying
b362c9e9 17826 on a hardcoded offset.
17827
9304eef1 178282009-03-04 Robert Millan <rmh@aybabtu.com>
17829
17830 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
17831 installed.
17832
17833 * Makefile.in (host_kernel): New variable.
17834 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
17835 scripts instead of just the windows one.
17836 * configure.ac: Initialize and AC_SUBST `host_kernel'.
17837
eabc95fb 178382009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 17839
17840 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
17841 `kern/handler.c'.
17842 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17843 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17844 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17846 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17847 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17848
ceb1223c 178492009-03-04 Felix Zielcke <fzielcke@z-51.de>
17850
17851 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
17852 or if there's no space for the disk label and print the partition number on a
17853 invalid magic.
17854
4910684a 178552009-03-04 Felix Zielcke <fzielcke@z-51.de>
17856
17857 * util/misc.c: Include <time.h>.
17858 (grub_millisleep): New function.
17859
7e9ca17a 178602009-03-04 Bean <bean123ch@gmail.com>
17861
17862 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
17863 another option -mno-red-zone.
17864
17865 * commands/handler.c: Change module description.
17866
17867 * kern/handler.c: Add missing space at the end of description line.
17868
17869 * kern/list.c: Likewise.
17870
f501677c 178712009-03-03 Robert Millan <rmh@aybabtu.com>
17872
17873 Move more components to the relocation area, and fix mbi pointer
17874 handling to use the destination rather than the origin (thanks to
17875 Vladimir Serbinenko for spotting).
17876
17877 * loader/i386/multiboot.c (mbi_dest): New variable.
17878 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
17879 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
17880 relocation area.
17881
9902d047 178822009-03-01 Bean <bean123ch@gmail.com>
17883
50fb7002 17884 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 17885 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
17886 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
17887 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
17888
17889 * loader/i386/efi/linux.c (acpi_guid): New variable.
17890 (acpi_guid): Likewise.
17891 (EBDA_SEG_ADDR): New constant.
17892 (LOW_MEM_ADDR): Likewise.
17893 (FAKE_EBDA_SEG): Likewise.
17894 (fake_bios_data): New function.
17895 (grub_linux_boot): Call fake_bios_data.
17896
71b9f361 178972009-03-01 Bean <bean123ch@gmail.com>
17898
17899 * commands/terminal.c: Removed.
17900
17901 * commands/handler.c: New file.
17902
17903 * include/grub/list.h: Likewise.
17904
17905 * include/grub/handler.h: Likewise.
17906
17907 * kern/list.c: Likewise.
17908
17909 * kern/handler.c: Likewise.
17910
17911 * kern/term.h: Include header file <grub/handler.h>.
17912 (grub_term_input): Move next field to the beginning.
17913 (grub_term_output): Likewise.
17914 (grub_term_input_class): New variable.
17915 (grub_term_output_class): Likewise.
17916 (grub_term_register_input): Changed to inline function.
17917 (grub_term_register_output): Likewise.
17918 (grub_term_unregister_input): Likewise.
17919 (grub_term_unregister_output): Likewise.
17920 (grub_term_set_current_input): Likewise.
17921 (grub_term_set_current_output): Likewise.
17922 (grub_term_get_current_input): Likewise.
17923 (grub_term_get_current_output): Likewise.
17924 (grub_term_iterate_input): Removed.
17925 (grub_term_iterate_output): Likewise.
17926
17927 * kern/term.c (grub_term_list_input): Removed.
17928 (grub_term_list_output): Likewise.
17929 (grub_term_input_class): New variable.
17930 (grub_term_output_class): Likewise.
50fb7002 17931 (grub_cur_term_input): Change variable as macro.
71b9f361 17932 (grub_cur_term_output): Likewise.
17933 (grub_term_register_input): Removed.
17934 (grub_term_register_output): Likewise.
17935 (grub_term_unregister_input): Likewise.
17936 (grub_term_unregister_output): Likewise.
17937 (grub_term_set_current_input): Likewise.
17938 (grub_term_set_current_output): Likewise.
17939 (grub_term_iterate_input): Likewise.
17940 (grub_term_iterate_output): Likewise.
17941 (grub_term_get_current_input): Likewise.
17942 (grub_term_get_current_output): Likewise.
17943
17944 * util/grub-editenv.c: Include header file <grub/handler.h>.
17945 (grub_term_get_current_input): Removed.
17946 (grub_term_get_current_output): Likewise.
17947 (grub_term_input_class): New variable.
50fb7002 17948 (grub_term_output_class): Likewise.
71b9f361 17949
17950 * util/grub-fstest.c (grub_term_get_current_input): Removed.
17951 (grub_term_get_current_output): Likewise.
17952 (grub_term_input_class): New variable.
50fb7002 17953 (grub_term_output_class): Likewise.
71b9f361 17954
17955 * util/grub-probe.c (grub_term_get_current_input): Removed.
17956 (grub_term_get_current_output): Likewise.
17957 (grub_term_input_class): New variable.
50fb7002 17958 (grub_term_output_class): Likewise.
71b9f361 17959
17960 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
17961 (grub_term_get_current_output): Likewise.
17962 (grub_term_input_class): New variable.
50fb7002 17963 (grub_term_output_class): Likewise.
71b9f361 17964
17965 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
17966 (terminal_mod_SOURCES): Likewise.
17967 (terminal_mod_CFLAGS): Likewise.
17968 (terminal_mod_LDFLAGS): Likewise.
17969
17970 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
17971 handler.c.
17972 (kernel_img_SOURCES): Add list.c and handler.c.
17973 (kernel_img_HEADERS): Add list.h and handler.h.
17974
17975 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
17976 handler.c.
17977 (kernel_mod_SOURCES): Add list.c and handler.c.
17978 (kernel_mod_HEADERS): Add list.h and handler.h.
17979
17980 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
17981 handler.c.
17982 (kernel_elf_SOURCES): Add list.c and handler.c.
17983 (kernel_elf_HEADERS): Add list.h and handler.h.
17984
17985 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
17986 handler.c.
17987 (kernel_elf_SOURCES): Add list.c and handler.c.
17988 (kernel_elf_HEADERS): Add list.h and handler.h.
17989
17990 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
17991 handler.c.
17992 (kernel_mod_SOURCES): Add list.c and handler.c.
17993 (kernel_mod_HEADERS): Add list.h and handler.h.
17994
17995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
17996 handler.c.
17997 (kernel_elf_SOURCES): Add list.c and handler.c.
17998 (kernel_elf_HEADERS): Add list.h and handler.h.
17999
8a31787f 180002009-02-27 Robert Millan <rmh@aybabtu.com>
18001
18002 Factorize elf32 / elf64 code in Multiboot loader. This will
18003 prevent it from getting out of sync again.
18004
18005 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18006 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18007 grub_multiboot_load_elf64): Move from here ...
18008 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18009 grub_multiboot_load_elf): ... to here (new file).
18010
51cd3dfc 180112009-02-27 Robert Millan <rmh@aybabtu.com>
18012
18013 * util/grub.d/10_linux.in: Rename "single-user mode" to
18014 "recovery mode".
18015
6e8c9c3a 180162009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 Don't leak in SCSI code.
18019 * disk/scsi.c (grub_scsi_close): free `scsi'.
18020
4b6bf4f9 180212009-02-27 Robert Millan <rmh@aybabtu.com>
18022
18023 * loader/i386/pc/multiboot.c: Move from here ...
18024 * loader/i386/multiboot.c: ... to here. Update all users.
18025
b9413424 180262009-02-27 Robert Millan <rmh@aybabtu.com>
18027
18028 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18029 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18030
50fb7002 180312009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18032
18033 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18034 b-tree.
18035
8cc50345 180362009-02-27 Robert Millan <rmh@aybabtu.com>
18037
18038 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18039 `0x' qualifier as 0 when base is specified as parameter).
18040
6e09b8b7 180412009-02-24 Bean <bean123ch@gmail.com>
18042
18043 * configure.ac: Check for -mcmodel=large in x86_64 target.
18044
18045 * include/grub/efi/api.h (efi_call_10): New macro.
18046 (efi_wrap_10): New function.
18047
18048 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18049 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18050 (GRUB_PE32_REL_BASED_LOW): Likewise.
18051 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18052 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18053 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18054 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18055 (GRUB_PE32_REL_BASED_REL): Likewise.
18056 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18057 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18058 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18059
18060 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18061 issue.
18062
18063 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18064 (efi_wrap_10): New function.
18065
18066 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18067
18068 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18069 MB/MBP model (NV chipset).
18070 (devdata_devs): Add devpath_5 to the list.
18071
18072 * load/i386/efi/linux.c (video_base): Remove variable.
18073 (RGB_MASK): New macro.
18074 (RGB_MAGIC): Likewise.
18075 (LINE_MIN): Likewise.
18076 (LINE_MAX): Likewise.
18077 (FBTEST_STEP): Likewise.
18078 (FBTEST_COUNT): Likewise.
18079 (fb_list): New variable.
18080 (grub_find_video_card): Remove function.
18081 (find_framebuf): New function.
18082 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18083 line length.
18084
18085 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18086 problem for x86_64.
18087
74b21bee 180882009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18089
18090 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18091
18092 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18093 coding tool name.
18094
a455f472 180952009-02-22 Robert Millan <rmh@aybabtu.com>
18096
18097 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18098 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18099 in our relocation, instead of using it directly from heap. Also
18100 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18101
6374daf3 181022009-02-21 Robert Millan <rmh@aybabtu.com>
18103
18104 Implement USB keyboard support (based on patch by Marco Gerards)
18105
18106 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18107 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18108 (usb_keyboard_mod_LDFLAGS): New variables.
18109
18110 * term/usb_keyboard.c: New file.
18111
8fa4ea70 181122009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 Corrected wrong declaration
18115
18116 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18117
353976ac 181182009-02-14 Christian Franke <franke@computer.org>
18119
18120 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18121 (grub_lspci_iter): Print class code and programming interface byte.
18122
6aa1169b 181232009-02-14 Christian Franke <franke@computer.org>
18124
18125 * gendistlist.sh: Ignore `.svn' directories.
18126
265372ca 181272009-02-14 Felix Zielcke <fzielcke@z-51.de>
18128
18129 * fs/fat.c: Add 2009 to Copyright line.
18130
9ff516f3 181312009-02-14 Christian Franke <franke@computer.org>
18132
18133 * commands/hdparm.c: New file. Provides `hdparm' command
18134 which sends ATA commands via grub_disk_ata_pass_through ().
18135
18136 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18137
18138 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18139 and <grub/cpu/io.h> to include/grub/ata.h.
18140 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18141 (GRUB_CDROM_SECTOR_SIZE): Remove.
18142 (GRUB_ATA_*): Move to include/grub/ata.h.
18143 (GRUB_ATAPI_*): Likewise.
18144 (enum grub_ata_commands): Likewise.
18145 (enum grub_ata_timeout_milliseconds): Likewise.
18146 (struct grub_ata_device): Likewise.
18147 (grub_ata_regset): Likewise.
18148 (grub_ata_regget): Likewise.
18149 (grub_ata_regset2): Likewise.
18150 (grub_ata_regget2): Likewise.
18151 (grub_ata_check_ready): Likewise.
18152 (grub_ata_wait_not_busy): Remove static, exported in
18153 include/grub/ata.h.
18154 (grub_ata_wait_drq): Likewise.
18155 (grub_ata_pio_read): Likewise.
18156
18157 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18158 function for hdparm.mod.
18159
18160 * include/grub/ata.h: New file, contains declarations from
18161 disk/ata.c.
18162 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18163
18164 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18165 (grub_disk_ata_pass_through): New exported variable.
18166
18167 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18168
772e23da 181692009-02-13 Colin D Bennett <colin@gibibit.com>
18170
18171 Support multiple fallback entries, and provide an API to support
18172 executing default+fallback menu entries. Renamed the `terminal' menu
18173 viewer to `text'.
18174
18175 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18176 variable declaration.
18177 (grub_menu_execute_callback): New structure declaration.
18178 (grub_menu_execute_callback_t): New typedef.
18179 (grub_menu_execute_with_fallback): New function declaration.
18180 (grub_menu_get_entry): Likewise.
18181 (grub_menu_get_timeout): Likewise.
18182 (grub_menu_set_timeout): Likewise.
18183
18184 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18185
18186 * normal/menu.c (grub_wait_after_message): Moved to
18187 `normal/menu_text.c'.
18188 (draw_border): Likewise.
18189 (print_message): Likewise.
18190 (print_entry): Likewise.
18191 (print_entries): Likewise.
18192 (grub_menu_init_page): Likewise.
18193 (get_entry_number): Likewise.
18194 (print_timeout): Likewise.
18195 (run_menu): Likewise.
18196 (grub_menu_execute_entry): Likewise.
18197 (show_text_menu): Likewise.
18198 (get_and_remove_first_entry_number): New function.
18199 (grub_menu_execute_with_fallback): Likewise.
18200 (get_entry): Renamed to ...
18201 (grub_menu_get_entry): .. this and made it global.
18202 (get_timeout): Renamed to ...
18203 (grub_menu_get_timeout): ... this and made it global.
18204 (set_timeout): Renamed to ...
18205 (grub_menu_set_timeout): ... this and made it global.
18206 (grub_normal_terminal_menu_viewer): Renamed to ...
18207 (grub_normal_text_menu_viewer): ... this.
18208
18209 * normal/menu_text.c: New file. Extracted text-menu-specific code
18210 from normal/menu.c.
18211
18212 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
18213 (normal_mod_SOURCES): Likewise.
18214
18215 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18216 (normal_mod_SOURCES): Likewise.
18217
18218 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18219 (normal_mod_SOURCES): Likewise.
18220
18221 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
18222 (normal_mod_SOURCES): Likewise.
18223
18224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18225 (normal_mod_SOURCES): Likewise.
18226
18227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18228 (normal_mod_SOURCES): Likewise.
18229
18230 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18231 (normal_mod_SOURCES): Likewise.
18232
16ac430e 182332009-02-11 Robert Millan <rmh@aybabtu.com>
18234
18235 * util/grub.d/00_header.in: Update old reference to `font' command.
18236
06ff20fc 182372009-02-10 Felix Zielcke <fzielcke@z-51.de>
18238
18239 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
18240
18241 Based on patch from Javier Martín.
18242
96da9407 182432009-02-09 Felix Zielcke <fzielcke@z-51.de>
18244
18245 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 18246 to avoid false positives with FAT.
96da9407 18247 (grub_fstest_SOURCES): Likewise.
18248 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18249 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18252 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18253 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18254
6dca6fe4 182552009-02-09 Felix Zielcke <fzielcke@z-51.de>
18256
06ff20fc 18257 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 18258 bpb.version_specific.fat12_or_fat16.fstype and
18259 bpb.version_specific.fat32.fstype.
18260
2550c62f 182612009-02-08 Robert Millan <rmh@aybabtu.com>
18262
be110b30 18263 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 18264
56978920 182652009-02-08 Robert Millan <rmh@aybabtu.com>
18266
18267 * Makefile.in (host_os, host_cpu): New variables.
18268 (target_os): Remove. Update all users.
18269
d64399b5 182702009-02-08 Marco Gerards <marco@gnu.org>
18271
18272 * Makefile.in (enable_grub_emu_usb): New variable.
18273 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
18274 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
18275 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
18276 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
18277 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
18278 `usbtest.mod' and `usbms.mod'.
18279 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
18280 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
18281 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
18282 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
18283 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
18284 variables.
18285
18286 * disk/usbms.c: New file.
18287
18288 * include/grub/usb.h: Likewise.
18289
18290 * include/grub/usbtrans.h: Likewise.
18291
18292 * include/grub/usbdesc.h: Likewise.
18293
18294 * bus/usb/usbtrans.c: Likewise.
18295
18296 * bus/usb/ohci.c: Likewise.
18297
18298 * bus/usb/uhci.c: Likewise.
18299
18300 * bus/usb/usbhub.c: Likewise.
18301
18302 * bus/usb/usb.c: Likewise.
18303
18304 * commands/usbtest.c: Likewise.
18305
18306 * util/usb.c: Likewise.
50fb7002 18307
d64399b5 18308 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
18309
18310 * configure.ac: Test for libusb presence.
50fb7002 18311
d64399b5 18312 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
18313
2b40d6bb 183142009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
18315
18316 * kern/mm.c: Add more comments.
18317
73a4ce81 183182009-02-08 Robert Millan <rmh@aybabtu.com>
18319
18320 Patch from Javier Martín.
18321 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
18322 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
18323
f821ce59 183242009-02-08 Robert Millan <rmh@aybabtu.com>
18325
18326 * fs/cpio.c: Split tar functionality to ...
18327 * fs/tar.c: ... here (new file). Update all users.
18328
aebfc4b0 183292009-02-07 Robert Millan <rmh@aybabtu.com>
18330
18331 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
18332 backward-incompatible features.
18333
18334 Based on patch from Javier Martín, with some adjustments.
18335
50fb7002 183362009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 18337
18338 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
18339
0bb5115e 183402009-02-07 Robert Millan <rmh@aybabtu.com>
18341
18342 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
18343 position of `disk/lvm.c' to ensure grub_init_all() always picks it
18344 after the RAID stuff.
18345
38a0f8e7 183462009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
18347
50fb7002 18348 Fixes problem when running vbetest command as reported by
38a0f8e7 18349 Vladimir Serbinenko <phcoder@gmail.com>.
18350
18351 * (grub_vbe_set_video_mode): Fixed problem with text modes.
18352
3143cc1c 183532009-02-04 Felix Zielcke <fzielcke@z-51.de>
18354
18355 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
18356 /dev/md/NpN style mdraid devices.
18357
9cba6fce 183582009-02-03 Felix Zielcke <fzielcke@z-51.de>
18359
18360 * util/unifont2pff.rb: Remove.
18361
e507a2c1 183622009-02-03 Felix Zielcke <fzielcke@z-51.de>
18363
18364 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
18365 `#'.
18366
d2c2b4cd 183672009-02-03 Felix Zielcke <fzielcke@z-51.de>
18368
18369 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
18370 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18371 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18372 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18374 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18375 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18376
b4315fb0 183772009-02-02 Christian Franke <franke@computer.org>
18378
18379 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
18380
de3aa260 183812009-02-01 Felix Zielcke <fzielcke@z-51.de>
18382
7c3ff286 18383 * INSTALL: Note that we now require at least autoconf 2.59 and
18384 that LZO is optional.
de3aa260 18385
825a182b 183862009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18387
18388 Base on patch on bug #24154 created by Tomas Tintera
18389 <trosos@seznam.cz>.
18390
18391 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
18392
a69ef770 183932009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
18394
7c3ff286 18395 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 18396 <bero@arklinux.org>.
18397
18398 * normal/parser.y (script_init): Add missing semicolon.
18399
6fa42fa6 184002009-01-31 Colin D Bennett <colin@gibibit.com>
18401
7c3ff286 18402 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 18403 (free_menu_entry_classes): Added.
18404 (grub_normal_menu_addentry): Added class property handling.
18405 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
18406 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
18407
18408 * normal/menu_viewer.c: New file.
18409
18410 * normal/menu.c (run_menu_entry): Renamed to ...
18411 (grub_menu_execute_entry): ... this and made it as global.
18412 (grub_menu_run): Renamed to ...
18413 (show_text_menu): ... this and made it local.
18414 (show_text_menu): Adapt to new function names.
18415 (grub_normal_terminal_menu_viewer): New global variable.
18416
18417 * include/grub/menu.h: New file.
18418
18419 * include/grub/menu_viewer.h: New file.
18420
18421 * include/grub/normal.h: Added include to grub/menu.h.
18422 (grub_menu_entry): Moved to include/grub/menu.h.
18423 (grub_menu_entry_t): Likewise.
18424 (grub_menu): Likewise.
18425 (grub_menu_t): Likewise.
18426 (grub_normal_terminal_menu_viewer): Added.
18427 (grub_menu_execute_entry): Likewise.
18428 (grub_menu_run): Removed.
18429
18430 * DISTLIST: Added include/grub/menu.h.
18431 Added include/grub/menu_viewer.h.
18432 Added normal/menu_viewer.c.
18433
184342009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
18435
18436 * normal/execute.c (grub_script_execute_menuentry): Changed to use
18437 arglist for menutitle arguments.
18438
18439 * normal/main.c (grub_normal_menu_addentry): Likewise.
18440
18441 * normal/parser.y (menuentry): Likewise.
18442
18443 * normal/script.c (grub_script_create_cmdmenu): Likewise.
18444
18445 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
18446 (grub_script_create_cmdmenu): Likewise.
18447
18448 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
18449
18450 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
18451 changes.
18452
18453 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
18454
18455 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
18456
18457 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
18458
18459 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18460
18461 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18462
18463 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
18464
56192c23 184652009-01-30 Christian Franke <franke@computer.org>
18466
18467 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
18468 in option help text.
18469
d72521b3 184702009-01-27 Pavel Roskin <proski@gnu.org>
18471
18472 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
18473
994b5e84 184742009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18475
18476 * commands/lsmmap.c: Add include to grub/machine/memory.h.
18477
18478 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
18479
18480 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
18481 unregister function.
18482
6a7eab2c 184832009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
18484
18485 * disk/scsi.c (grub_scsi_read): Fix sign problem.
18486
18487 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
18488
18489 * util/grub-mkfont.c (usage): Fix typo.
18490
18491 * util/elf/grub-mkimage.c (load_modules): Fix warning.
18492
1806b56e 184932009-01-26 Daniel Mierswa <impulze@impulze.org>
18494
3fb18f09 18495 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
18496
336e1fb9 18497 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
18498
1806b56e 18499 * kern/misc.c (grub_strcasecmp): New function.
18500 (grub_strcasecmp): Use grub_size_t instead of int for length.
18501 Fix return value.
18502 * include/grub/misc.h: Update function prototypes.
18503
580b2a0f 185042009-01-26 Robert Millan <rmh@aybabtu.com>
18505
18506 * configure.ac: Fix cross-compilation check.
ef257b36 18507
d31c24f1 185082009-01-22 Christian Franke <franke@computer.org>
18509
18510 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
18511 (precision) digit string. Allow `.format2' without `format1' (width).
18512 Limit input chars for `%s' output to `format2' if specified. This is
18513 compatible with standard printf ().
18514
3138b44c 185152009-01-22 Christian Franke <franke@computer.org>
18516
18517 * disk/ata.c (grub_ata_wait_status): Replace by ...
18518 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
18519 other status bits may be invalid while BSY is asserted.
18520 (grub_ata_check_ready): New function.
18521 (grub_ata_cmd): Removed.
18522 (grub_ata_wait_drq): New function.
18523 (grub_ata_strncpy): Remove inline.
18524 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
18525 and error check now done by grub_ata_wait_drq ().
18526 (grub_ata_pio_write): Likewise.
18527 (grub_atapi_identify): Set DEV before check for !BSY. Use
18528 grub_ata_wait_drq () to wait for data.
18529 (grub_ata_device_initialize): Add status register check to
18530 detect missing SATA slave devices. Add debug messages.
18531 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
18532 (grub_atapi_packet): Set DEV before check for !BSY. Replace
18533 transfer loop by grub_ata_pio_write ().
18534 (grub_ata_identify): Set DEV before check for !BSY. Use
18535 grub_ata_wait_drq () to wait for data.
ef257b36 18536 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 18537 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
18538 read/write in one loop. Fix invalid command on write. Fix incomplete
18539 command on (size % batch) == 0. Add missing error check after write of
18540 last block. Add debug messages.
18541 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
18542
59a64ef6 185432009-01-19 Christian Franke <franke@computer.org>
18544
18545 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
18546 (GRUB_ATAPI_IREASON_*): Likewise.
18547 (grub_ata_pio_write): Fix timeout error return.
18548 (grub_atapi_identify): Add grub_ata_wait () after cmd.
18549 (grub_atapi_wait_drq): New function.
18550 (grub_atapi_packet): New parameter `size'.
18551 Use grub_atapi_wait_drq () and direct write instead of
18552 grub_ata_pio_write ().
18553 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
18554 reads the number of bytes requested by the device for each DRQ
18555 assertion.
18556 (grub_atapi_write): Remove old implementation, return not
18557 implemented instead.
18558
1cfe20b3 185592009-01-19 Christian Franke <franke@computer.org>
18560
18561 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
18562 of 512 to calculate data size.
18563 (grub_scsi_read12): Likewise.
18564 (grub_scsi_write10): Likewise.
18565 (grub_scsi_write12): Likewise.
18566 (grub_scsi_read): Adjust size according to blocksize.
18567 Add checks for invalid blocksize and unaligned transfer.
18568
bee5fe5d 185692009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
18570
18571 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
18572
ef257b36 18573 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 18574 width glyphs.
18575
3e643f8c 185762009-01-19 Robert Millan <rmh@aybabtu.com>
18577
18578 * config.guess: Update to latest version from config git.
18579 * config.sub: Likewise.
18580
4fa80998 185812009-01-17 Felix Zielcke <fzielcke@z-51.de>
18582
18583 * Makefile.in: Change font compilation to use new grub-mkfont instead
18584 of java version.
18585
18586 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
18587 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
18588 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18589 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
18590 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
18591 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
18592 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
18593 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
18594 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18595
7086085b 185962009-01-16 Christian Franke <franke@computer.org>
18597
18598 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
18599 (enum grub_ata_timeout_milliseconds): New enum.
18600 (grub_ata_wait_status): Add parameter milliseconds.
18601 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
18602 recovery from timed-out commands.
18603 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
18604 return grub_errno instead of REG_ERROR.
18605 (grub_ata_pio_write): Add parameter milliseconds.
18606 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
18607 Pass milliseconds to grub_ata_wait_status () and
18608 grub_ata_pio_read ().
18609 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
18610 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
18611 grub_ata_wait_status (). Fix IDENTIFY timeout check.
18612 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
18613 It is not suitable for device detection, because DEV bit is ignored,
18614 the command may run too long, and not all devices set the signature
18615 properly.
18616 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
18617 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
18618 Fix device selection, DEV bit must be set first to address the registers
18619 of the correct device.
18620 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
18621 grub_ata_pio_read/write ().
18622 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
18623 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
18624
4a412913 186252009-01-13 Carles Pina i Estany <carles@pina.cat>
18626
18627 * util/grub-editenv.c (main): Use fseeko(), not fseek().
18628
7795c55e 186292009-01-13 Bean <bean123ch@gmail.com>
d913988c 18630
18631 * util/grub-mkfont.c (write_font): forget to remove some debug code.
18632
7795c55e 186332009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 18634
18635 * Makefile.in: (enable_grub_mkfont): New variable.
18636 (freetype_cflags): Likewise.
18637 (freetype_libs): Likewise.
18638
18639 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
18640 (grub_mkfont_SOURCES): New variable.
18641 (grub_mkfont_CFLAGS): Likewise.
18642 (grub_mkfont_LDFLAGS): Likewise.
18643
18644 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
18645 library if `--enable-grub-mkfont' is requested.
18646 (enable_grub_mkfont): New variable.
18647 (freetype_cflags): Likewise.
18648 (freetype_libs): Likewise.
18649
18650 * util/grub-mkfont.c: New file.
18651
093af1fe 186522009-01-12 Christian Franke <franke@computer.org>
18653
18654 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
18655 mode check. Fix setting of compat_use[].
18656
f36cc108 186572009-01-10 Robert Millan <rmh@aybabtu.com>
18658
18659 Update a few copyright years which we forgot to do in 2008 (only for
18660 files whose changes made in 2008 were copyright-significant)
18661
18662 * Makefile.in: Add 2008 to Copyright line.
18663 * disk/ieee1275/ofdisk.c: Likewise.
18664 * disk/efi/efidisk.c: Likewise.
18665 * kern/dl.c: Likewise.
18666 * kern/sparc64/ieee1275/init.c: Likewise.
18667 * kern/mm.c: Likewise.
18668 * kern/efi/mm.c: Likewise.
18669 * boot/i386/pc/boot.S: Likewise.
18670 * genfslist.sh: Likewise.
18671 * fs/iso9660.c: Likewise.
18672 * fs/hfs.c: Likewise.
18673 * fs/jfs.c: Likewise.
18674 * fs/minix.c: Likewise.
18675 * fs/ufs.c: Likewise.
18676 * gensymlist.sh.in: Likewise.
18677 * genkernsyms.sh.in: Likewise.
18678 * include/grub/misc.h: Likewise.
18679 * include/grub/types.h: Likewise.
18680 * include/grub/symbol.h: Likewise.
18681 * include/grub/elf.h: Likewise.
18682 * include/grub/kernel.h: Likewise.
18683 * include/grub/disk.h: Likewise.
18684 * include/grub/dl.h: Likewise.
18685 * include/grub/i386/linux.h: Likewise.
18686 * include/grub/i386/pc/biosdisk.h: Likewise.
18687 * include/grub/efi/api.h: Likewise.
18688 * include/grub/efi/pe32.h: Likewise.
18689 * include/grub/util/misc.h: Likewise.
18690 * normal/execute.c: Likewise.
18691 * normal/arg.c: Likewise.
18692 * normal/completion.c: Likewise.
18693 * normal/lexer.c: Likewise.
18694 * normal/parser.y: Likewise.
18695 * normal/misc.c: Likewise.
18696 * commands/i386/pc/vbeinfo.c: Likewise.
18697 * commands/hexdump.c: Likewise.
18698 * commands/terminal.c: Likewise.
18699 * commands/ls.c: Likewise.
18700 * commands/help.c: Likewise.
18701 * partmap/pc.c: Likewise.
18702 * loader/efi/chainloader.c: Likewise.
18703 * loader/multiboot_loader.c: Likewise.
18704 * loader/i386/pc/multiboot2.c: Likewise.
18705 * term/efi/console.c: Likewise.
18706 * term/i386/pc/serial.c: Likewise.
18707 * util/lvm.c: Likewise.
18708 * util/console.c: Likewise.
18709 * util/i386/efi/grub-mkimage.c: Likewise.
18710 * util/raid.c: Likewise.
18711
7f02114b 187122009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
18713
18714 * commands/videotest.c: Removed include to grub/machine/memory.h.
18715
18716 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
18717 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
18718 (video_mod_SOURCES): Removed.
18719 (video_mod_CFLAGS): Likewise.
18720 (video_mod_LDFLAGS): Likewise.
18721 (gfxterm_mod_SOURCES): Likewise.
18722 (gfxterm_mod_CFLAGS): Likewise.
18723 (gfxterm_mod_LDFLAGS): Likewise.
18724 (videotest_mod_SOURCES): Likewise.
18725 (videotest_mod_CFLAGS): Likewise.
18726 (videotest_mod_LDFLAGS): Likewise.
18727 (bitmap_mod_SOURCES): Likewise.
18728 (bitmap_mod_CFLAGS): Likewise.
18729 (bitmap_mod_LDFLAGS): Likewise.
18730 (tga_mod_SOURCES): Likewise.
18731 (tga_mod_CFLAGS): Likewise.
18732 (tga_mod_LDFLAGS): Likewise.
18733 (jpeg_mod_SOURCES): Likewise.
18734 (jpeg_mod_CFLAGS): Likewise.
18735 (jpeg_mod_LDFLAGS): Likewise.
18736 (png_mod_SOURCES): Likewise.
18737 (png_mod_CFLAGS): Likewise.
18738 (png_mod_LDFLAGS): Likewise.
18739
18740 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
18741 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
18742 (video_mod_SOURCES): Added.
18743 (video_mod_CFLAGS): Likewise.
18744 (video_mod_LDFLAGS): Likewise.
18745 (videotest_mod_SOURCES): Likewise.
18746 (videotest_mod_CFLAGS): Likewise.
18747 (videotest_mod_LDFLAGS): Likewise.
18748 (bitmap_mod_SOURCES): Likewise.
18749 (bitmap_mod_CFLAGS): Likewise.
18750 (bitmap_mod_LDFLAGS): Likewise.
18751 (tga_mod_SOURCES): Likewise.
18752 (tga_mod_CFLAGS): Likewise.
18753 (tga_mod_LDFLAGS): Likewise.
18754 (jpeg_mod_SOURCES): Likewise.
18755 (jpeg_mod_CFLAGS): Likewise.
18756 (jpeg_mod_LDFLAGS): Likewise.
18757 (png_mod_SOURCES): Likewise.
18758 (png_mod_CFLAGS): Likewise.
18759 (png_mod_LDFLAGS): Likewise.
18760 (gfxterm_mod_SOURCES): Likewise.
18761 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 18762 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 18763
18764 * term/gfxterm.c: Removed include to grub/machine/memory.h,
18765 grub/machine/console.h.
18766
644fff97 187672009-01-04 Jerone Young <jerone@gmail.com>
18768
18769 Make on screen instructions clearer
18770
18771 Based on patch created by Jidanni <jidanni@jidanni.org>
18772
18773 * normal/menu.c: print clearer instructions on the screen
18774
1e901a75 187752009-01-02 Colin D Bennett <colin@gibibit.com>
18776
18777 New font engine.
34c44600 18778
1e901a75 18779 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
18780 build system and fixed gfxterm.c to work with different sized fonts.
18781
18782 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 18783
1e901a75 18784 * configure: Re-generated.
34c44600 18785
1e901a75 18786 * DISTLIST: Removed font/manager.c.
18787 Added font/font.c.
18788 Added font/font_cmd.c.
34c44600 18789
1e901a75 18790 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
18791 compilation.
34c44600 18792
1e901a75 18793 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 18794
18795 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 18796
18797 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 18798
1e901a75 18799 * normal/menu.c: Likewise.
34c44600 18800
1e901a75 18801 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
18802 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 18803
1e901a75 18804 * include/grub/font.h: Replaced with new file.
34c44600 18805
1e901a75 18806 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
18807 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
18808 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
18809 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
18810 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 18811 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 18812 fg_red, fg_green, fg_blue, fg_alpha.
18813 (grub_video_adapter): Removed blit_glyph.
34c44600 18814 (grub_video_blit_glyph): Removed.
18815
1e901a75 18816 * font/manager.c: Removed file.
34c44600 18817
18818 * font/font.c: New file.
18819
1e901a75 18820 * font/font_cmd.c: Likewise.
34c44600 18821
1e901a75 18822 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 18823
1e901a75 18824 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
18825 (grub_video_vbe_map_rgba): Likewise.
18826 (grub_video_vbe_unmap_color_int): Likewise.
18827 (grub_video_vbe_blit_glyph): Removed.
18828 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 18829
1e901a75 18830 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
18831 (get_pixel): Likewise.
34c44600 18832 (set_pixel): Likewise.
18833
1e901a75 18834 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 18835
1e901a75 18836 * term/gfxterm.c: Adapted to new font engine.
34c44600 18837
1e901a75 18838 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 18839
1e901a75 18840 * term/i386/pc/vga.c: Likewise.
34c44600 18841
1e901a75 18842 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 18843
1e901a75 18844 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 18845
1e901a75 18846 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 18847
1e901a75 18848 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 18849
1e901a75 18850 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 18851
1e901a75 18852 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 18853
1e901a75 18854 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 18855
1e901a75 18856 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 18857
1e901a75 18858 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
18859
18860 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 18861
1e901a75 18862 * util/grub-mkconfig_lib.in: Changed font extension.
18863
278922e8 188642008-12-28 Felix Zielcke <fzielcke@z-51.de>
18865
18866 * util/getroot.c (grub_util_get_grub_dev): Add support for
18867 /dev/md/dNNpNN style partitionable mdraid devices.
18868
3ced05cf 188692008-12-12 Alex Smith <alex@alex-smith.me.uk>
18870
18871 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
18872 at a time limit of the PXE TFTP API correctly.
18873 (grub_pxefs_close): Likewise.
18874
7fd0ee30 188752008-11-29 Robert Millan <rmh@aybabtu.com>
18876
34c44600 18877 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 18878 grub_ata_device_initialize() calls.
18879
34c44600 188802008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 18881
18882 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
18883 iteration failed.
18884 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
18885
89313780 188862008-11-28 Robert Millan <rmh@aybabtu.com>
18887
18888 Fix build on powerpc-ieee1275. Based on patch created by
18889 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
18890 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18891 `kern/ieee1275/mmap.c'.
18892 * include/grub/powerpc/ieee1275/memory.h: New file.
18893
15257703 18894 Provide grub-install on coreboot.
18895 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
18896 (grub_install_SOURCES): New variable.
18897 * util/i386/pc/grub-install.in: Add a few condition checks to make it
18898 usable on coreboot.
18899
9fc5388a 189002008-11-25 Felix Zielcke <fzielcke@z-51.de>
18901
18902 * util/grub-fstest.c (grub_term_get_current_input): Change return type
18903 to `grub_term_input_t'.
18904 (grub_term_get_current_output): Change return type to
18905 `grub_term_output_t'.
18906
bc3a2f31 189072008-11-22 Robert Millan <rmh@aybabtu.com>
18908
34c44600 18909 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 18910 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
18911 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
18912 grub_vga_text_cls().
18913
80fc88f2 18914 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 18915 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 18916
cbf36fd3 18917 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
18918 to 0x200000 (avoids trouble with some OFW implementations, and matches
18919 with the one in Yaboot).
18920 Reported by Manoel Abranches
18921
73e8e268 189222008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 18923
18924 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
18925 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
18926
73e8e268 18927 * util/grub-mkconfig_lib.in (grub_warn): New function.
18928 (convert_system_path_to_grub_path): Use grub_warn() when issuing
18929 warnings, to obtain consistent formatting.
18930 * util/grub.d/00_header.in: Likewise.
18931 * util/update-grub_lib.in: Likewise.
18932
e94045a1 18933 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 18934 Move comment text to `#error' stanza.
e94045a1 18935
79d29fd7 18936 Harmonize ieee1275's grub_available_iterate() with the generic
18937 grub_machine_mmap_iterate() interface (fixes a recently-introduced
18938 build problem on i386-ieee1275):
18939 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
18940 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
18941 parameter `type'. Update all users of this function.
18942 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18943 `kern/ieee1275/mmap.c'.
18944 * kern/ieee1275/init.c
18945 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
18946 with ...
18947 (grub_machine_mmap_iterate): ... this.
18948 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
18949 return type to `grub_err_t'. Update all implementations of this
18950 function prototype.
18951 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
18952 Likewise.
18953
60d6b16e 18954 Add `lsmmap' command (lists firmware-provided memory map):
18955 * commands/lsmmap.c: New file.
18956 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
18957 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
18958 variables.
18959 * conf/powerpc-ieee1275.rmk: Likewise.
18960 * conf/i386-coreboot.rmk: Likewise.
18961 * conf/i386-ieee1275.rmk: Likewise.
18962
ebaaf49b 189632008-11-19 Robert Millan <rmh@aybabtu.com>
18964
18965 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 18966 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
18967 constraints to initrd allocation (based on code from
18968 loader/i386/pc/linux.c). Without them, initrd was allocated too high
18969 for Linux to find it.
ebaaf49b 18970
dfab719f 189712008-11-14 Robert Millan <rmh@aybabtu.com>
18972
18973 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
18974 order to cope with duplicate slashes.
18975
10fc3eb9 189762008-11-14 Robert Millan <rmh@aybabtu.com>
18977
18978 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
18979 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
18980 don't want to mess with lower memory, because it is used in the Linux
18981 loader.
18982
18983 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 18984 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 18985 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
18986 is in our heap (probably as a result of it being corrupted during
2f2a3442 18987 decompression). Add #error instance with comment to explain why this
18988 loader isn't currently usable on PC/BIOS.
10fc3eb9 18989
e2e07847 189902008-11-14 Robert Millan <rmh@aybabtu.com>
18991
18992 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 18993 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 18994
fe8e8d69 189952008-11-12 Robert Millan <rmh@aybabtu.com>
18996
18997 Make loader/i386/linux.c buildable on i386-pc (although disabled).
18998
18999 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19000 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19001 from here ...
19002 * include/grub/i386/pc/memory.h: ... to here.
19003
976b07d0 190042008-11-12 Robert Millan <rmh@aybabtu.com>
19005
19006 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19007 split).
19008
19009 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19010 (grub_console_cur_color, grub_console_real_putchar)
19011 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19012 (grub_console_setcolorstate, grub_console_setcolor)
19013 (grub_console_getcolor): Move from here ...
19014 * include/grub/i386/vga_common.h: ... to here (new file).
19015
19016 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19017 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19018 `<grub/i386/io.h>'.
19019 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19020 `<grub/i386/vga_common.h>'.
19021
76679cd3 190222008-11-12 Robert Millan <rmh@aybabtu.com>
19023
19024 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19025 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19026 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19027 variables.
19028 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19029 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19030
19031 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19032 grub_console_init() with call to grub_vga_text_init().
19033 (grub_machine_fini): Replace call to
19034 grub_console_fini() with call to grub_vga_text_fini() and
19035 grub_at_keyboard_fini().
19036
19037 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19038 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19039 (grub_console_setcolorstate, grub_console_setcolor)
19040 (grub_console_getcolor): New function prototypes.
19041
19042 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19043 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19044 (grub_vga_text_setcursor): Static-ize.
19045 (grub_vga_text_term): New structure.
19046 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19047
19048 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19049 (grub_console_cur_color, grub_console_standard_color)
19050 (grub_console_normal_color, grub_console_highlight_color)
19051 (map_char, grub_console_putchar, grub_console_getcharwidth)
19052 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19053 (grub_console_getcolor): Move from here ...
19054 * term/i386/vga_common.c: ... to here (same function names).
19055
95b841d3 190562008-11-12 Robert Millan <rmh@aybabtu.com>
19057
19058 Use newly-added Multiboot support in coreboot.
19059
19060 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19061 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19062
19063 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19064 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19065 (codestart): Store the MBI in `startup_multiboot_info' when we're
19066 being loaded using Multiboot.
19067
19068 * kern/i386/coreboot/init.c (grub_machine_init): Move
19069 grub_at_keyboard_init() call to beginning of function (useful for
19070 debugging). Call grub_machine_mmap_init() before attempting to use
19071 grub_machine_mmap_iterate().
19072 (grub_lower_mem, grub_upper_mem): Move from here ...
19073 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19074 here (new file).
19075
19076 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19077 function prototype.
19078
761ca975 190792008-11-12 Robert Millan <rmh@aybabtu.com>
19080
19081 Fix a regression introduced by the at_keyboard.mod split. Because
19082 some terminals are default on some platforms and non-default on
19083 others, the first terminal being registered determines which is
19084 going to be default.
19085
19086 * kern/term.c (grub_term_register_input): If this is the first
19087 terminal being registered, set it as the current one.
19088 (grub_term_register_output): Likewise.
19089
19090 * term/efi/console.c (grub_console_init): Do not call
19091 grub_term_set_current_output() or grub_term_set_current_input().
19092 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19093 * term/i386/pc/console.c (grub_console_init): Likewise.
19094 (grub_console_fini): Do not call grub_term_set_current_input()
19095 (but leave grub_term_set_current_output() to restore text mode).
19096
6c529df7 190972008-11-10 Robert Millan <rmh@aybabtu.com>
19098
19099 * util/grub.d/00_header.in: Add backward compatibility check for
19100 versions of terminal.mod that don't understand `terminal_input' or
19101 `terminal_output'.
19102
132e4113 191032008-11-09 Robert Millan <rmh@aybabtu.com>
19104
19105 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19106 `terminal_input' / `terminal_output', not `terminal'.
19107
ac293d50 191082008-11-08 Robert Millan <rmh@aybabtu.com>
19109
19110 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19111 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19112
0025933a 191132008-11-08 Robert Millan <rmh@aybabtu.com>
19114
19115 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19116 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19117 members. Update all users.
19118 * util/console.c (grub_ncurses_term): Split in ...
19119 (grub_ncurses_term_input): ... this, and ...
19120 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19121 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19122
37c86336 191232008-11-08 Robert Millan <rmh@aybabtu.com>
19124
19125 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19126 (PKGDATA): Add $(pkgdata_SRCDIR).
19127 (pkglib_BUILDDIR): New variable.
19128 (pkgdata_SRCDIR): New variable.
19129 (build_env.mk): New target.
19130 (include_DATA): New variable.
19131 (install-local): Install $(include_DATA) files in $(includedir).
19132
b6c15a2d 191332008-11-07 Pavel Roskin <proski@gnu.org>
19134
d99d46f1 19135 * gendistlist.sh: Use C locale for sorting to ensure consistent
19136 output on all systems.
19137
b6c15a2d 19138 * util/grub.d/00_header.in: Remove incorrect space before
19139 "serial".
19140
c32ee8c9 191412008-11-07 Robert Millan <rmh@aybabtu.com>
19142
19143 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19144 per specification.
19145 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19146 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19147 (based on find_multi_boot1_header).
19148 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19149 using find_multi_boot2_header(), and abort if neither Multiboot or
19150 Multiboot headers were found.
19151
651c29b7 191522008-11-07 Robert Millan <rmh@aybabtu.com>
19153
19154 Modularize at_keyboard.mod:
19155
19156 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19157 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19158 (at_keyboard_mod_LDFLAGS): New variables.
19159
19160 Actual terminal split:
19161
19162 * include/grub/term.h (struct grub_term): Split in ...
19163 (struct grub_term_input): ... this, and ...
19164 (struct grub_term_output): ... this. Update all users.
19165 (grub_term_set_current): Split in ...
19166 (grub_term_set_current_input): ... this, and ...
19167 (grub_term_set_current_output): ... this.
19168 (grub_term_get_current): Split in ...
19169 (grub_term_get_current_input): ... this, and ...
19170 (grub_term_get_current_output): ... this.
19171 (grub_term_register): Split in ...
19172 (grub_term_register_input): ... this, and ...
19173 (grub_term_register_output): ... this.
19174 (grub_term_unregister): Split in ...
19175 (grub_term_unregister_input): ... this, and ...
19176 (grub_term_unregister_output): ... this.
19177 (grub_term_iterate): Split in ...
19178 (grub_term_iterate_input): ... this, and ...
19179 (grub_term_iterate_output): ... this.
19180
19181 * kern/term.c (grub_term_list): Split in ...
19182 (grub_term_list_input): ... this, and ...
19183 (grub_term_list_output): ... this. Update all users.
19184 (grub_cur_term): Split in ...
19185 (grub_cur_term_input): ... this, and ...
19186 (grub_cur_term_output): ... this. Update all users.
19187 (grub_term_set_current): Split in ...
19188 (grub_term_set_current_input): ... this, and ...
19189 (grub_term_set_current_output): ... this.
19190 (grub_term_get_current): Split in ...
19191 (grub_term_get_current_input): ... this, and ...
19192 (grub_term_get_current_output): ... this.
19193 (grub_term_register): Split in ...
19194 (grub_term_register_input): ... this, and ...
19195 (grub_term_register_output): ... this.
19196 (grub_term_unregister): Split in ...
19197 (grub_term_unregister_input): ... this, and ...
19198 (grub_term_unregister_output): ... this.
19199 (grub_term_iterate): Split in ...
19200 (grub_term_iterate_input): ... this, and ...
19201 (grub_term_iterate_output): ... this.
19202
19203 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19204 a check for input and one for output (and only attempt to get keys
19205 from user when input works).
19206
19207 * util/grub-probe.c (grub_term_get_current): Split in ...
19208 (grub_term_get_current_input): ... this, and ...
19209 (grub_term_get_current_output): ... this.
19210 * util/grub-fstest.c: Likewise.
19211 * util/i386/pc/grub-setup.c: Likewise.
19212 * util/grub-editenv.c: Likewise.
19213
19214 Portability adjustments:
19215
19216 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
19217 `term/i386/pc/at_keyboard.c'.
19218 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
19219 grub_keyboard_controller_init() (now handled by terminal .init).
19220 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
19221 grub_at_keyboard_init().
19222 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
19223 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
19224 at_keyboard.mod via input terminal interface).
19225 * include/grub/i386/coreboot/console.h: Convert into a stub for
19226 `<grub/i386/pc/console.h>'.
19227
19228 Migrate full terminals to new API:
19229
19230 * term/efi/console.c (grub_console_term): Split into ...
19231 (grub_console_term_input): ... this, and ...
19232 (grub_console_term_output): ... this. Update all users.
19233 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
19234 (grub_ofconsole_init): Split into ...
19235 (grub_ofconsole_init_input): ... this, and ...
19236 (grub_ofconsole_init_output): ... this.
19237 (grub_ofconsole_term): Split into ...
19238 (grub_ofconsole_term_input): ... this, and ...
19239 (grub_ofconsole_term_output): ... this. Update all users.
19240 * term/i386/pc/serial.c (grub_serial_term): Split into ...
19241 (grub_serial_term_input): ... this, and ...
19242 (grub_serial_term_output): ... this. Update all users.
19243 * term/i386/pc/console.c (grub_console_term): Split into ...
19244 (grub_console_term_input): ... this, and ...
19245 (grub_console_term_output): ... this. Update all users.
19246 (grub_console_term_input): Only enable it on PC/BIOS platform.
19247 (grub_console_init): Remove grub_keyboard_controller_init() call.
19248
19249 Migrate input terminals to new API:
19250
19251 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
19252 `i386' and `i386/pc' to enable build on x86_64 (this driver is
19253 i386-specific anyway).
19254 (grub_console_checkkey): Rename to ...
19255 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
19256 users.
19257 (grub_keyboard_controller_orig): New variable.
19258 (grub_console_getkey): Rename to ...
19259 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
19260 users.
19261 (grub_keyboard_controller_init): Static-ize. Save original
19262 controller value so that it can be restored ...
19263 (grub_keyboard_controller_fini): ... here (new function).
19264 (grub_at_keyboard_term): New structure.
19265 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
19266 functions.
19267
19268 Migrate output terminals to new API:
19269
19270 * term/i386/pc/vga.c (grub_vga_term): Change type to
19271 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19272 members. Update all users.
19273 * term/gfxterm.c (grub_video_term): Change type to
19274 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
19275 members. Update all users.
19276 * include/grub/i386/pc/console.h (grub_console_checkkey)
19277 (grub_console_getkey): Do not export (no longer needed by gfxterm,
19278 etc).
19279
19280 Migrate `terminal' command and userland tools to new API:
19281
19282 * commands/terminal.c (grub_cmd_terminal): Split into ...
19283 (grub_cmd_terminal_input): ... this, and ...
19284 (grub_cmd_terminal_output): ... this.
19285 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
19286 `terminal_input' and `terminal_output'.
19287 * util/grub.d/00_header.in: Adjust `terminal' calls to new
19288 `terminal_input' / `terminal_output' API.
19289 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
19290 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
19291 provided ${GRUB_TERMINAL}, convert it).
19292
96e5d876 192932008-11-04 Robert Millan <rmh@aybabtu.com>
19294
19295 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
19296 for FreeBSD.
19297 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
19298
556f3775 192992008-11-03 Bean <bean123ch@gmail.com>
19300
19301 * kern/elf.c (grub_elf32_load): Revert to previous code.
19302 (grub_elf64_load): Likewise.
19303
19304 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
19305
926b9823 193062008-11-01 Robert Millan <rmh@aybabtu.com>
19307
19308 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
19309 (TARGET_CPPFLAGS): Likewise.
19310 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
19311
1432e958 193122008-11-01 Carles Pina i Estany <carles@pina.cat>
19313
19314 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
19315
dba3f844 193162008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 19317
19318 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
19319 addition of objects until the code is not going to be able to fail.
19320
dba3f844 193212008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 19322
19323 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
19324 (add a missing NULL check, and correct them by moving the pointer
19325 operations after the actual check).
19326
7ab28c21 193272008-10-29 Robert Millan <rmh@aybabtu.com>
19328
19329 * util/i386/pc/grub-install.in: Handle empty string as output from
19330 make_system_path_relative_to_its_root().
19331
1b7748eb 193322008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
19333
19334 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
19335 circular metadata worst case scenario. If the metadata is circular
19336 then copy the wrap in place.
19337 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
19338 project lib/format_text/layout.h
19339 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
19340
c9618ab2 193412008-10-03 Felix Zielcke <fzielcke@z-51.de>
19342
7a36edca 19343 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 19344
bf981c62 193452008-10-03 Felix Zielcke <fzielcke@z-51.de>
19346
19347 * util/update-grub_lib.in: Mention filename in warning message.
19348
6d994591 193492008-09-29 Felix Zielcke <fzielcke@z-51.de>
19350
19351 * NEWS: Update for rename of update-grub to grub-mkconfig.
19352
18ade780 193532008-09-29 Felix Zielcke <fzielcke@z-51.de>
19354
19355 * util/update-grub_lib.in: Copy to ...
19356 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 19357 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 19358 * util/update-grub.in: Rename to ...
19359 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
19360 option. Add `--output' option to allow users to specify the generated
19361 configuration file. Default to stdout.
19362 (update_grub_dir): Rename to ...
19363 (grub_mkconfig_dir): ... this.
19364 (grub_cfg): Default to an empty string.
19365 * conf/common.rmk (update-grub): Rename to ...
19366 (grub-mkconfig): ... this.
19367 (update-grub_lib): Copy to ...
19368 (grub-mkconfig_lib): ... this.
19369 (update-grub_SCRIPTS): Copy to ...
19370 (grub-mkconfig_SCRIPTS): ... this. Update all users.
19371 (update-grub_DATA): Rename to ...
19372 (grub-mkconfig_DATA): ... this.
19373
556ce6ac 193742008-09-28 Robert Millan <rmh@aybabtu.com>
19375
19376 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
19377 to `modified'. Add the real `created' field.
19378 (grub_iso9660_uuid): Use `modified' rather than `created' for
19379 constructing the UUID.
19380
193812008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 19382
19383 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
19384 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
19385
92274e85 193862008-09-28 Bean <bean123ch@gmail.com>
19387
19388 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
19389 Thanks to Christian Franke for finding this bug.
19390
add6f17a 193912008-09-25 Robert Millan <rmh@aybabtu.com>
19392
19393 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
19394 instances of grub_util_get_disk_name() (see previous commit).
19395
d2a367b8 193962008-09-25 Robert Millan <rmh@aybabtu.com>
19397
19398 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
19399 `util/i386/get_disk_name.c'.
19400 * conf/i386-efi.rmk: Likewise.
19401 * conf/x86_64-efi.rmk: Likewise.
19402 * conf/i386-coreboot.rmk: Likewise.
19403 * conf/i386-ieee1275.rmk: Likewise.
19404 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
19405 `util/ieee1275/get_disk_name.c'.
19406 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
19407 * util/ieee1275/get_disk_name.c: Remove file.
19408 * util/i386/get_disk_name.c: Remove file.
19409 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
19410 "hd%d" for device.map entries, rather than using
19411 grub_util_get_disk_name().
19412
81a06771 194132008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 19414
19415 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
19416 warning.
19417 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
19418
5a004279 194192008-09-24 Carles Pina i Estany <carles@pina.cat>
19420
19421 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
19422 Changed to 0x5100.
19423 (GRUB_TERM_PPAGE): Changed to 0x4900.
19424
397093d3 194252008-09-24 Robert Millan <rmh@aybabtu.com>
19426
19427 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
19428 macros (they were i386-pc specific).
19429 * include/grub/sparc64/ieee1275/console.h: Likewise.
19430 * include/grub/efi/console.h: Likewise.
19431
a91b6c7c 194322008-09-22 Bean <bean123ch@gmail.com>
19433
19434 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
19435 resident and in attribute list.
19436
19437 * include/grub/ntfs.h (BMP_LEN): Removed.
19438
c40fd116 194392008-09-22 Bean <bean123ch@gmail.com>
19440
81a06771 19441 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 19442 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
19443
19444 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
19445 error occurs, as grub_disk_open will call grub_disk_close, which will
19446 call p->close (scsi).
19447
81a06771 194482008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 19449
19450 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
19451 (AC_PREREQ): Bumped to 2.59.
19452 (AC_TRY_COMPILE): Replace obsolete macro with ...
19453 (AC_COMPILE_IFELSE): ... this.
19454 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
19455 (AC_LINK_IFELSE): ... this.
19456
5dc43410 194572008-09-21 Felix Zielcke <fzielcke@z-51.de>
19458
19459 * autogen.sh: Add a call to `gendistlist.sh'.
19460
9035dce4 194612008-09-19 Christian Franke <franke@computer.org>
19462
19463 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
19464 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
19465 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
19466 Export __enable_execute_stack() to modules.
19467 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
19468 New function.
19469
7fd75377 194702008-09-09 Felix Zielcke <fzielcke@z-51.de>
19471
040030b3 19472 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
19473 Sort the list.
19474
194752008-09-09 Felix Zielcke <fzielcke@z-51.de>
19476
19477 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 19478 #include <grub/util/hostdisk.h>.
19479
89d5ffcf 194802008-09-08 Robert Millan <rmh@aybabtu.com>
19481
19482 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
19483 segments when their filesz is zero (grub_file_read() interprets
81a06771 19484 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 19485 Use `lowest_segment' rather than 0 for calculating the current
19486 segment load address.
19487
40da438f 194882008-09-08 Robert Millan <rmh@aybabtu.com>
19489
19490 * util/hostdisk.c (open_device): Replace a grub_util_info() call
19491 with grub_dprintf("hostdisk", ...), as it was so verbose that it
19492 clobbered useful information.
19493
ddbf5556 194942008-09-08 Robert Millan <rmh@aybabtu.com>
19495
19496 * include/grub/util/biosdisk.h: Move to ...
19497 * include/grub/util/hostdisk.h: ... here. Update all users.
19498 * util/biosdisk.c: Move to ...
19499 * util/hostdisk.c: ... here. Update all users.
19500
783d0f48 195012008-09-07 Robert Millan <rmh@aybabtu.com>
19502
19503 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
19504 variables.
19505 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
19506 and length can be stored directly in the `mbi->mmap_addr' and
19507 `mbi->mmap_length' struct fields.
19508
548e2ea5 195092008-09-07 Robert Millan <rmh@aybabtu.com>
19510
19511 * conf/i386.rmk: New file. Provides declaration for building
19512 `cpuid.mod'.
19513 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
19514 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
19515 variables.
19516 Include `conf/i386.mk'.
19517 * conf/i386-efi.rmk: Likewise.
19518 * conf/x86_64-efi.rmk: Likewise.
19519 * conf/i386-coreboot.rmk: Likewise.
19520 * conf/i386-ieee1275.rmk: Likewise.
19521
0ea85a37 195222008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
19523
19524 Based on patch created by Colin D Bennett <colin@gibibit.com>.
19525 Adds optimization support for BGR based modes.
19526
19527 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
19528 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19529 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19530 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19531 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19532 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19533 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19534 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19535 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19536 (grub_video_i386_vbeblit_index_index): Likewise.
19537 (grub_video_i386_vbeblit_replace_directN): Added.
19538 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19539 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19540 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19541 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19542 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19543 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 19544 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 19545 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19546 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19547 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19548 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19549 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19550 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
19551
19552 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
19553 (grub_video_i386_vbefill_R8G8B8): Likewise.
19554 (grub_video_i386_vbefill_index): Likewise.
19555 (grub_video_i386_vbefill_direct32): Added.
19556 (grub_video_i386_vbefill_direct24): Likewise.
19557 (grub_video_i386_vbefill_direct16): Likewise.
19558 (grub_video_i386_vbefill_direct8): Likewise.
19559
81a06771 19560 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 19561 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
19562 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
19563 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
19564 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
19565 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 19566
0ea85a37 19567 * video/video.c (grub_video_get_blit_format): Updated to use new
19568 blit formats. Added handling for 16 bit color modes.
81a06771 19569
19570 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 19571 fillers.
19572 (common_blitter): Updated to use new blitters.
19573
19574 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
19575 Removed.
19576 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
19577 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19578 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19579 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19580 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19581 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19582 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19583 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19584 (grub_video_i386_vbeblit_index_index): Likewise.
19585 (grub_video_i386_vbeblit_replace_directN): Added.
19586 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
19587 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
19588 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
19589 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
19590 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
19591 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
19592 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
19593 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
19594 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
19595 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
19596 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
19597 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
19598 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 19599
0ea85a37 19600 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
19601 (grub_video_i386_vbefill_R8G8B8): Likewise.
19602 (grub_video_i386_vbefill_index): Likewise.
19603 (grub_video_i386_vbefill_direct32): Added.
19604 (grub_video_i386_vbefill_direct24): Likewise.
19605 (grub_video_i386_vbefill_direct16): Likewise.
19606 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 19607
0ea85a37 19608 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
19609 types.
81a06771 19610
0ea85a37 19611 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
19612 types.
81a06771 19613
0ea85a37 19614 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
19615 blitter types.
81a06771 19616
0ea85a37 19617 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
19618 types.
19619
e8a83df6 196202008-09-06 Felix Zielcke <fzielcke@z-51.de>
19621
19622 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
19623 RAID level 1.
19624
6bcd8ee5 196252008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 19626
6bcd8ee5 19627 * fs/iso9660.c (grub_iso9660_date): New structure.
19628 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
19629 (grub_iso9660_uuid): New function.
c375ae58 19630
59261157 196312008-09-05 Bean <bean123ch@gmail.com>
19632
19633 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
19634
19635 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
19636 insensitive bit for names in Win32 and Win32 & DOS namespace.
19637
19638 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
19639
19640 * include/grub/types.h (LONG_MAX): Likewise.
19641
58b6645a 196422008-09-04 Felix Zielcke <fzielcke@z-51.de>
19643
4ee55921 19644 * util/getroot.c: Include <config.h>.
19645 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
19646 add support for /dev/md/N devices and handle LVM double dash escaping.
19647
196482008-09-04 Felix Zielcke <fzielcke@z-51.de>
19649
19650 * config.guess: Update to latest version from config git.
19651 * config.sub: Likewise.
58b6645a 19652
9124f65d 196532008-09-03 Robert Millan <rmh@aybabtu.com>
19654
19655 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
19656 `disk->total_sectors'.
19657
81a06771 196582008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 19659
19660 * include/grub/normal.h: Fixed incorrect comment for
19661 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
19662
81a06771 196632008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 19664
19665 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
19666 values with defines.
19667
19668 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
19669 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
19670 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
19671 (GRUB_VBE_MODEATTR_COLOR): Likewise.
19672 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
19673 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
19674 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
19675 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
19676 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
19677 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
19678 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
19679 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
19680 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
19681 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
19682 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
19683 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
19684 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
19685 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
19686 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
19687
93d5cbf8 196882008-08-31 Robert Millan <rmh@aybabtu.com>
19689
19690 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
19691 declaration.
19692 (grub_multiboot): Fix a few warnings.
19693
21751d50 196942008-08-31 Robert Millan <rmh@aybabtu.com>
19695
19696 * loader/i386/pc/multiboot.c: Update comment not to say that
19697 boot_device support is unimplemented.
19698
e27a75c5 196992008-08-31 Robert Millan <rmh@aybabtu.com>
19700
19701 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
19702 or memory map support are unimplemented.
19703
81a06771 197042008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 19705
19706 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
19707
81a06771 197082008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 19709
19710 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
19711 total video memory in 'vbeinfo' output; show color format details for
19712 each video mode.
19713
7c5d8d95 197142008-08-30 Pavel Roskin <proski@gnu.org>
19715
19716 * util/genmoddep.c: Remove for real this time.
19717 * DISTLIST: Remove util/genmoddep.c.
19718
4cebd25a 197192008-08-30 Robert Millan <rmh@aybabtu.com>
19720
19721 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
19722 as required by Multiboot spec (it was already 4-byte aligned, but
19723 only by chance).
19724
b497a269 197252008-08-29 Pavel Roskin <proski@gnu.org>
19726
e3925185 19727 * kern/powerpc/ieee1275/crt0.S: Rename to ...
19728 * kern/powerpc/ieee1275/startup.S: ... this.
19729 * conf/powerpc-ieee1275.rmk: Adjust for the above.
19730 * DISTLIST: Likewise.
19731
b497a269 19732 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
19733 grub/cpu/kernel.h. Add start label for consistency with other
19734 platforms. Add grub_prefix immediately after start. Add jump
19735 to the code after grub_prefix.
19736 * include/grub/powerpc/kernel.h: Provide valid values for
19737 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
19738
6e5a42fe 197392008-08-29 Bean <bean123ch@gmail.com>
19740
19741 * configure.ac: Change host_os to cygwin for mingw.
19742 (asprintf): New check for function.
19743
19744 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
19745 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
19746
19747 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 19748 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 19749 sync, sleep and grub_util_get_disk_size for mingw.
19750
19751 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
19752 to get size in mingw.
19753 (open_device): Use flag O_BINARY if it's defined.
19754 (find_root_device): Add dummy code for mingw.
19755
19756 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
19757 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
19758 (get_scsi_disk_name): Return 0 for mingw.
19759
19760 * util/hostfs.c: #include <grub/util/misc.h>.
19761 (grub_hostfs_open): Use "rb" flag to open file, use
19762 grub_util_get_disk_size to get disk size for mingw.
19763
19764 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
19765 (asprintf): New function if HAVE_ASPRINTF is not set.
19766 (sync): New function for mingw.
19767 (sleep): Likewise.
19768 (grub_util_get_disk_size): Likewise.
19769
ab3f2673 197702008-08-28 Pavel Roskin <proski@gnu.org>
19771
19772 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19773 kern/time.c.
19774
1c282483 197752008-08-28 Robert Millan <rmh@aybabtu.com>
19776
19777 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
19778
678e849c 197792008-08-28 Robert Millan <rmh@aybabtu.com>
19780
19781 Change find_grub_drive() syntax so it doesn't prevent it from
19782 detecting NULL names as errors.
19783
19784 * util/biosdisk.c (find_grub_drive): Move free slot search code
19785 from here ...
19786 (find_free_slot): ... to here.
19787 (read_device_map): Use find_free_slot() to search for free slots.
19788
965c75ca 197892008-08-27 Marco Gerards <marco@gnu.org>
19790
19791 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
19792 (scsi_mod_SOURCES): New variable.
19793 (scsi_mod_CFLAGS): Likewise
19794 (scsi_mod_LDFLAGS): Likewise.
19795
19796 * disk/scsi.c: New file.
19797
19798 * include/grub/scsi.h: Likewise.
19799
19800 * include/grub/scsicmd.h: Likewise.
19801
19802 * disk/ata.c: Include <grub/scsi.h>.
19803 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
19804 instead.
19805 (grub_ata_iterate): Skip ATAPI devices.
19806 (grub_ata_open): Only handle ATAPI devices.
19807 (struct grub_atapi_read): Removed.
19808 (grub_atapi_readsector): Likewise.
19809 (grub_ata_read): No longer handle ATAPI devices.
19810 (grub_ata_write): Likewise.
19811 (grub_atapi_iterate): New function.
19812 (grub_atapi_read): Likewise.
19813 (grub_atapi_write): Likewise.
19814 (grub_atapi_open): Likewise.
19815 (grub_atapi_close): Likewise.
19816 (grub_atapi_dev): New variable.
19817 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
19818 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
19819
19820 * include/grub/disk.h (enum grub_disk_dev_id): Add
19821 `GRUB_DISK_DEVICE_SCSI_ID'.
19822
c07ae501 198232008-08-26 Robert Millan <rmh@aybabtu.com>
19824
19825 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
19826 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
19827 descriptive.
19828
5ed20adc 198292008-08-23 Bean <bean123ch@gmail.com>
19830
19831 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
19832 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
19833 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
19834 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
19835 dm_nv.mod.
19836 (raid5rec_mod_SOURCES): New macro.
19837 (raid5rec_mod_CFLAGS): Likewise.
19838 (raid5rec_mod_LDFLAGS): Likewise.
19839 (raid6rec_mod_SOURCES): Likewise.
19840 (raid6rec_mod_CFLAGS): Likewise.
19841 (raid6rec_mod_LDFLAGS): Likewise.
19842 (mdraid_mod_SOURCES): Likewise.
19843 (mdraid_mod_CFLAGS): Likewise.
19844 (mdraid_mod_LDFLAGS): Likewise.
19845 (dm_nv_mod_SOURCES): Likewise.
19846 (dm_nv_mod_CFLAGS): Likewise.
19847 (dm_nv_mod_LDFLAGS): Likewise.
19848
19849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
19850 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
19851 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
19852
19853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
19854 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
19855
19856 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19857
19858 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19859
19860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19861
19862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19863
19864 * disk/raid5_recover.c: New file.
19865
19866 * disk/raid6_recover.c: Likewise.
19867
19868 * disk/mdraid_linux.c: Likewise.
19869
19870 * disk/dmraid_nvidia.c: Likewise.
19871
19872 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
19873 ULONG_MAX.
19874
19875 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
19876 calculate the size of raid device.
19877 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
19878 different layout of raid5.
19879 (grub_raid_scan_device): Remove code specific to mdraid.
19880 (grub_raid_list): New variable.
19881 (free_array): New function.
19882 (grub_raid_register): Likewise.
19883 (grub_raid_unregister): Likewise.
19884 (grub_raid_rescan): Likewise.
19885 (GRUB_MOD_INIT): Don't iterate device here.
19886 (GRUB_MOD_FINI): Use free_array to release resource.
19887
19888 * include/grub/raid.h: Remove macro and structure specific to mdraid.
19889 (grub_raid5_recover_func_t): New function variable type.
19890 (grub_raid6_recover_func_t): Likewise.
19891 (grub_raid5_recover_func): New variable.
19892 (grub_raid6_recover_func): Likewise.
19893 (grub_raid_register): New function.
19894 (grub_raid_unregister): Likewise.
19895 (grub_raid_rescan): Likewise.
19896 (grub_raid_block_xor): Likewise.
19897
19898 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
19899 (CMD_CRC): New macro.
19900 (part): Removed.
19901 (read_file): Handle device as well as file.
19902 (cmd_crc): New function.
19903 (fstest): Handle multiple disks.
19904 (options): Remove part, raw and long, add root and diskcount.
19905 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 19906 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 19907 add handling for the new options, support multiple disks.
19908
19909 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
19910
29c18915 199112008-08-23 Bean <bean123ch@gmail.com>
19912
19913 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
19914
19915 * genfslist.sh: Ignore kernel.mod.
19916
19917 * genpartmaplist.sh: Likewise.
19918
8415f261 199192008-08-23 Robert Millan <rmh@aybabtu.com>
19920
19921 * util/getroot.c (find_root_device): Skip anything that starts with
19922 a dot, not just directories. This avoids things like /dev/.tmp.md0.
19923
d5a7dc5b 199242008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 19925
d5a7dc5b 19926 * util/update-grub.in (GRUB_GFXMODE): Export variable.
19927 * util/grub.d/00_header.in: Allow the administrator to change default
19928 gfxmode via ${GRUB_GFXMODE}.
19929
380cfbb4 199302008-08-21 Felix Zielcke <fzielcke@z-51.de>
19931
19932 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
19933
c9baafe7 199342008-08-21 Robert Millan <rmh@aybabtu.com>
19935
19936 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
19937 loader.
19938 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
19939 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
19940
e290bef2 199412008-08-20 Carles Pina i Estany <carles@pina.cat>
19942
19943 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
19944 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
19945
f9dbfc96 199462008-08-19 Robert Millan <rmh@aybabtu.com>
19947
19948 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
19949 (struct grub_virtual_screen): Remove `cursor_color'.
19950 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
19951 initialization.
19952 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
19953
dd6bd6ab 199542008-08-18 Robert Millan <rmh@aybabtu.com>
19955
19956 Unify (identical) linux_normal.c files.
19957 * loader/i386/efi/linux_normal.c: Move from here ...
19958 * loader/linux_normal.c: ... to here. Update all users.
19959 * loader/i386/pc/linux_normal.c: Delete. Update all users.
19960 * loader/i386/ieee1275/linux_normal.c: Likewise.
19961
7f42f83e 199622008-08-18 Robert Millan <rmh@aybabtu.com>
19963
19964 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
19965 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
19966 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
19967 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
19968 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
19969 New macros.
19970 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
19971 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
19972 (GRUB_LINUX_CL_END_OFFSET): ... to here.
19973 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
19974 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
19975 (GRUB_EFI_CL_END_OFFSET): Rename to ...
19976 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
19977 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
19978 Initialize `params->video_cursor_x' and `params->video_cursor_y'
19979 portably using grub_getxy().
19980 Replace `-EFI' with `-bzImage' in boot message.
19981
38487ddb 199822008-08-17 Robert Millan <rmh@aybabtu.com>
19983
19984 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
19985
deceb3ec 199862008-08-17 Robert Millan <rmh@aybabtu.com>
19987
19988 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
19989
19990 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
19991 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
19992 (grub_machine_mmap_iterate): New function declaration.
19993 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
19994 structure.
19995 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
19996 macros.
19997
19998 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
19999 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20000 Move e820 parsing from here ...
20001 * kern/i386/pc/mmap.c: New file.
20002 (grub_machine_mmap_iterate): ... to here.
20003
20004 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20005 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20006 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20007 (grub_available_iterate): Redeclare to return `void', and redeclare
20008 its hook to use grub_uint64_t as addr and size parameters, and rename
20009 to ...
20010 (grub_machine_mmap_iterate): ... this. Update all users.
20011
20012 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20013 to make it more readable. Rename to ...
20014 (grub_machine_mmap_iterate): ... this.
20015
20016 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20017 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20018 (grub_multiboot): Allocate an extra region after the payload, and fill
20019 it with a Multiboot memory map. Adjust a.out loader to calculate size
20020 with the extra space.
20021 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20022 with the extra space.
20023
f8aa0f43 200242008-08-17 Carles Pina i Estany <carles@pina.cat>
20025
9807deb9 20026 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20027
605f5bb6 200282008-08-17 Felix Zielcke <fzielcke@z-51.de>
20029
20030 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20031 mdate-sh to the list `find' searches for.
20032 * DISTLIST: Regenerated.
20033
210db6c6 200342008-08-16 Felix Zielcke <fzielcke@z-51.de>
20035
20036 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20037 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20038 genmoddep.awk, gensymlist.sh.in.
20039 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20040 * DISTLIST: Regenerated.
48cdbfd4 20041 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20042
1082b929 200432008-08-16 Robert Millan <rmh@aybabtu.com>
20044
20045 * disk/raid.c (grub_raid_init): Handle/report errors set by
20046 grub_device_iterate().
20047 * disk/lvm.c (grub_lvm_init): Likewise.
20048
42ce5170 200492008-08-15 Bean <bean123ch@gmail.com>
20050
20051 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20052 and datehook.mod.
20053 (datetime_mod_SOURCES): New macro.
20054 (datetime_mod_CFLAGS): Likewise.
20055 (datetime_mod_LDFLAGS): Likewise.
20056 (date_mod_SOURCES): Likewise.
20057 (date_mod_CFLAGS): Likewise.
20058 (date_mod_LDFLAGS): Likewise.
20059 (datehook_mod_SOURCES): Likewise.
20060 (datehook_mod_CFLAGS): Likewise.
20061 (datehook_mod_LDFLAGS): Likewise.
20062
20063 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20064 and datehook.mod.
20065 (datetime_mod_SOURCES): New macro.
20066 (datetime_mod_CFLAGS): Likewise.
20067 (datetime_mod_LDFLAGS): Likewise.
20068 (date_mod_SOURCES): Likewise.
20069 (date_mod_CFLAGS): Likewise.
20070 (date_mod_LDFLAGS): Likewise.
20071 (datehook_mod_SOURCES): Likewise.
20072 (datehook_mod_CFLAGS): Likewise.
20073 (datehook_mod_LDFLAGS): Likewise.
20074
20075 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20076 and datehook.mod.
20077 (datetime_mod_SOURCES): New macro.
20078 (datetime_mod_CFLAGS): Likewise.
20079 (datetime_mod_LDFLAGS): Likewise.
20080 (date_mod_SOURCES): Likewise.
20081 (date_mod_CFLAGS): Likewise.
20082 (date_mod_LDFLAGS): Likewise.
20083 (datehook_mod_SOURCES): Likewise.
20084 (datehook_mod_CFLAGS): Likewise.
20085 (datehook_mod_LDFLAGS): Likewise.
20086
20087 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20088 and datehook.mod.
20089 (datetime_mod_SOURCES): New macro.
20090 (datetime_mod_CFLAGS): Likewise.
20091 (datetime_mod_LDFLAGS): Likewise.
20092 (date_mod_SOURCES): Likewise.
20093 (date_mod_CFLAGS): Likewise.
20094 (date_mod_LDFLAGS): Likewise.
20095 (datehook_mod_SOURCES): Likewise.
20096 (datehook_mod_CFLAGS): Likewise.
20097 (datehook_mod_LDFLAGS): Likewise.
20098
20099 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20100 and datehook.mod.
20101 (datetime_mod_SOURCES): New macro.
20102 (datetime_mod_CFLAGS): Likewise.
20103 (datetime_mod_LDFLAGS): Likewise.
20104 (date_mod_SOURCES): Likewise.
20105 (date_mod_CFLAGS): Likewise.
20106 (date_mod_LDFLAGS): Likewise.
20107 (datehook_mod_SOURCES): Likewise.
20108 (datehook_mod_CFLAGS): Likewise.
20109 (datehook_mod_LDFLAGS): Likewise.
20110
20111 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20112
20113 * commands/date.c: New file.
20114
20115 * hook/datehook.c: Likewise.
20116
20117 * include/grub/lib/datetime.h: Likewise.
20118
20119 * include/grub/i386/cmos.h: Likewise.
20120
20121 * lib/datetime.c: Likewise.
20122
20123 * lib/i386/datetime.c: Likewise.
20124
20125 * lib/efi/datetime.c: Likewise.
20126
0e9242da 201272008-08-14 Robert Millan <rmh@aybabtu.com>
20128
20129 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20130 (grub_mkelfimage_SOURCES): New variable.
20131 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20132
20133 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20134 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20135 * conf/powerpc-ieee1275.rmk: Likewise.
20136 * conf/i386-ieee1275.rmk: Likewise.
20137
20138 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20139 * kern/i386/coreboot/init.c: Likewise.
20140
20141 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20142 with `<grub/cpu/kernel.h>'.
20143 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20144 to ...
20145 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20146 * kern/i386/coreboot/startup.S: Likewise.
20147
20148 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20149 (GRUB_MOD_GAP): Remove.
20150 * include/grub/powerpc/kernel.h: New file.
20151 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20152 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20153 * include/grub/i386/kernel.h: New file.
20154 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20155 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20156 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20157
20158 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20159 `grub-mkelfimage'.
20160 Use --directory when invoking grub_mkimage.
20161
20162 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20163 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20164 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20165 and GRUB_KERNEL_CPU_PREFIX.
20166
b86408f8 201672008-08-14 Felix Zielcke <fzielcke@z-51.de>
20168
d5e619ca 20169 * include/grub/err.h (grub_err_printf): New function prototype.
20170 * util/misc.c (grub_err_printf): New function.
20171 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20172 grub_printf.
20173 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20174
7161f0e0 201752008-08-13 Robert Millan <rmh@aybabtu.com>
20176
20177 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20178
a1967522 201792008-08-13 Robert Millan <rmh@aybabtu.com>
20180
20181 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20182 boot entry.
20183
371458b5 201842008-08-12 Robert Millan <rmh@aybabtu.com>
20185
20186 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20187 of the relocation code from here ...
20188 (grub_multiboot): ... to here.
20189 (forward_relocator, backward_relocator): Move from here ...
20190 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20191 (grub_multiboot_backward_relocator): ... to here.
20192 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20193 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20194 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20195 (grub_multiboot_forward_relocator_end)
20196 (grub_multiboot_backward_relocator)
20197 (grub_multiboot_backward_relocator_end): New variables.
20198
05f9452b 201992008-08-12 Bean <bean123ch@gmail.com>
20200
20201 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20202
20024ab0 202032008-08-11 Robert Millan <rmh@aybabtu.com>
20204
20205 * kern/i386/linuxbios/startup.S: Move from here ...
20206 * kern/i386/coreboot/startup.S: ... to here.
20207
20208 * kern/i386/linuxbios/init.c: Move from here ...
20209 * kern/i386/coreboot/init.c: ... to here.
20210
20211 * kern/i386/linuxbios/table.c: Move from here ...
20212 * kern/i386/coreboot/mmap.c: ... to here.
20213
20214 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
20215
e352e9cd 202162008-08-11 Robert Millan <rmh@aybabtu.com>
20217
20218 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
20219 errors. Leave it to the upper layer to handle them.
20220
2d05bc6a 202212008-08-09 Christian Franke <franke@computer.org>
20222
20223 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
20224 * conf/common.rmk: Install `grub-pe2elf' only if requested.
20225 Install `grub.d/10_windows' only on Cygwin.
20226 * configure.ac: Add subst of `target_os'.
20227 Check `target_os' also before setting TARGET_OBJ2ELF.
20228 Add `--enable-grub-pe2elf'.
20229
042bd419 202302008-08-08 Robert Millan <rmh@aybabtu.com>
20231
20232 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20233 (grub_last_time): Change type to grub_uint64_t.
20234 (grub_disk_open): Migrate code from to using grub_get_time_ms().
20235 (grub_disk_close): Likewise.
20236
20237 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
20238 (run_menu): Migrate code from to using grub_get_time_ms().
20239
20240 * util/misc.c (grub_get_time_ms): New function.
20241
7f280db5 202422008-08-08 Marco Gerards <marco@gnu.org>
20243
20244 * disk/ata.c (grub_ata_regget): Change return type to
20245 `grub_uint8_t'.
20246 (grub_ata_regget2): Likewise.
20247 (grub_ata_wait_status): New function.
20248 (grub_ata_wait_busy): Removed function, updated all users to use
20249 `grub_ata_wait_status'.
20250 (grub_ata_wait_drq): Likewise.
20251 (grub_ata_cmd): New function.
20252 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
20253 error handling.
20254 (grub_ata_pio_write): Add error handling.
20255 (grub_atapi_identify): Likewise.
20256 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
20257 handling.
20258 (grub_ata_identify): Use `grub_ata_cmd' and improve error
20259 handling. Actually use the detected registers. Reorder the
20260 detection logic such that it is easier to read.
20261 (grub_ata_pciinit): Do not assign the same ID to each controller.
20262 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
20263 handling.
20264 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
20265
20266 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
20267
1fbc5e66 202682008-08-08 Marco Gerards <marco@gnu.org>
20269
20270 * NEWS: Update.
20271
819ce6c0 202722008-08-07 Bean <bean123ch@gmail.com>
20273
20274 * include/grub/x86_64/pci.h: New file.
20275
5c41d44d 202762008-08-07 Christian Franke <franke@computer.org>
20277
20278 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
20279 (TIMER2_GATE): Likewise.
20280 (grub_pit_wait): Add enable/disable of the timer2 gate
20281 bit of port 0x61. This fixes a possible infinite loop.
20282
5ebc275d 202832008-08-07 Bean <bean123ch@gmail.com>
20284
20285 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
20286 kern/i386/tsc.c and kern/i386/pit.c.
20287
20288 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
20289 x86_64 platform.
20290
20291 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
20292 <grub/i386/tsc.h>.
20293
20294 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
20295
e383b3d0 202962008-08-07 Bean <bean123ch@gmail.com>
20297
20298 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
20299
20300 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
20301
20302 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
20303 multiple inclusion. Add #include <grub/types.h>.
20304
1cbb58ac 203052008-08-06 Christian Franke <franke@computer.org>
20306
20307 * conf/common.rmk: Build and install `10_windows'.
20308 * util/grub.d/10_windows.in: New script.
20309
337f5a1e 203102008-08-06 Pavel Roskin <proski@gnu.org>
20311
20312 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
20313
057bc4ac 203142008-08-06 Robert Millan <rmh@aybabtu.com>
20315
20316 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
20317 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
20318
2b99f123 203192008-08-06 Bean <bean123ch@gmail.com>
20320
20321 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
20322 (grub_pxefs_fs_int): Remove dummy definition.
20323 (grub_pxefs_open): Use data->block_size to store the current block
20324 size setting.
20325 (grub_pxefs_read): Use block size stored in data->block_size. As the
20326 value of grub_pxe_blksize can be changed after the file is opened.
20327
9f0234cb 203282008-08-06 Bean <bean123ch@gmail.com>
20329
20330 * fs/i386/pc/pxe.c (curr_file): new variable.
20331 (grub_pxefs_open): Simply the handling of pxe file system. Don't
20332 require the dummy internal file system anymore.
20333 (grub_pxefs_read): Removed.
20334 (grub_pxefs_close): Likewise.
20335 (grub_pxefs_fs_int): Likewise.
20336 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
20337 connection when we switch file.
20338 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
20339
a55d42e0 203402008-08-06 Robert Millan <rmh@aybabtu.com>
20341
20342 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
20343 `halt.mod'.
20344 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
20345 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
20346
20347 * kern/i386/halt.c: New file.
20348 * kern/i386/reboot.c: Likewise.
20349 * include/grub/i386/reboot.h: Likewise.
20350 * include/grub/i386/halt.h: Likewise.
20351
20352 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
20353 Include `<grub/cpu/halt.h>'.
20354 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
20355 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
20356
20357 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
20358 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
20359 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
20360 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
20361 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
20362 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
20363 from here ...
20364 * include/grub/i386/at_keyboard.h: ... to here.
20365
24371d26 203662008-08-05 Robert Millan <rmh@aybabtu.com>
20367
20368 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
20369 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
20370 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
20371 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20372 `kern/generic/millisleep.c'.
20373
20374 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
20375 instead of grub_get_rtc().
20376 (grub_tsc_init): Initialize `tsc_boot_time'.
20377
20378 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
20379 (grub_machine_init): Use grub_tsc_init() rather than
20380 installing an RTC-based handler via grub_install_get_time_ms().
20381
20382 * kern/i386/pit.c: New file.
20383 * include/grub/i386/pit.h: Likewise.
20384
9e7007b3 203852008-08-05 Bean <bean123ch@gmail.com>
20386
20387 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
20388
20389 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
20390 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
20391 (pxe_mod_SOURCES): New macro.
20392 (pxe_mod_CFLAGS): Likewise.
20393 (pxe_mod_LDFLAGS): Likewise.
20394 (pxecmd_mod_SOURCES): Likewise.
20395 (pxecmd_mod_CFLAGS): Likewise.
20396 (pxecmd_mod_LDFLAGS): Likewise.
20397
20398 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
20399 (grub_pxe_call): Likewise.
20400
20401 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
20402
20403 * commands/i386/pc/pxecmd.c: New file.
20404
9f0234cb 20405 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 20406
20407 * include/grub/i386/pc/pxe.h: Likewise.
20408
6977d49f 204092008-08-05 Bean <bean123ch@gmail.com>
20410
20411 * util/console.c (grub_console_cur_color): New variable.
20412 (grub_console_standard_color): Likewise.
20413 (grub_console_normal_color): Likewise.
20414 (grub_console_highlight_color): Likewise.
20415 (color_map): Likewise.
20416 (use_color): Likewise.
20417 (NUM_COLORS): New macro.
20418 (grub_ncurses_setcolorstate): Handle color properly.
20419 (grub_ncurses_setcolor): Don't change color here, just remember the
20420 settings, color will be set in grub_ncurses_setcolorstate.
20421 (grub_ncurses_getcolor): New function.
20422 (grub_ncurses_init): Initialize color pairs.
20423 (grub_ncurses_term): New member grub_ncurses_getcolor.
20424
9c2ff3ee 204252008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 20426
9c2ff3ee 20427 High resolution timer support. Implemented for x86 CPUs using TSC.
20428 Extracted generic grub_millisleep() so it's linked in only as needed.
20429 This requires a Pentium compatible CPU; if the RDTSC instruction is
20430 not supported, then it falls back on the generic grub_get_time_ms()
20431 implementation that uses the machine's RTC.
20432
20433 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
20434 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
20435 `kern/generic/millisleep.c'.
20436
20437 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
20438 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
20439
20440 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
20441 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
20442
20443 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20444
20445 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20446 `kern/generic/millisleep.c'.
20447
20448 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20449
20450 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
20451
20452 * kern/generic/rtc_get_time_ms.c: New file.
20453
20454 * kern/generic/millisleep.c: New file.
337f5a1e 20455
9c2ff3ee 20456 * kern/misc.c: Don't include
20457 <kern/time.h> anymore.
20458 (grub_millisleep_generic): Removed.
20459
20460 * commands/sleep.c (grub_interruptible_millisleep): Uses
20461 grub_get_time_ms() instead of grub_get_rtc().
20462
20463 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
20464 function.
20465 (grub_cpu_is_cpuid_supported): New inline function.
20466 (grub_cpu_is_tsc_supported): New inline function.
20467 (grub_tsc_init): New function prototype.
20468 (grub_tsc_get_time_ms): New function prototype.
20469
20470 * kern/i386/tsc.c (grub_get_time_ms): New file.
20471
20472 * include/grub/time.h: Include <grub/types.h.
20473 (grub_millisleep_generic): Removed.
20474 (grub_get_time_ms): New prototype.
20475 (grub_install_get_time_ms): New prototype.
20476 (grub_rtc_get_time_ms): New prototype.
20477
20478 * kern/time.c (grub_get_time_ms): New function.
20479 (grub_install_get_time_ms): New function.
20480
20481 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
20482 <grub/time.h> anymore.
20483 (grub_millisleep): Removed.
20484 (grub_machine_init): Call grub_tsc_init.
20485
20486 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
20487 get_time_ms() implementation.
20488
20489 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
20490 (ieee1275_get_time_ms): New function.
20491 (grub_machine_init): Install get_time_ms() implementation.
20492
20493 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
20494 (grub_machine_init): Call grub_tsc_init().
20495 (grub_millisleep): Removed.
bf06a93f 20496
9c2ff3ee 20497 * kern/ieee1275/init.c (grub_millisleep): Removed.
20498 (grub_machine_init): Install ieee1275_get_time_ms()
20499 implementation.
20500 (ieee1275_get_time_ms): New function.
20501 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
20502 real work.
20503
9ec92aaf 205042008-08-05 Marco Gerards <marco@gnu.org>
20505
20506 * disk/ata.c: Include <grub/pci.h>.
20507 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
20508 (grub_ata_initialize): Rewritten.
20509 (grub_ata_device_initialize): New function.
20510
8d23f507 205112008-08-04 Pavel Roskin <proski@gnu.org>
20512
20513 * kern/main.c: Include grub/mm.h.
20514
5e15ee3d 205152008-08-04 Robert Millan <rmh@aybabtu.com>
20516
20517 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
20518 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
20519 corruption problem).
20520
a9053f8f 205212008-08-04 Robert Millan <rmh@aybabtu.com>
20522
20523 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
20524 warnings introduced in my last commit.
20525
dd19c7d7 205262008-08-03 Robert Millan <rmh@aybabtu.com>
20527
20528 Make PCI available on all i386 architectures.
20529
20530 * include/grub/i386/pc/pci.h: Move from here ...
20531 * include/grub/i386/pci.h: ... to here.
20532
20533 * include/grub/i386/pc/pci.h: Remove.
20534 * include/grub/i386/efi/pci.h: Remove.
20535 * include/grub/x86_64/efi/pci.h: Remove.
20536
20537 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
20538 `<grub/cpu/pci.h>'.
20539
20540 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
20541 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
20542 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
20543
20544 * conf/i386-ieee1275.rmk: Likewise.
20545
e14a6184 205462008-08-03 Robert Millan <rmh@aybabtu.com>
20547
20548 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
20549 (grub_console_setcursor): Make it possible to set cursor off.
20550
52768e37 205512008-08-03 Robert Millan <rmh@aybabtu.com>
20552
20553 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
20554 of modules instead of assuming which platform provides what.
20555 * util/update-grub.in: Likewise.
20556
2d52f57f 205572008-08-03 Robert Millan <rmh@aybabtu.com>
20558
20559 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
20560 instead of `grub_install_dos_part' to determine whether a drive needs
20561 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 20562 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 20563
2a5cd121 205642008-08-02 Robert Millan <rmh@aybabtu.com>
20565
20566 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
20567
93808428 205682008-08-02 Robert Millan <rmh@aybabtu.com>
20569
20570 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
20571 of informational grub_dprintf() calls.
20572
3bd0a12a 205732008-08-02 Robert Millan <rmh@aybabtu.com>
20574
20575 * disk/memdisk.c (memdisk_size): Don't initialize.
20576 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
20577
20578 * include/grub/i386/pc/kernel.h
20579 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
20580 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
20581 (grub_memdisk_image_size, grub_arch_memdisk_addr)
20582 (grub_arch_memdisk_size): Remove.
20583
20584 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
20585 field (was only used to transfer a constant). Add `type' field to
20586 support multiple module types.
20587 (grub_module_iterate): New function.
20588
20589 * kern/device.c (grub_device_open): Do not hide error messages
20590 when grub_disk_open() fails. Use grub_print_error() instead.
20591
20592 * kern/i386/pc/init.c (grub_arch_modules_addr)
20593 (grub_arch_memdisk_size): Remove functions.
20594 (grub_arch_modules_addr): Return the module address in high memory
20595 (now that it isn't copied anymore).
20596
20597 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
20598 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
20599 decompression routine (grub_total_module_size already includes that
20600 now). Don't copy modules back to low memory.
20601
20602 * kern/main.c: Include `<grub/mm.h>'.
20603 (grub_load_modules): Split out (and use) ...
20604 (grub_module_iterate): ... this function, which iterates through
20605 module objects and runs a hook.
20606 Comment out grub_mm_init_region() call, as it would cause non-ELF
20607 modules to be overwritten.
20608
20609 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
20610 the memdisk image in its own region, make it part of the module list.
20611 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
20612 (main): Parse --memdisk|-m option, and pass user-provided path as
20613 parameter to generate_image().
20614 (add_segments): Pass `memdisk_path' down to load_modules().
20615 (load_modules): Embed memdisk image in module section when requested.
20616 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
20617 `header.type' instead of `header.offset'.
20618
20619 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
20620 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
20621 (memdisk_mod_LDFLAGS): New variables.
20622 * conf/i386-coreboot.rmk: Likewise.
20623 * conf/i386-ieee1275.rmk: Likewise.
20624
a927cc73 206252008-08-02 Robert Millan <rmh@aybabtu.com>
20626
20627 * loader/i386/pc/multiboot.c (playground, forward_relocator)
20628 (backward_relocator): New variables. Used to allocate and relocate
20629 the payload, respectively.
20630 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 20631 address, install the appropriate relocator code in each bound of
a927cc73 20632 the payload, and set the entry point such that
20633 grub_multiboot_real_boot() will jump to one of them.
20634
20635 * kern/i386/loader.S (grub_multiboot_payload_size)
20636 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20637 (grub_multiboot_payload_entry_offset): New variables.
20638 (grub_multiboot_real_boot): Set cpu context to what the relocator
20639 expects, and jump to the relocator instead of the payload.
20640
20641 * include/grub/i386/loader.h (grub_multiboot_payload_size)
20642 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
20643 (grub_multiboot_payload_entry_offset): Export.
20644
b15d8a0c 206452008-08-01 Bean <bean123ch@gmail.com>
20646
20647 * normal/menu_entry.c (editor_getline): Don't return the original
20648 string as result, as it will be released by lexer once it has done
20649 using it.
20650
cdfb3d22 206512008-08-01 Robert Millan <rmh@aybabtu.com>
20652
20653 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
20654 within menuentries, not before them.
20655 util/grub.d/10_hurd.in: Likewise.
20656
9175e93d 206572008-08-01 Bean <bean123ch@gmail.com>
20658
20659 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
20660 (bufio_mod_SOURCES): New macro.
20661 (bufio_mod_CFLAGS): Likewise.
20662 (bufio_mod_LDFLAGS): Likewise.
20663
20664 * include/grub/bufio.h: New file.
20665
20666 * io/bufio.c: Likewise.
20667
20668 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
20669 (grub_video_reader_png): Use grub_buffile_open to open file.
20670
20671 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
20672 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
20673
20674 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
20675 (grub_video_reader_tga): Use grub_buffile_open to open file.
20676
20677 * font/manager.c: Include <grub/bufio.h>.
20678 (add_font): Use grub_buffile_open to open file.
20679
3d8383e7 206802008-07-31 Robert Millan <rmh@aybabtu.com>
20681
20682 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
20683 ELF segments, use a macro for arbitrarily accessing any of them instead
20684 of preparing a pointer that allows access to one at a time.
20685 (grub_multiboot_load_elf64): Likewise.
20686
16e641b6 206872008-07-31 Bean <bean123ch@gmail.com>
20688
20689 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
20690 GRUB_KERNEL_MACHINE_DATA_END.
20691
59198b72 206922008-07-30 Robert Millan <rmh@aybabtu.com>
20693
20694 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
20695 Increase from 0x50 to 0x60.
20696 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
20697 use UUIDs to identify the root drive for them. If that's not
20698 possible, abort.
20699 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
20700 check, for cross-disk installs.
20701
ae88bca3 207022008-07-30 Robert Millan <rmh@aybabtu.com>
20703
20704 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
20705 is non-empty, use it to set the `prefix' environment variable instead
20706 of the usual approach.
20707 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
20708 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
20709 environment variable instead of dummy make_install_device().
20710
20711 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
20712 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 20713 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 20714
20715 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
20716 New variable reference.
20717 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
20718 New macro. Defines offset of `grub_prefix' within startup.S (relative
20719 to `start').
20720 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
20721 section within startup.S (relative to `start').
20722 * include/grub/i386/coreboot/kernel.h: Likewise.
20723
20724 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
20725 Overwrite grub_prefix with its contents, at the beginning of the
20726 first segment.
20727 (main): Understand -p|--prefix.
20728
14f41dd1 207292008-07-30 Robert Millan <rmh@aybabtu.com>
20730
20731 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
20732
4ca049a3 207332008-07-30 Robert Millan <rmh@aybabtu.com>
20734
20735 * term/i386/pc/vga_text.c (grub_console_cls): Use
20736 grub_console_gotoxy() to go back to beginning of the screen.
20737 Found by Patrick Georgi <patrick.georgi@coresystems.de>
20738
2921d337 207392008-07-29 Christian Franke <franke@computer.org>
20740
20741 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
20742 Add conversion of emulated mount points on Cygwin.
20743
b609876d 207442008-07-29 Christian Franke <franke@computer.org>
20745
20746 * util/update-grub.in: Add a check for admin
20747 group on Cygwin.
20748 Remove old `grub.cfg.new' before creation.
20749 Add `-f' to `mv' to handle the different filesystem
20750 semantics of Windows.
20751
e93e4679 207522008-07-29 Bean <bean123ch@gmail.com>
20753
20754 * normal/main.c (get_line): Fix buffer overflow bug.
20755
41694fd0 207562008-07-28 Robert Millan <rmh@aybabtu.com>
20757
20758 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
20759 (struct grub_apple_header): New struct. Describes the layout of
20760 the partmap header.
20761 (apple_partition_map_iterate): Check the header magic as well as the
20762 partition magic (which was already being checked).
20763
cfd0b4e6 207642008-07-28 Pavel Roskin <proski@gnu.org>
20765
20766 * genmk.rb: Add a warning to the beginning of the output that
20767 it's a generated file and should not be edited.
20768
93cce016 207692008-07-28 Robert Millan <rmh@aybabtu.com>
20770
20771 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
20772 with the same number are found, just use issue a warning with
20773 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 20774
cd1df915 207752008-07-27 Robert Millan <rmh@aybabtu.com>
20776
20777 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
20778 information.
20779
b70a8427 207802008-07-27 Bean <bean123ch@gmail.com>
20781
20782 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
20783 (grub_fat_find_dir): Ignore case when comparing filename.
20784
8f5e379f 207852008-07-27 Bean <bean123ch@gmail.com>
20786
20787 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
20788 smallino, as it's more descriptive, and i8count can be confused with
20789 the other field count.
20790 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
20791 inode type.
20792
a85cd5a0 207932008-07-27 Bean <bean123ch@gmail.com>
20794
20795 * commands/crc.c: New file.
20796
20797 * lib/crc.c: Likewise.
20798
20799 * include/grub/lib/crc.h: Likewise.
20800
20801 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
20802
20803 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
20804 (hexdump): Move this function to ...
20805
20806 * lib/hexdump.c: ... here.
20807
20808 * include/grub/hexdump.h: Renamed to ...
20809
20810 * include/grub/lib/hexdump.h: ... this.
20811
20812 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
20813
20814 * util/grub-editenv.c: Likewise.
20815
20816 * include/envblk.h: Renamed to ...
20817
20818 * include/lib/envblk.h: ... this.
20819
20820 * util/envblk.c: Renamed to ...
20821
20822 * lib/envblk.c: ... this.
20823
20824 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
20825 lib/hexdump.c.
20826 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
20827 (pkglib_MODULES): Add crc.mod.
20828 (hexdump_mod_SOURCES): Add lib/hexdump.c.
20829 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
20830 (crc_mod_SOURCES): New macro.
20831 (crc_mod_CFLAGS): Likewise.
20832 (crc_mod_LDFLAGS): Likewise.
20833
20834 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
20835
20836 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20837
20838 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20839
20840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20841
20842 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20843
c298def0 208442008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 20845
20846 * commands/help.c: Include <grub/term.h>.
20847 (TERM_WIDTH): Removed. Updated all users.
20848
cc349fb3 208492008-07-27 Pavel Roskin <proski@gnu.org>
20850
20851 * util/getroot.c (find_root_device): Rephrase a comment to avoid
20852 spurious warnings about a comment within a comment.
20853
9051607e 208542008-07-25 Robert Millan <rmh@aybabtu.com>
20855
20856 * util/getroot.c (find_root_device): Skip devices that match
20857 /dev/dm-[0-9]. This lets the real device be found for any type of
20858 abstraction (LVM, EVMS, RAID..).
20859 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
20860 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
20861 device is found first, find_root_device() will now skip it.
20862
01453bfc 208632008-07-24 Pavel Roskin <proski@gnu.org>
20864
20865 * include/grub/types.h: Use __builtin_bswap32() and
20866 __builtin_bswap64() with gcc 4.3 and newer.
20867
6af9849f 208682008-07-24 Christian Franke <franke@computer.org>
20869
3a0fa256 20870 * util/i386/pc/grub-install.in: If `--debug' is specified,
20871 pass `--verbose' to grub-setup.
20872 Abort script if make_system_path_relative_to_its_root() fails.
20873
7810e747 208742008-07-24 Bean <bean123ch@gmail.com>
20875
20876 * configure.ac: Fixed a bug caused by the previous cygwin patch,
20877 variable `target_platform' should be `platform'.
20878
42290e17 208792008-07-24 Bean <bean123ch@gmail.com>
20880
51cc5193 20881 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 20882 (grub_png_init_fixed_block): New function.
20883 (grub_png_decode_image_data): Handle fixed huffman code compression.
20884
2a8a80e4 208852008-07-24 Bean <bean123ch@gmail.com>
20886
20887 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
20888 (grub_pe2elf_SOURCES): New macro.
20889 (CLEANFILES): Add grub-pe2elf.
20890
20891 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
20892 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
20893 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
20894 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
20895 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
20896 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
20897 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
20898 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
20899 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
20900 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
20901 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
20902 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
20903 (GRUB_PE32_DT_FUNCTION): Likewise.
20904 (GRUB_PE32_REL_I386_DIR32): Likewise.
20905 (GRUB_PE32_REL_I386_REL32): Likewise.
20906 (grub_pe32_symbol): New structure.
20907 (grub_pe32_reloc): Likewise.
20908
20909 * util/grub-pe2elf.c: New file.
20910
20911 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
20912 start symbol in non pc platform.
20913
20914 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
20915
20916 The following patches are from Christian Franke.
20917
20918 * include/grub/dl.h: Remove .previous, gas supports this only
20919 for ELF format.
20920
20921 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
20922 Remove .type, gas supports this only for ELF format.
20923
20924 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
20925 nullbytes in symbol table. This fixes an infinite loop if table is
20926 zero filled.
20927
20928 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
20929 TARGET_IMG_LDFLAGS and EXEEXT.
20930
20931 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
20932 TARGET_IMG_LDFLAGS_AC.
20933 (grub_CHECK_STACK_ARG_PROBE): New function.
20934
20935 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
20936
20937 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
20938
20939 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
20940 to set TARGET_IMG_LD* accordingly.
20941 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
20942 Add call to grub_CHECK_STACK_ARG_PROBE.
20943 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
20944
20945 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
20946
20947 * genmk.rb: Add EXEEXT to CLEANFILES.
20948
12ccdb75 209492008-07-23 Robert Millan <rmh@aybabtu.com>
20950
20951 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
20952 define the codes for arrows and lines used for the menu).
20953 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
20954 as well.
20955
20956 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
20957 fonts, because the latter are too slow.
20958
18eeaf04 209592008-07-21 Bean <bean123ch@gmail.com>
20960
20961 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
20962 a20. Run keyboard test last, as it will cause macbook to halt.
20963
b095e2ad 209642008-07-18 Pavel Roskin <proski@gnu.org>
20965
20966 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
20967 load foreign architecture modules correctly anyway. Keep
20968 support for loading host architecture modules, whether we
20969 compile them or not.
20970
737feb35 209712008-07-17 Pavel Roskin <proski@gnu.org>
20972
3f4ce737 20973 * configure.ac: Use -m32 or -m64 regardless of whether we had to
20974 change target_cpu. The compiler default can mismatch target_cpu
20975 in any case.
20976
4ad2d049 20977 * disk/efi/efidisk.c: Fix format warnings on x86_64.
20978 * kern/efi/efi.c: Likewise.
20979
f6130a12 20980 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
20981 target compiler is functional.
20982 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
20983 are set up.
20984
58393a2d 20985 * configure.ac: Default to efi platform for x86_64-apple. Allow
20986 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
20987 adjustments from the rest, only do them if target is not
20988 explicitly given. Merge other adjustments with the final sanity
20989 check. Remove an extraneous check for supported CPU. Be
20990 specific which CPU and which platform is not supported.
20991
737feb35 20992 * configure.ac: Default to pc platform for x86_64.
20993
546f966a 209942008-07-17 Robert Millan <rmh@aybabtu.com>
20995
20996 Partial LinuxBIOS -> Coreboot rename.
20997
20998 * conf/i386-linuxbios.rmk: Renamed to ...
20999 * conf/i386-coreboot.rmk: ... this.
21000 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21001 * configure.ac: Accept "coreboot" as input platform (but maintain
21002 compatibility with "linuxbios").
21003 * include/grub/i386/linuxbios: Renamed to ...
21004 * include/grub/i386/coreboot: ... this.
21005
20011694 210062008-07-17 Bean <bean123ch@gmail.com>
21007
21008 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21009 (appleldr_mod_SOURCE): New variable.
20011694 21010 (appleldr_mod_CFLAGS): Likewise.
21011 (appleldr_mod_LDFLAGS): Likewise.
21012 (pci_mod_SOURCES): Likewise.
21013 (pci_mod_CFLAGS): Likewise.
21014 (pci_mod_LDFLAGS): Likewise.
21015 (lspci_mod_SOURCES): Likewise.
21016 (lspci_mod_CFLAGS): Likewise.
21017 (lspci_mod_LDFLAGS): Likewise.
21018
21019 * conf/x86_64-efi.rmk: New file.
21020
21021 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21022 macro.
21023 (grub_efidisk_write): Likewise.
21024
21025 * include/efi/api.h (efi_call_0): New macro.
21026 (efi_call_1): Likewise.
21027 (efi_call_2): Likewise.
21028 (efi_call_3): Likewise.
21029 (efi_call_4): Likewise.
21030 (efi_call_5): Likewise.
21031 (efi_call_6): Likewise.
21032
21033 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21034 grub_rescue_cmd_chainloader.
21035
21036 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21037 (grub_pe32_optional_header): Change some fields based on i386 or
21038 x86_64 platform.
21039 (GRUB_PE32_PE32_MAGIC): Likewise.
21040
21041 * include/grub/efi/uga_draw.h: New file.
21042
21043 * include/grub/elf.h (STN_ABS): New constant.
21044 (R_X86_64_NONE): Relocation constant for x86_64.
21045 (R_X86_64_64): Likewise.
21046 (R_X86_64_PC32): Likewise.
21047 (R_X86_64_GOT32): Likewise.
21048 (R_X86_64_PLT32): Likewise.
21049 (R_X86_64_COPY): Likewise.
21050 (R_X86_64_GLOB_DAT): Likewise.
21051 (R_X86_64_JUMP_SLOT): Likewise.
21052 (R_X86_64_RELATIVE): Likewise.
21053 (R_X86_64_GOTPCREL): Likewise.
21054 (R_X86_64_32): Likewise.
21055 (R_X86_64_32S): Likewise.
21056 (R_X86_64_16): Likewise.
21057 (R_X86_64_PC16): Likewise.
21058 (R_X86_64_8): Likewise.
21059 (R_X86_64_PC8): Likewise.
21060
21061 * include/grub/i386/efi/pci.h: New file.
21062
21063 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21064 Change it value based on platform.
21065 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21066 (GRUB_E820_RAM): Likewise.
21067 (GRUB_E820_RESERVED): Likewise.
21068 (GRUB_E820_ACPI): Likewise.
21069 (GRUB_E820_NVS): Likewise.
21070 (GRUB_E820_EXEC_CODE): Likewise.
21071 (GRUB_E820_MAX_ENTRY): Likewise.
21072 (grub_e820_mmap): New structure.
21073 (linux_kernel_header): Change the efi field according to different
21074 kernel version, also field from linux_kernel_header.
21075
21076 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21077
21078 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21079 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21080 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21081 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21082 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21083 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21084 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21085 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21086 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21087 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21088
21089 * include/grub/x86_64/efi/kernel.h: New file.
21090
21091 * include/grub/x86_64/efi/loader.h: Likewise.
21092
21093 * include/grub/x86_64/efi/machine.h: Likewise.
21094
21095 * include/grub/x86_64/efi/pci.h: Likewise.
21096
21097 * include/grub/x86_64/efi/time.h: Likewise.
21098
21099 * include/grub/x86_64/linux.h: Likewise.
21100
21101 * include/grub/x86_64/setjmp.h: Likewise.
21102
21103 * include/grub/x86_64/time.h: Likewise.
21104
21105 * include/grub/x86_64/types.h: Likewise.
21106
21107 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21108 GRUB_TARGET_SIZEOF_VOID_P.
21109
21110 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21111 (grub_efi_locate_handle): Likewise.
21112 (grub_efi_open_protocol): Likewise.
21113 (grub_efi_set_text_mode): Likewise.
21114 (grub_efi_stall): Likewise.
21115 (grub_exit): Likewise.
21116 (grub_reboot): Likewise.
21117 (grub_halt): Likewise.
21118 (grub_efi_exit_boot_services): Likewise.
21119 (grub_get_rtc): Likewise.
21120
21121 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21122 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21123 (grub_efi_allocate_pages): Wrap efi calls.
21124 (grub_efi_free_pages): Wrap efi calls.
21125 (grub_efi_get_memory_map): Wrap efi calls.
21126
21127 * kern/x86_64/dl.c: New file.
21128
21129 * kern/x86_64/efi/callwrap.S: Likewise.
21130
21131 * kern/x86_64/efi/startup.S: Likewise.
21132
21133 * loader/efi/appleloader.c: Likewise.
21134
21135 * loader/efi/chainloader.c (cmdline): New variable.
21136 (grub_chainloader_unload): Wrap efi calls.
21137 (grub_chainloader_boot): Likewise.
21138 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21139 command line.
21140
21141 * loader/efi/chainloader_normal.c (chainloader_command):
21142 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21143 command line.
21144
21145 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21146 method.
21147 (grub_e820_add_region): New function.
21148 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21149 booting.
21150 (grub_find_video_card): New function.
21151 (grub_linux_setup_video): New function.
21152 (grub_rescue_cmd_linux): Probe for video information.
21153
21154 * normal/x86_64/setjmp.S: New file.
21155
21156 * term/efi/console.c (map_char): New function.
21157 (grub_console_putchar): Map unicode char.
21158 (grub_console_checkkey): Wrap efi calls.
21159 (grub_console_getkey): Likewise.
21160 (grub_console_getwh): Likewise.
21161 (grub_console_gotoxy): Likewise.
21162 (grub_console_cls): Likewise.
21163 (grub_console_setcolorstate): Likewise.
21164 (grub_console_setcursor): Likewise.
21165
21166 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21167
59652a20 211682008-07-16 Pavel Roskin <proski@gnu.org>
21169
ef294055 21170 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21171 format strings.
21172
59652a20 21173 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21174 pointer, not an integer. This fixes a warning and prevents
21175 precision loss on 64-bit systems.
21176 (relocate_addresses): Remove unneeded cast.
21177
afc3b5d7 211782008-07-15 Pavel Roskin <proski@gnu.org>
21179
506b2b3e 21180 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21181
62ead89c 21182 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21183
c4cd51d7 21184 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21185 Fix comparison between signed and unsigned.
21186
0d3d8f28 21187 * include/grub/i386/ieee1275/console.h: Declare
21188 grub_console_init() and grub_console_fini().
21189
8804b286 21190 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21191 It's empty and unused.
21192
ee01cf35 21193 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21194 beginning to avoid warnings with some compilers.
21195
afc3b5d7 21196 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21197 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21198
e4e8eaa5 211992008-07-14 Pavel Roskin <proski@gnu.org>
21200
407aceb4 21201 * kern/env.c (grub_register_variable_hook): Don't copy empty
21202 string, it leaks memory. Pass "" to grub_env_set(), it should
21203 handle constant strings.
21204
e4e8eaa5 21205 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21206 * commands/cmp.c (grub_cmd_cmp): Likewise.
21207 * kern/dl.c (grub_dl_flush_cache): Likewise.
21208 (grub_dl_load_core): Likewise.
21209 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21210 (grub_elf64_load_phdrs): Likewise.
21211
d4e2dad3 212122008-07-13 Pavel Roskin <proski@gnu.org>
21213
21214 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
21215 between signed and unsigned.
21216 (LzmaEnc_Finish): Fix warning about an unused parameter.
21217
aa24b516 212182008-07-13 Bean <bean123ch@gmail.com>
21219
21220 * Makefile.in (enable_lzo): New rule.
21221
21222 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
21223
21224 * configure.ac (ENABLE_LZO): New option --enable-lzo.
21225
21226 * boot/i386/pc/lnxboot.S: #include <config.h>.
21227
21228 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 21229 its value according to the compression algorithm used, lzo or lzma.
aa24b516 21230
21231 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
21232 compression algorithm according to configure macro.
21233
21234 * kern/i386/pc/startup.S (codestart): Likewise.
21235
21236 * kern/i386/pc/lzma_decode.S: New file.
21237
21238 * include/grub/lib/LzFind.h: Likewise.
21239
21240 * include/grub/lib/LzHash.h: Likewise.
21241
21242 * include/grub/lib/LzmaDec.h: Likewise.
21243
21244 * include/grub/lib/LzmaEnc.h: Likewise.
21245
21246 * include/grub/lib/LzmaTypes.h: Likewise.
21247
21248 * lib/LzFind.c: Likewise.
21249
21250 * lib/LzmaDec.c: Likewise.
21251
21252 * lib/LzmaEnc.c: Likewise.
21253
4ae821ac 212542008-07-13 Bean <bean123ch@gmail.com>
21255
21256 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
21257 (grub_ext4_extent_header): New structure.
21258 (grub_ext4_extent): Likewise.
21259 (grub_ext4_extent_idx): Likewise.
21260 (grub_ext4_find_leaf): New function.
21261 (grub_ext2_read_block): Handle extents.
21262
9a745147 212632008-07-12 Robert Millan <rmh@aybabtu.com>
21264
21265 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
21266
d49a4cf6 212672008-07-11 Robert Millan <rmh@aybabtu.com>
21268
21269 * util/grub.d/40_custom.in: New file. Example on how to add custom
21270 entries to /etc/grub.d.
21271 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
21272 40_custom (implicitly, by merging all the grub.d rules).
21273
947414b4 212742008-07-11 Pavel Roskin <proski@gnu.org>
21275
0059cf6f 21276 * commands/read.c (grub_getline): Fix invalid memory access.
21277 Don't add newline to the variable value.
21278
947414b4 21279 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
21280 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
21281 (serial_hw_get_port): Check validity of the port number.
21282 (grub_cmd_serial): Check return value of serial_hw_get_port().
21283
62a02d00 212842008-07-07 Pavel Roskin <proski@gnu.org>
21285
21286 * boot/i386/pc/diskboot.S (notification_string): Replace
21287 "Loading kernel" with just "loading". This is shorter, less
21288 confusing and saves a few bytes for possible future changes.
21289
3e5581b0 212902008-07-05 Pavel Roskin <proski@gnu.org>
21291
ea387a48 21292 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
21293 size for ATAPI devices, they are undefined. Output sector
21294 number in decimal form.
21295
3e5581b0 21296 * disk/ata.c: Use named constants for status bits.
21297
fdecb8fd 212982008-07-04 Pavel Roskin <proski@gnu.org>
21299
bcd35b90 21300 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
21301 grub_addr_t before casting it to the void pointer to fix a
21302 warning. Non-addressable regions are discarded earlier.
21303 (grub_arch_modules_addr): Cast _end to grub_addr_t.
21304 * kern/i386/linuxbios/table.c: Include grub/misc.h.
21305 (check_signature): Don't shadow table_header.
21306 (grub_linuxbios_table_iterate): Cast numeric constants to
21307 grub_linuxbios_table_header_t.
21308 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
21309 grub_stop().
21310
af58ab3d 21311 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
21312 prevent warnings.
21313
1759aa57 21314 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
21315 pointer, which can cause warnings. Support 64-bit addresses.
21316
fdecb8fd 21317 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
21318 of sizeof(long). This fixes PowerPC image generation on x86_64.
21319
8516d2a8 213202008-07-04 Robert Millan <rmh@aybabtu.com>
21321
21322 This fixes a performance issue when pc & gpt partmap iterators
21323 didn't abort iteration even after our hook found what it was
fe987087 21324 looking for (often causing expensive probes of non-existent drives).
8516d2a8 21325
21326 Some callers relied on previous buggy behaviour, since they would
34c44600 21327 raise an error when their own hooks caused early abortion of its
8516d2a8 21328 iteration.
21329
21330 * kern/device.c (grub_device_open): Improve error message.
21331 * disk/lvm.c (grub_lvm_open): Likewise.
21332 * disk/raid.c (grub_raid_open): Likewise.
21333
21334 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
21335 when hook requests it, independently of grub_errno.
21336 (pc_partition_map_probe): Do not fail when find_func() caused
21337 early abortion of pc_partition_map_iterate().
21338
21339 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
21340 when hook requests it, independently of grub_errno.
21341 (gpt_partition_map_probe): Do not fail when find_func() caused
21342 early abortion of gpt_partition_map_iterate().
21343
21344 * kern/partition.c (grub_partition_iterate): Abort parent iteration
21345 when hook requests it, independently of grub_errno. Do not fail when
21346 part_map_iterate_hook() caused early abortion of p->iterate().
21347
21348 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
21349 when grub_partition_iterate() returned with non-zero.
21350
277d0de9 213512008-07-03 Pavel Roskin <proski@gnu.org>
21352
21353 * disk/ata.c (grub_ata_pio_write): Check status before writing,
21354 like we do in grub_ata_pio_read().
21355 (grub_ata_readwrite): Always write individual sectors. Fix the
21356 sector count for the remainder.
21357 (grub_ata_write): Enable writing to ATA devices. Correctly
21358 report error for ATAPI devices.
21359
d4c9b428 213602008-07-02 Pavel Roskin <proski@gnu.org>
21361
e43fc690 21362 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
21363 warning.
21364
f707af42 21365 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
21366 for every read sector, we already increment it for the whole
21367 batch. This fixes reading more than 256 sectors at once.
21368
11e16b15 21369 * util/grub-editenv.c (cmd_info): Cast argument to long
21370 explicitly. ptrdiff_t reduces to int on i386.
21371
cbabfdd4 21372 * util/grub-editenv.c (main): Be specific which parameter is
21373 missing.
21374
b8fbce0a 21375 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
21376 (memdisk): Make memdisk_orig_addr a pointer.
21377
c9c8e606 21378 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
21379 for file offsets, use grub_off_t instead. Fix printf format
21380 warnings.
21381
ca62e598 21382 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
21383 there. Real unexpected warnings should not drown in the noise
21384 about known problems.
21385
ce8d1766 21386 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
21387 grub_disk_addr_t for memory addresses.
21388
00c7a56a 21389 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
21390 explicitly to fix a warning.
21391
08d3ef09 21392 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
21393
cb71ba20 21394 * Makefile.in (MODULE_LDFLAGS): New variable.
21395 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
21396 the linker accepts --build-id=none.
21397 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
21398 MODULE_LDFLAGS.
21399 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
21400
d4c9b428 21401 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
21402 those in Linux XFS code. Provide a way to access 64-bit parent
21403 inode.
21404 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
21405 the end of struct grub_xfs_dir_header.
21406
d4156eee 214072008-07-02 Bean <bean123ch@gmail.com>
21408
21409 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
21410 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21411 and GRUB_IEEE1275_FLAG_NO_ANSI.
21412
21413 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
21414 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
21415 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
21416
21417 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
21418 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
21419
21420 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
21421 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
21422
21423 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
21424 esc sequence on non ANSI terminal.
21425 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
21426
21427 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
21428 beginning of file.
21429
2270f77b 214302008-07-02 Bean <bean123ch@gmail.com>
21431
21432 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
21433 (grub_editenv_SOURCES): New variable.
21434 (pkglib_MODULES): Add loadenv.mod.
21435 (loadenv_mod_SOURCES): New variable.
21436 (loadenv_mod_CFLAGS): Likewise.
21437 (loadenv_mod_LDFLAGS): Likewise.
21438
21439 * include/grub/envblk.h: New file.
21440
21441 * util/envblk.c: New file.
21442
21443 * util/grub-editenv.c: New file.
21444
21445 * commands/loadenv.c: New file.
21446
0e9e51ec 214472008-07-01 Pavel Roskin <proski@gnu.org>
21448
d89b7634 21449 * include/multiboot2.h (struct multiboot_tag_module): Use char,
21450 not unsigned char. This fixes warnings and is consistent with
21451 other tags.
21452
bf1835b1 21453 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
21454
8222a04b 21455 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
21456
6a42d99d 21457 * term/tparm.c (analyze): Always set *popcount.
21458
10b159d1 21459 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
21460 cast to fix a warning.
21461
b8789f6c 21462 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
21463 cast to suppress a warning.
21464
29d7e38a 21465 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
21466 grub_fshelp_read_file() expects.
21467
f341f669 21468 * fs/fat.c: Fix UUID calculation on big-endian systems. We
21469 write uuid as a 32-bit value in CPU byte order, so declare and
21470 use it as such.
21471
0e9e51ec 21472 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
21473 long if the format specifier expects it.
21474 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
21475 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21476 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
21477 long to fix a warning.
21478 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
21479 grub_dprintf() arguments to fix warnings.
21480
3aefa857 214812008-06-30 Pavel Roskin <proski@gnu.org>
21482
56c7668b 21483 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
21484 install_bsd_part immediately before core.img is embedded or
21485 modified on disk. This fixes core.img verification if core.img
21486 cannot be embedded.
21487
3aefa857 21488 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
21489 core_path to calculate the blocklist.
21490 Patch from Javier Martín <lordhabbit@gmail.com>
21491
5444088d 214922008-06-29 Robert Millan <rmh@aybabtu.com>
21493
21494 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
21495 block to disk block.
21496 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
21497 Patch from Niels Böhm <bitbucket@arcor.de>
21498
674835c8 214992008-06-29 Robert Millan <rmh@aybabtu.com>
21500
21501 * util/update-grub_lib.in (font_path): Search for fonts in
21502 /boot/grub first, which is more likely to be readable (we aren't
21503 deciding where fonts live, just looking for them).
21504
f527dbc8 215052008-06-26 Pavel Roskin <proski@gnu.org>
21506
6c2d8df6 21507 * util/biosdisk.c (read_device_map): Don't leave dead map
21508 entries for devices failing stat() check.
21509
f527dbc8 21510 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
21511 core_path_dev for the core.img path on the target device.
21512
aebe3d13 215132008-06-26 Robert Millan <rmh@aybabtu.com>
21514
21515 * disk/fs_uuid.c: New file.
21516 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
21517 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
21518 (fs_uuid_mod_LDFLAGS): New variables.
21519 * include/grub/disk.h (grub_disk_dev_id): Add
21520 `GRUB_DISK_DEVICE_UUID_ID'.
21521 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
21522 implement iterate().
21523
37aaf354 215242008-06-26 Robert Millan <rmh@aybabtu.com>
21525
21526 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
21527 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
21528 Linux image includes no initrd.
21529
25ff262a 215302008-06-21 Javier Martín <lordhabbit@gmail.com>
21531
21532 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
21533 call to resolve the core image location that effectively appended the
21534 name twice.
21535
76a2bd44 215362008-06-21 Robert Millan <rmh@aybabtu.com>
21537
21538 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
21539 call from here ...
21540
21541 * util/grub.d/10_hurd.in: ... to here ...
21542 * util/grub.d/10_linux.in: ... and here.
21543
650e1c79 215442008-06-19 Robert Millan <rmh@aybabtu.com>
21545
fe987087 21546 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 21547 after it has been set by grub_machine_set_prefix().
21548
6ce63911 215492008-06-19 Robert Millan <rmh@aybabtu.com>
21550
21551 * commands/search.c (search_label, search_fs_uuid, search_file): Print
21552 search result when not saving to variable, not the other way around.
21553 When saving to variable, abort iteration as soon as a match is found.
21554
73940cec 215552008-06-19 Robert Millan <rmh@aybabtu.com>
21556
21557 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
21558 check for partition that provides /boot/grub. Its logic is flawed,
21559 as it prevents prepare_grub_to_access_device() from being called
21560 multiple times.
21561
3c62a39d 215622008-06-19 Robert Millan <rmh@aybabtu.com>
21563
21564 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
21565 "insmod" command directly when abstraction modules are needed,
fe987087 21566 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 21567 since it had already been processed).
21568
47395a42 215692008-06-19 Pavel Roskin <proski@gnu.org>
21570
21571 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
21572 changed. This is needed in case GRUB_LIBDIR changes.
21573 * conf/i386-ieee1275.rmk: Likewise.
21574 * conf/i386-linuxbios.rmk: Likewise.
21575 * conf/i386-pc.rmk: Likewise.
21576 * conf/powerpc-ieee1275.rmk: Likewise.
21577
a145ac2d 215782008-06-18 Pavel Roskin <proski@gnu.org>
21579
21580 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
21581 kernel_elf_symlist.c to symlist.c for consistency with other
21582 architectures. Update all users.
21583 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21584
7847c51e 215852008-06-18 Robert Millan <rmh@aybabtu.com>
21586
21587 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
21588 it in prefix.
21589
21590 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
21591 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
21592 a RAID device, run setup() for all members independently on whether
21593 LVM abstraction is being used.
21594 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
21595 If grub-mkimage has set `*install_dos_part == -2', don't override this
21596 value.
21597 Perform *install_dos_part adjustments independently on whether
21598 we're embedding or not.
21599 Clarify error message when image is too big for embedding.
21600 Remove duplicate *install_dos_part stanza.
21601
b23e5644 216022008-06-17 Robert Millan <rmh@aybabtu.com>
21603
21604 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
21605 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
21606 variables.
21607 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
21608 values in grub_ofconsole_normal_color and
21609 grub_ofconsole_highlight_color (they're not directly related to
21610 background and foreground).
21611 (grub_ofconsole_setcolorstate): Extract background and foreground
21612 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
21613
0aac2f79 216142008-06-17 Robert Millan <rmh@aybabtu.com>
21615
21616 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
21617 /boot/grub for the check in last commit, not /boot (they could be
21618 different partitions).
21619
3cca7ef3 216202008-06-16 Robert Millan <rmh@aybabtu.com>
21621
21622 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
21623 asked to setup access for the same partition that provides /boot,
21624 don't bother using UUIDs since our root already has the value we
21625 want.
21626
347396d8 216272008-06-16 Robert Millan <rmh@aybabtu.com>
21628
21629 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
21630 I2O devices.
21631 Patch from Sven Mueller <sven@debian.org>.
21632
991477f8 216332008-06-16 Robert Millan <rmh@aybabtu.com>
21634
21635 * util/update-grub.in: Check for $EUID instead of $UID.
21636 Reported by Vincent Zweije.
21637
d31a32a1 216382008-06-16 Bean <bean123ch@gmail.com>
21639
fe987087 21640 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 21641 (grub_ext2_read_block): Likewise.
21642 (grub_ext2_read_inode): Likewise.
21643 (grub_ext2_mount): Likewise.
21644 (grub_ext2_close): Likewise.
21645 (grub_ext3_get_journal): Removed.
21646
fe987087 21647 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 21648 (grub_reiserfs_read_symlink): Likewise.
21649 (grub_reiserfs_mount): Likewise.
21650 (grub_reiserfs_open): Likewise.
21651 (grub_reiserfs_read): Likewise.
21652 (grub_reiserfs_close): Likewise.
21653 (grub_reiserfs_get_journal): Removed.
21654
21655 * fs/fshelp.c (grub_fshelp_read): Removed.
21656 (grub_fshelp_map_block): Likewise.
21657
21658 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
21659 (grub_fshelp_journal): Likewise.
21660 (grub_fshelp_read): Likewise.
21661 (grub_fshelp_map_block): Likewise.
21662
3540a760 216632008-06-16 Pavel Roskin <proski@gnu.org>
21664
21665 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
21666 floating point anymore.
21667 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
21668
95614c84 216692008-06-15 Pavel Roskin <proski@gnu.org>
21670
21671 * commands/ls.c (grub_ls_list_files): Use integer calculations
21672 for human readable format, avoid floating point use.
21673 * kern/misc.c (grub_ftoa): Remove.
21674 (grub_vsprintf): Remove floating point support.
21675
50465dd6 216762008-06-15 Robert Millan <rmh@aybabtu.com>
21677
fe6b695a 21678 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 21679 devices.
21680 Reported by Max Vozeler.
21681
a9207284 216822008-06-15 Robert Millan <rmh@aybabtu.com>
21683
21684 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
21685 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
21686 skipped later.
21687 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
21688 the beginning of the prefix.
21689
21690 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
21691 It is assumed that if we have a memdisk, grub-mkimage has set
21692 grub_prefix to include the "(memdisk)" drive in it.
21693
a7cbd45a 216942008-06-15 Robert Millan <rmh@aybabtu.com>
21695
21696 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
21697 Initialize keyboard controller after registering the terminal, so that
21698 grub_printf() can be called from grub_keyboard_controller_init().
21699
21cf716a 217002008-06-15 Robert Millan <rmh@aybabtu.com>
21701
21702 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
21703 extent-btree which is written as big endian on disk.
21704 Reported by Alain Greppin <al@chilibi.org>.
21705
23a64d8e 217062008-06-14 Robert Millan <rmh@aybabtu.com>
21707
21708 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
21709 * util/i386/pc/grub-install.in (modules): Likewise.
21710
d687651c 217112008-06-13 Pavel Roskin <proski@gnu.org>
21712
21713 * commands/ls.c (grub_ls_list_files): Fix format warnings.
21714
dfe9ddd4 217152008-06-13 Bean <bean123ch@gmail.com>
21716
21717 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
21718
21719 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
21720
21721 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
21722 to indicate sparse block.
21723
16ae7781 217242008-06-12 Pavel Roskin <proski@gnu.org>
21725
e6d1a308 21726 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
21727 number, grub_fshelp_read() does it for us.
21728
16ae7781 21729 * fs/fshelp.c (grub_fshelp_read): New function. Implement
21730 linear disk read with journal translation.
21731 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
21732 * include/grub/fshelp.h: Declare grub_fshelp_read().
21733
40fd3a2b 217342008-06-09 Pavel Roskin <proski@gnu.org>
21735
21736 * fs/minix.c (grub_minix_mount): Handle error reading
21737 superblock.
21738
f5679726 217392008-06-08 Robert Millan <rmh@aybabtu.com>
21740
21741 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
21742 don't append the RAID prefix afterwards.
21743 Reported by Clint Adams.
21744
ce525529 217452008-06-08 Robert Millan <rmh@aybabtu.com>
21746
21747 Based on description from Pavel:
21748 * kern/disk.c (grub_disk_check_range): Rename to ...
21749 (grub_disk_adjust_range): ... this. Add a comment explaining the
21750 tasks performed by this function.
21751
ad4936a0 217522008-06-08 Robert Millan <rmh@aybabtu.com>
21753
21754 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
21755 `num_serial' (for consistency with other variables).
21756 (struct grub_ntfs_data): Add `uuid' member.
21757 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
21758 (grub_ntfs_uuid): New function.
21759 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
21760
dc20b0f9 217612008-06-07 Pavel Roskin <proski@gnu.org>
21762
21763 * util/biosdisk.c (open_device): Revert last change to the
21764 function, it broke installation. The sector needs to be
21765 different dependent on which device is opened.
21766
c5e3cfba 217672008-06-06 Robert Millan <rmh@aybabtu.com>
21768
21769 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
21770 rest of GRUB, and breakage doesn't happen if its value were modified.
21771
21772 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21773 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
21774 a constant (same value).
21775 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
21776 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
21777
26a1f8c4 217782008-06-06 Robert Millan <rmh@aybabtu.com>
21779
21780 * util/biosdisk.c (open_device): Do not modify sector offset when
21781 accessing a partition. kern/disk.c already handles this for us.
21782
25d6b327 217832008-06-06 Robert Millan <rmh@aybabtu.com>
21784
21785 * util/grub-emu.c (grub_machine_init): Move code in this function from
21786 here ...
21787 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
21788 segfault in case grub_printf() is called).
21789
21790 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
21791 grub_probe. Update all users not to explicitly add it again.
21792 (grub_device): New variable; contains corresponding device for grubdir.
21793 (fs_module, partmap_module, devabstraction_module): Pass
21794 `--device ${grub_device}' to grub_probe to avoid traversing /dev
21795 every time.
21796
9ece62fb 217972008-06-05 Robert Millan <rmh@aybabtu.com>
21798
21799 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
21800 is found, print it (same layout as with labels).
21801
1ad36d37 218022008-06-04 Robert Millan <rmh@aybabtu.com>
21803
21804 * util/biosdisk.c (get_drive): Rename to ...
21805 (find_grub_drive): ... this. Update all users.
21806
21807 (get_os_disk): Rename to ...
21808 (convert_system_partition_to_system_disk): ... this. Update all users.
21809
21810 (find_drive): Rename to ...
21811 (find_system_device): ... this. Update all users.
21812
e6a30859 218132008-06-04 Robert Millan <rmh@aybabtu.com>
21814
21815 * util/biosdisk.c (get_os_disk): Handle IDA devices.
21816 * util/grub-mkdevicemap.c (get_mmc_disk_name)
21817 (make_device_map): Likewise.
21818
00c108a4 218192008-06-01 Robert Millan <rmh@aybabtu.com>
21820
21821 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
21822 before dereferencing it.
21823
21824 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
21825 union with fat12/fat16-specific ones. Add some new fields, including
21826 `num_serial' for both versions.
21827 (struct grub_fat_data): Add `uuid' member.
21828 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
21829 names. Initialize `data->uuid' using `num_serial'.
21830 (grub_fat_uuid): New function.
21831 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
21832
21833 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
21834 (grub_reiserfs_uuid): New function.
21835 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
21836 member.
21837
21838 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
21839 (grub_xfs_uuid): New function.
21840 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
21841
1385c5bb 218422008-06-01 Robert Millan <rmh@aybabtu.com>
21843
21844 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
21845 code that is backward compatible with pre-uuid search command.
21846
c682dfd7 218472008-05-31 Robert Millan <rmh@aybabtu.com>
21848
21849 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
21850 floppies after everything else, to ensure floppy drive isn't accessed
21851 unnecessarily (patch from Bean).
21852
b7db5d47 218532008-05-31 Robert Millan <rmh@aybabtu.com>
21854
21855 * commands/search.c (search_label, search_fs_uuid, search_file): Do
21856 not print device names when we were asked to set a variable.
21857
6e037aa9 218582008-05-31 Robert Millan <rmh@aybabtu.com>
21859
21860 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
21861 using "cursor-on" and "cursor-off" commands (understood at least by
21862 the Open Firmware flavour on OLPC).
21863
41305bc8 218642008-05-31 Michael Gorven <michael@gorven.za.net>
21865
21866 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
21867 on and off sequences.
21868
69ba137e 218692008-05-31 Robert Millan <rmh@aybabtu.com>
21870
21871 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
21872 * util/update-grub.in: Likewise.
21873
520ae21b 218742008-05-30 Pavel Roskin <proski@gnu.org>
21875
21876 * util/biosdisk.c (linux_find_partition): Simplify logic and
21877 make the code more universal. Keep special processing for
21878 devfs, but use a simple rule for all other devices. If the
21879 device ends with a number, append 'p' and the partition number.
21880 Otherwise, append only the partition number.
21881
5786569b 218822008-05-30 Robert Millan <rmh@aybabtu.com>
21883
21884 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
21885 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
21886 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
21887 the `root' parameter to Linux.
21888
51500452 218892008-05-30 Robert Millan <rmh@aybabtu.com>
21890
21891 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
21892 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
21893 --fs_uuid with --fs-uuid.
21894 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
21895 all filesystems support them).
21896
811d3878 218972008-05-30 Robert Millan <rmh@aybabtu.com>
21898
21899 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 21900 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 21901
cab63c95 219022008-05-30 Robert Millan <rmh@aybabtu.com>
21903
21904 * util/grub.d/00_header.in: Remove obsolete comment referencing
21905 convert_system_path_to_grub_path().
21906 * util/update-grub.in: Likewise.
21907 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
21908 (convert_system_path_to_grub_path): Add a warning message explaining
21909 that this function is deprecated. Rely on is_path_readable_by_grub()
21910 for the readability checks.
21911 (font_path): Use is_path_readable_by_grub() for the readability
21912 check rather than convert_system_path_to_grub_path().
21913
972e2f7a 219142008-05-30 Robert Millan <rmh@aybabtu.com>
21915
21916 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
21917 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
21918 converting it first.
21919 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
21920 grub.cfg for access to font file, and afterwards call it again to set
21921 the root device.
21922
62191274 219232008-05-30 Robert Millan <rmh@aybabtu.com>
21924
21925 * commands/search.c (options): Add --fs_uuid option.
21926 (search_fs_uuid): New function.
21927 (grub_cmd_search): Fix --set argument passing.
21928 Use search_fs_uuid() when requested via --fs_uuid.
21929 (grub_search_init): Update help message.
21930 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
21931 and redeclare it as an array of 16-bit words.
21932 (grub_ext2_uuid): New function.
21933 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
21934 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
21935 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
21936 (GRUB_DEVICE_BOOT_UUID): New variables.
21937 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
21938 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
21939 whenever possible.
21940 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
21941 just assume `root' variable has the right value.
21942 * util/grub.d/10_linux.in: Likewise.
21943 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
21944 via PRINT_FS_UUID.
21945 (main): Recognise `-t fs_uuid' argument.
21946
01b73ec8 219472008-05-30 Robert Millan <rmh@aybabtu.com>
21948
21949 * util/biosdisk.c (map): Redefine structure to hold information
21950 about GRUB drive name.
fe6b695a 21951 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 21952 drive names.
21953 (call_hook): Remove.
21954 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
21955 member. Assume drive has partitions.
21956 (grub_util_biosdisk_open): Access device names via `.device' struct
21957 member.
21958 (open_device): Likewise.
21959 (find_drive): Likewise.
21960 (read_device_map): Adjust map[] usage to match the new struct
21961 definition. Don't check for duplicates (still possible, but not cheap
21962 anymore).
21963 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
21964 (make_device_name): Remove assumption of BIOS-like drive names.
21965
22f16596 219662008-05-30 Pavel Roskin <proski@gnu.org>
21967
21968 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
21969 compiling execute.c doesn't need grub_script.tab.h anymore.
21970 (normal/command.c_DEPENDENCIES): Likewise.
21971 (normal/function.c_DEPENDENCIES): Likewise.
21972 * conf/i386-ieee1275.rmk: Likewise.
21973 * conf/i386-linuxbios.rmk: Likewise.
21974 * conf/i386-pc.rmk: Likewise.
21975 * conf/powerpc-ieee1275.rmk: Likewise.
21976 * conf/sparc64-ieee1275.rmk: Likewise.
21977
528ad8f2 219782008-05-29 Pavel Roskin <proski@gnu.org>
21979
d1dff95d 21980 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
21981 when scanning metadata for volume group name.
21982
528ad8f2 21983 * include/grub/script.h: Don't include grub_script.tab.h. It's
21984 a generated file, which may only be included from the files with
21985 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
21986 use union YYSTYPE, as the later allows forward declaration.
21987 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
21988
47248e08 219892008-05-29 Robert Millan <rmh@aybabtu.com>
21990
21991 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
21992 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
21993 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
21994 (grub_console_checkkey): Add grub_dprintf() call to report unknown
21995 scan codes.
21996
ee632529 219972008-05-29 Robert Millan <rmh@aybabtu.com>
21998
21999 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22000 control key combinations.
22001
eee96e08 220022008-05-29 Robert Millan <rmh@aybabtu.com>
22003
22004 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22005 * util/ieee1275/grub-install.in: ... to here.
22006 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22007 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22008 (grub_install_SOURCES): Likewise.
22009
da9a6a94 220102008-05-29 Robert Millan <rmh@aybabtu.com>
22011
22012 * fs/affs.c: Update copyright year.
22013 * fs/ext2.c: Likewise.
22014 * fs/fshelp.c: Likewise.
22015 * fs/hfsplus.c: Likewise.
22016 * fs/ntfs.c: Likewise.
22017 * fs/xfs.c: Likewise.
22018 * include/grub/fshelp.h: Likewise.
22019 * util/grub-mkdevicemap.c: Likewise.
22020
12e65f3a 220212008-05-28 Robert Millan <rmh@aybabtu.com>
22022
22023 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22024 might need to be fatfs to support some firmware implementations
22025 (e.g. OFW or EFI).
22026
23023641 220272008-05-28 Robert Millan <rmh@aybabtu.com>
22028
22029 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22030 devices.
22031 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22032 (make_device_map): Likewise.
22033
887d2619 220342008-05-20 Bean <bean123ch@gmail.com>
22035
22036 * fs/fshelp.c (grub_fshelp_map_block): New function.
22037 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22038 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22039
22040 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22041 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22042 (grub_fshelp_journal): New structure.
22043 (grub_fshelp_map_block): New function prototype.
22044 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22045 (grub_fshelp_map_block): Likewise.
22046
22047 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22048 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22049 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22050 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22051 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22052 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22053 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22054 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22055 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22056 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22057 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22058 (grub_ext2_sblock): New members for journal support.
22059 (grub_ext3_journal_header): New structure.
22060 (grub_ext3_journal_revoke_header): Likewise.
22061 (grub_ext3_journal_block_tag): Likewise.
22062 (grub_ext3_journal_sblock): Likewise.
22063 (grub_fshelp_node): New members logfile and journal.
22064 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22065 grub_fshelp_map_block to get real block number.
22066 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22067 number.
22068 (grub_ext2_read_inode): Likewise.
22069 (grub_ext3_get_journal): New function.
22070 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22071 (grub_ext2_close): Release memory used by journal.
22072
22073 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22074 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22075 (grub_reiserfs_transaction_header): Renamed to
22076 grub_reiserfs_description_block, replace field data with real_blocks.
22077 (grub_reiserfs_commit_block): New structure.
22078 (grub_reiserfs_data): New member journal.
22079 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22080 number.
22081 (grub_reiserfs_read_symlink): Likewise.
22082 (grub_reiserfs_iterate_dir): Likewise.
22083 (grub_reiserfs_open): Likewise.
22084 (grub_reiserfs_read): Likewise.
22085 (grub_reiserfs_get_journal): New function.
22086 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22087 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22088 using grub_reiserfs_get_journal.
22089 (grub_reiserfs_close): Release memory used by journal.
22090
22091 * fs/affs.c (grub_affs_read_block): Change block type to
22092 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22093
22094 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22095
22096 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22097
22098 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22099
22100 * fs/udf.c (grub_udf_read_block): Change block type to
22101 grub_disk_addr_t. Use type cast to avoid warning.
22102
22103 * fs/xfs.c (grub_xfs_read_block): Likewise.
22104
b7c6bed5 221052008-05-16 Christian Franke <franke@computer.org>
22106
22107 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22108 to ensure that break with ESC will always work.
22109 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22110 Remove ESC from keyboard queue.
22111
eedf167f 221122008-05-16 Christian Franke <franke@computer.org>
22113
22114 * util/biosdisk.c: [__CYGWIN__] Add includes.
22115 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22116 (get_os_disk): Move variable declarations to OS specific
22117 parts to avoid warning.
22118 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22119 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22120 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22121 Cygwin.
22122 * util/getroot.c: [__CYGWIN__] Add includes.
22123 (strip_extra_slashes): Fix "/" case.
22124 [__CYGWIN__] (get_win32_path): New function.
22125 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22126 [__CYGWIN__] (find_root_device): Disable.
22127 [__CYGWIN__] (get_bootsec_serial): New function.
22128 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22129 [__linux__] (grub_guess_root_device): Add early returns to simplify
22130 structure.
22131 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22132 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22133 check for Linux only.
22134
a079699e 221352008-05-15 Bean <bean123ch@gmail.com>
22136
22137 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22138 keyboard hang problem in apple's intel mac.
22139
1cf4059a 221402008-05-09 Robert Millan <rmh@aybabtu.com>
22141
22142 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22143 devices.
22144 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22145 (make_device_map): Likewise.
22146 Reported by Aurelien Jarno <aurel32@debian.org>
22147
ed759390 221482008-05-07 Ian Campbell <ijc@hellion.org.uk>
22149
22150 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22151 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22152 (make_device_map): Output entries for xvd type disks.
22153
b56c4eaa 221542008-05-07 Robert Millan <rmh@aybabtu.com>
22155
22156 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22157 devices.
22158 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22159 (make_device_map): Likewise.
22160 Reported by Roland Dreier <rdreier@cisco.com>
22161
7f8866ed 221622008-05-07 Robert Millan <rmh@aybabtu.com>
22163
22164 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22165 grub_strstr() call. Correct a few mistakes in failure path handling.
22166
b0346e0f 221672008-05-06 Robert Millan <rmh@aybabtu.com>
22168
22169 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22170 Do not print a trailing slash (therefore, the root directory is an
22171 empty string).
22172 (convert_system_path_to_grub_path): Do not remove trailing slash
22173 from make_system_path_relative_to_its_root() output.
22174
22175 * util/i386/pc/grub-install.in: Add trailing slash to output from
22176 make_system_path_relative_to_its_root().
22177
6cf12cbd 221782008-05-06 Robert Millan <rmh@aybabtu.com>
22179
22180 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22181 ensures that output lines aren't intermangled with those sent to
22182 stderr (via grub_util_info()).
22183 * util/grub-probe.c (grub_refresh): Likewise.
22184 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22185
0fbb3117 221862008-05-05 Christian Franke <franke@computer.org>
22187
22188 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22189 Add Cygwin device names.
22190 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22191 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22192 (check_device): Return error instead of success on empty name.
22193 (make_device_map): Move label inside linux specific code to
22194 prevent compiler warning.
22195
8124cdb7 221962008-04-30 Robert Millan <rmh@aybabtu.com>
22197
22198 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22199 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22200 first boot option.
22201 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22202
094c01d0 222032008-04-29 Robert Millan <rmh@aybabtu.com>
22204
22205 * docs/grub.cfg: New file (example GRUB configuration).
22206
f4b1fc02 222072008-04-26 Robert Millan <rmh@aybabtu.com>
22208
329ce2a5 22209 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22210 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
22211 and `disk/ieee1275/nand.c'.
f4b1fc02 22212
25f16ec1 222132008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 22214
25f16ec1 22215 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
22216 i386-linuxbios.
22217
22218 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
22219 change the buffer size to 4096 for cdrom device.
22220
22221 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
22222 and nand.mod.
22223 (_linux_mod_SOURCES): New variable.
22224 (_linux_mod_CFLAGS): Likewise.
22225 (_linux_mod_LDFLAGS): Likewise.
22226 (linux_mod_SOURCES): Likewise.
22227 (linux_mod_CFLAGS): Likewise.
22228 (linux_mod_LDFLAGS): Likewise.
22229 (nand_mod_SOURCES): Likewise.
22230 (nand_mod_CFLAGS): Likewise.
22231 (nand_mod_LDFLAGS): Likewise.
22232
22233 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
22234 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
22235 type property. (nand device in olpc don't have this property)
22236
22237 * include/grub/disk.h (grub_disk_dev_id): New macro
22238 GRUB_DISK_DEVICE_NAND_ID.
22239
22240 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
22241 function prototype.
22242 (grub_rescue_cmd_initrd): Likewise.
22243
22244 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
22245 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
22246 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 22247
25f16ec1 22248 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
22249 GRUB_MACHINE_IEEE1275 is defined.
22250
22251 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
22252 Use NESTED_FUNC_ATTR attribute on the hook parameter.
22253
22254 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
22255 on nested function heap_init.
22256 (grub_upper_mem): New variable for i386-ieee1275.
22257 (grub_get_extended_memory): New function for i386-ieee1275.
22258 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
22259
22260 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
22261 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
22262 property.
f19dbdb7 22263
25f16ec1 22264 * loader/i386/ieee1275/linux.c: New file.
22265
22266 * loader/i386/ieee1275/linux_normal.c: New file.
22267
22268 * disk/ieee1275/nand.c: New file.
22269
e89d61e9 222702008-04-18 Thomas Schwinge <tschwinge@gnu.org>
22271
22272 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
22273 value.
22274 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
22275
602566f6 222762008-04-18 Robert Millan <rmh@aybabtu.com>
22277
22278 Restructures early code path on ieee1275 to unify grub_main() as
22279 the first C function that is executed in every platform.
22280
22281 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
22282 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
22283 cmain().
22284 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
22285 * kern/ieee1275/cmain.c (cmain): Rename to ...
22286 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
22287 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
22288 at the beginning.
22289
57490c2b 222902008-04-18 Robert Millan <rmh@aybabtu.com>
22291
22292 * util/update-grub.in: Fix syntax error when setting
22293 `GRUB_PRELOAD_MODULES'.
22294 Reported by Stephane Chazelas <stephane@artesyncp.com>
22295
1977517d 222962008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
22297
22298 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
22299 section into account, newer toolchains generate unique build ids
22300 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 22301 we want build ids to be preserved
1977517d 22302 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
22303 far from other sections don't cause the raw binary images grow
22304 size
22305
bfb1f1a2 223062008-04-15 Robert Millan <rmh@aybabtu.com>
22307
22308 * disk/lvm.c: Update copyright year.
22309 * kern/misc.c: Likewise.
22310
01979850 223112008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22312
22313 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 22314 there is no memory left for physical volume name.
01979850 22315
0a1150e2 223162008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
22317
22318 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
22319 volume name mapping to support bigger than 9 character names properly.
22320
82ead3fe 223212008-04-13 Robert Millan <rmh@aybabtu.com>
22322
22323 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
22324 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
22325
e54a72f5 223262008-04-13 Christian Franke <franke@computer.org>
22327
22328 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
22329 to create a floppy emulation boot CD when non emulation mode
22330 does not work.
22331 Enable Joliet CD filesystem extension.
22332
9fe86034 223332008-04-13 Robert Millan <rmh@aybabtu.com>
22334
22335 * kern/misc.c (grub_strncat): Fix off-by-one error.
22336 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
22337
22338 * kern/env.c (grub_env_context_close): Clear current context, not
22339 previous one.
22340 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
22341
22342 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
22343
7ceeee39 223442008-04-13 Robert Millan <rmh@aybabtu.com>
22345
22346 Improve robustness when handling LVM.
22347
22348 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 22349 (and leave `*p' unmodified).
7ceeee39 22350 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
22351 through it.
22352 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
22353 iterating through it.
22354 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
22355 through it.
fe6b695a 22356 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 22357 when due) on each grub_lvm_getvalue() or grub_strstr() call.
22358 Don't assume `vg->pvs != NULL' when iterating through it.
22359
58cd3d85 223602008-04-13 Robert Millan <rmh@aybabtu.com>
22361
22362 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
22363 * genmk.rb (partmap): New variable.
22364 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
22365 (#{partmap}): New target rule.
22366 * genpartmaplist.sh: New file.
22367 * Makefile.in (pkglib_DATA): Add partmap.lst.
22368 (partmap.lst): New target rule.
22369 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
22370 modules (including all partition maps), instead of preloading them.
22371
78b51059 223722007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
22373
22374 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
22375 `linux-boot-prober' (if installed) to detect other operating
22376 systems which are installed on the computer and add them to
22377 the boot menu.
22378 * conf/common.rmk: Build and install 30_os-prober.
22379
a91627b4 223802008-04-12 Robert Millan <rmh@aybabtu.com>
22381
22382 * kern/powerpc/ieee1275/init.c: Move from here ...
22383 * kern/ieee1275/init.c: ... to here. Update all users.
22384
22385 * kern/powerpc/ieee1275/cmain.c: Move from here ...
22386 * kern/ieee1275/cmain.c: ... to here. Update all users.
22387
22388 * kern/powerpc/ieee1275/openfw.c: Move from here ...
22389 * kern/ieee1275/openfw.c: ... to here. Update all users.
22390
22391 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
22392 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
22393
322562ea 223942008-04-10 Pavel Roskin <proski@gnu.org>
22395
22396 * configure.ac: Always use "_cv_" in cache variables for
22397 compatibility with Autoconf 2.62.
22398
a02a73c5 223992008-04-07 Robert Millan <rmh@aybabtu.com>
22400
22401 Revert grub/machine/init.h addition by Pavel (since it breaks on
22402 i386-ieee1275 and others):
22403 * util/i386/pc/misc.c: Remove grub/machine/init.h.
22404 * util/powerpc/ieee1275/misc.c: Likewise.
22405
25c024b1 224062008-04-07 Robert Millan <rmh@aybabtu.com>
22407
22408 * util/grub-probe.c (probe): Improve error message.
22409
3cbd2f98 224102008-04-07 Robert Millan <rmh@aybabtu.com>
22411
22412 * util/biosdisk.c (read_device_map): Skip devices that don't exist
22413 (this prevents the presence of a bogus entry from ruining the whole
22414 thing).
22415
87a297bf 224162008-04-06 Pavel Roskin <proski@gnu.org>
22417
36747a62 22418 * util/biosdisk.c: Include grub/util/biosdisk.h.
22419 * util/grub-fstest.c (execute_command): Make static.
22420 * util/grub-mkdevicemap.c (check_device): Likewise.
22421 * util/i386/pc/misc.c: Include grub/machine/init.h.
22422 * util/powerpc/ieee1275/misc.c: Likewise.
22423 * util/lvm.c: Include grub/util/lvm.h.
22424 * util/misc.c: Include grub/kernel.h, grub/misc.h and
22425 grub/cache.h.
22426 * util/raid.c: Include grub/util/raid.h.
22427 (grub_util_getdiskname): Make static.
22428
87a297bf 22429 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
22430 grub_hostfs_fini(), as they are called from grub_init_all() and
22431 grub_fini_all() respectively. This fixes an infinite loop in
22432 grub-fstest due to double registration of hostfs.
22433 Reported by Christian Franke <Christian.Franke@t-online.de>
22434
f6ce7629 224352008-04-05 Pavel Roskin <proski@gnu.org>
22436
22437 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
22438 all 8 functions. Otherwise, probe function 0 only.
22439
070e49e4 224402008-04-04 Pavel Roskin <proski@gnu.org>
22441
8b088a4c 22442 * commands/lspci.c (grub_lspci_iter): Print the bus number
22443 correctly.
22444
4f657021 22445 * commands/lspci.c (grub_pci_classes): Fix typos.
22446 (grub_lspci_iter): Don't print func twice. Print vendor ID
22447 before device ID, as it's normally done.
22448
070e49e4 22449 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
22450 Fix signedness warnings.
22451 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
22452 Likewise.
22453 * util/ieee1275/get_disk_name.c: Include config.h so that
22454 _GNU_SOURCE is defined and getline() is declared. Mark an
22455 unused argument as such. Fix a signedness warning.
22456
ba7328dc 224572008-04-02 Pavel Roskin <proski@gnu.org>
22458
26887f22 22459 * genkernsyms.sh.in: Use more robust assignments for CC and
22460 srcdir. Quote srcdir.
22461 * gensymlist.sh.in: Likewise. Assert at the compile time that
22462 the symbol table is not empty.
22463
ba7328dc 22464 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
22465 * fs/cpio.c (grub_cpio_read): Likewise.
22466
0f582c6b 224672008-04-01 Pavel Roskin <proski@gnu.org>
22468
4b6e1995 22469 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
22470 * disk/host.c (grub_host_open): Likewise.
22471 * disk/loopback.c (grub_loopback_open): Likewise.
22472 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
22473 disk->id as in disk/host.c, not a multi-character constant.
22474
828a2768 22475 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
22476 later is obsolete, potentially dangerous and sets a bad example.
22477 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
22478 * util/misc.c (grub_util_get_image_size): Likewise.
22479
2bb4fb47 22480 * disk/loopback.c (options): Improve help for "--partitions".
22481
0f582c6b 22482 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
22483 options to align them with the short options, e.g. "echo -e".
22484
a33224e0 224852008-03-31 Bean <bean123ch@gmail.com>
22486
22487 * video/reader/png.c (grub_png_data): New member is_16bit and
22488 image_data.
22489 (grub_png_decode_image_header): Detect 16 bit png image.
22490 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
22491 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
22492 (grub_video_reader_png): Release memory occupied by image_data.
22493
22494 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
22495 4096 bytes.
22496 (grub_nfs_mount): Skip the test for sector per cluster.
22497
22498 * include/grub/ntfs.h (MAX_SPC): Removed.
22499
86cb4f54 225002008-03-31 Bean <bean123ch@gmail.com>
22501
22502 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
22503 (grub_probe_SOURCES): Add fs/afs.c.
22504 (grub_fstest_SOURCES): Likewise.
22505 (afs_mod_SOURCES): New variable.
22506 (afs_mod_CFLAGS): Likewise.
22507 (afs_mod_LDFLAGS): Likewise.
22508
22509 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
22510 (grub_emu_SOURCES): Likewise.
22511
22512 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22513
22514 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22515
22516 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22517
22518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22519
22520 * fs/afs.c: New file.
22521
17c74c21 225222008-03-30 Pavel Roskin <proski@gnu.org>
22523
4cb68e89 22524 * disk/host.c: Include grub/misc.h to fix a warning.
22525 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
22526 warnings about implicit declarations.
22527
8790bb04 22528 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
22529 variable.
22530 * include/grub/i386/loader.h: Change declaration of
22531 grub_linux_boot() to match what grub_loader_set() expects.
22532 * util/getroot.c (grub_guess_root_device): Return const char* to
22533 fix a warning.
22534 * util/grub-probe.c (probe): Fix a warning about uninitialized
22535 abstraction_name variable.
22536 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
22537 second argument as unused to fix a warning.
22538
9a3f3296 22539 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
22540 missing grub_error() call.
22541
0ecef90d 22542 * util/update-grub_lib.in: Define datarootdir, since Autoconf
22543 2.60 and newer uses it to define datadir.
22544
0bf6d401 22545 * commands/sleep.c: Fix warning about implicit declaration.
22546 * disk/memdisk.c: Likewise.
22547 * loader/aout.c: Likewise.
22548 * loader/i386/bsd_normal.c: Likewise.
22549 * util/grub-probe.c: Likewise.
22550
7cdacf97 22551 * commands/i386/cpuid.c (has_longmode): Make static.
22552 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
22553 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
22554
17c74c21 22555 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
22556 GDT. This is more robust, as %ds can change.
22557 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
22558 calling real_to_prot().
22559 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
22560
80a3e68b 225612008-03-28 Pavel Roskin <proski@gnu.org>
22562
22563 * kern/i386/pc/startup.S: Assert that uncompressed functions
22564 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
22565 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
22566 code, as they push parts of the code (error handlers) beyond
22567 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
22568 code as correctness and size.
22569
77bcd272 225702008-03-28 Pavel Roskin <proski@gnu.org>
22571
22572 * kern/i386/pc/startup.S
22573 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
22574 data block address to the real mode, keep offset minimal. This
22575 works around a bug in AWARD BIOS on old Athlon systems, which
22576 makes CD detection hang.
22577
c5dfd43b 225782008-03-26 Pavel Roskin <proski@gnu.org>
22579
22580 * normal/color.c (grub_parse_color_name_pair): Make `name' a
22581 const.
22582 * include/grub/normal.h: Add grub_parse_color_name_pair()
22583 declaration.
22584
bf962df2 225852008-03-24 Bean <bean123ch@gmail.com>
22586
22587 * disk/i386/pc/biosdisk.c (cd_start): Removed.
22588 (cd_count): Removed.
22589 (cd_drive): New variable.
22590 (grub_biosdisk_get_drive): Don't check for (cdN) device.
22591 (grub_biosdisk_call_hook): Likewise.
22592 (grub_biosdisk_iterate): Change cdrom detection method.
22593 (grub_biosdisk_open): Replace cd_start with cd_drive.
22594 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
22595 detect cdrom device.
22596
22597 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
22598 Removed.
22599 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
22600 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
22601 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
22602 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
22603 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
22604 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
22605 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
22606 (grub_biosdisk_cdrp): New structure.
22607 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
22608
22609 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
22610
22611 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
22612 device.
22613
22614 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
22615 New function.
22616
68e7fc7a 226172008-03-20 Robert Millan <rmh@aybabtu.com>
22618
22619 Remove 2 TiB limit in ata.mod.
22620 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
22621 (grub_ata_dumpinfo): Print sector count with 0x%llx.
22622 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
22623 grub_uint64_t instead of grub_uint32_t.
22624
38ad2cf5 226252008-03-05 Bean <bean123ch@gmail.com>
22626
22627 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
22628 (grub_multiboot): Set boot device.
22629
22630 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
22631
2b89344e 226322008-03-02 Bean <bean123ch@gmail.com>
22633
22634 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
22635 symlink_buffer.
22636
87a95d1f 226372008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
22638
22639 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
22640 texinfo.tex.
22641
22642 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
22643 modified.
22644
22645 * docs/fdl.texi: New file.
f19dbdb7 22646
87a95d1f 22647 * docs/mdate-sh: New file. Copied from gnulib.
22648 * docs/texinfo.tex: Likewise.
22649
22650 * config.guess: Updated from gnulib.
22651 * install-sh: Likewise.
22652
7dc15d8e 226532008-02-28 Robert Millan <rmh@aybabtu.com>
22654
22655 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
22656 (aout_mod_SOURCES): New variable.
22657 (aout_mod_CFLAGS): Likewise.
22658 (aout_mod_LDFLAGS): Likewise.
22659
22660 * conf/i386-ieee1275.rmk: Likewise.
22661
b00ab696 226622008-02-28 Robert Millan <rmh@aybabtu.com>
22663
22664 * util/update-grub.in: Reorganise terminal validity check. Accept
22665 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
22666 Based on suggestion by Franklin PIAT.
22667
79ca2d78 226682008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
22669
22670 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
22671 function.
22672 * util/getroot.c (grub_util_check_block_device): New function that
22673 returns the given argument if it is a block device and returns NULL else.
22674 * util/grub-probe.c (argument_is_device): New variable.
22675 (probe): Promote device_name from a variable to an argument. Receive
22676 device_name from grub_util_check_block_device() if path is NULL and from
22677 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 22678 (options): Introduce new parameter '-d, --device'.
79ca2d78 22679 (main): Add description of the new parameter to the help screen.
22680 Rename path variable to argument. Set argument_is_device if the '-d'
22681 option is given. Pass argument to probe() depending on
22682 argument_is_device.
22683
0d16e571 226842008-02-24 Bean <bean123ch@gmail.com>
22685
22686 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
22687 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
22688 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
22689 (GRUB_ISO9660_VOLDESC_PART): Likewise.
22690 (GRUB_ISO9660_VOLDESC_END): Likewise.
22691 (grub_iso9660_primary_voldesc): New member escape.
22692 (grub_iso9660_data): New member joliet.
22693 (grub_iso9660_convert_string): New function.
22694 (grub_iso9660_mount): Detect joliet extension.
22695 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
22696 (grub_iso9660_iso9660_label): Likewise.
22697
22698 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
22699 (grub_setup_SOURCES): Add fs/udf.c.
22700 (grub_fstest_SOURCES): Likewise.
22701 (udf_mod_SOURCES): New variable.
22702 (udf_mod_CFLAGS): Likewise.
22703 (udf_mod_LDFLAGS): Likewise.
22704
22705 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
22706 (grub_emu_SOURCES): Likewise.
22707
22708 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22709
22710 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22711
22712 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22713
22714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22715
22716 * fs/udf.c: New file.
22717
8a594a17 227182008-02-24 Robert Millan <rmh@aybabtu.com>
22719
22720 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
22721 (normal/lexer.c_DEPENDENCIES): New variables.
22722 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22723 (normal/lexer.c_DEPENDENCIES): Likewise.
22724 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
22725 (normal/lexer.c_DEPENDENCIES): Likewise.
22726 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
22727 (normal/lexer.c_DEPENDENCIES): Likewise.
22728 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22729 (normal/lexer.c_DEPENDENCIES): Likewise.
22730 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
22731 (normal/lexer.c_DEPENDENCIES): Likewise.
22732
2dc33c03 227332008-02-23 Robert Millan <rmh@aybabtu.com>
22734
22735 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
22736 since they were intended to be in hex. This didn't break previously
22737 because of a bug in gpt_partition_map_iterate() (see below).
22738
22739 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
22740 when checking the validity of GPT header.
22741 Remove `partno', since it always provides the same information as `i'.
22742
f6f4cfb0 227432008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
22744
22745 * include/grub/efi/time.h: Fix a wrong comment.
22746
79ff665f 227472008-02-19 Pavel Roskin <proski@gnu.org>
22748
22749 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
22750 message.
22751
d38e24c2 227522008-02-19 Bean <bean123ch@gmail.com>
22753
22754 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
22755 (aout_mod_SOURCES): New variable.
22756 (aout_mod_CFLAGS): Likewise.
22757 (aout_mod_LDFLAGS): Likewise.
22758 (_bsd_mod_SOURCES): New variable.
22759 (_bsd_mod_CFLAGS): Likewise.
22760 (_bsd_mod_LDFLAGS): Likewise.
22761 (bsd_mod_SOURCES): New variable.
22762 (bsd_mod_CFLAGS): Likewise.
22763 (bsd_mod_LDFLAGS): Likewise.
22764
22765 * include/grub/aout.h: New file.
22766
22767 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
22768
22769 * include/grub/i386/bsd.h: New file.
22770
22771 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
22772 to make it public.
22773
22774 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
22775 function is called, so that it's possible to change it inside the hook.
22776 (grub_elf64_load): Likewise.
22777 (grub_elf_file): Don't close the file if elf header is not found.
22778 (grub_elf_close): Close the file if grub_elf_file fails (The new
22779 grub_elf_file won't close it).
22780 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
22781 (grub_elf64_size): Likewise.
22782
22783 * kern/i386/loader.S (grub_unix_real_boot): New function.
22784
22785 * loader/aout.c: New file.
22786
22787 * loader/i386/bsd.c: New file.
22788
22789 * loader/i386/bsd_normal.c: New file.
22790
22791 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
22792
22793 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 22794 can test other formats.
d38e24c2 22795
b93bdb0f 227962008-02-19 Robert Millan <rmh@aybabtu.com>
22797
22798 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
22799 (grub_gpt_partition_type_empty): Redefine with macro from
22800 `<grub/gpt_partition.h>'.
22801 (gpt_partition_map_iterate): Adjust partition type comparison.
22802
22803 Export `entry' as partmap-specific `part.data' struct.
22804 (grub_gpt_header, grub_gpt_partentry): Move from here ...
22805
22806 * include/grub/gpt_partition.h (grub_gpt_header)
22807 (grub_gpt_partentry): ... to here (new file).
22808
22809 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
22810
22811 (grub_gpt_partition_type_bios_boot): New const variable, defined
22812 with macro from `<grub/gpt_partition.h>'.
22813
22814 (setup): Replace `first_start' with `embed_region', which keeps
22815 track of the embed region (and is partmap-agnostic).
22816
22817 Replace find_first_partition_start() with find_usable_region(),
22818 which finds a usable region for embedding using partmap-specific
22819 knowledge (supports PC/MSDOS and GPT).
22820
22821 Fix all assumptions that the embed region start at sector 1, using
22822 `embed_region.start' from now on. Similarly, use `embed_region.end'
22823 rather than `first_start' to calculate available size.
22824
22825 In grub_util_info() message, replace "into after the MBR" with an
22826 indication of the specific sector our embed region starts at.
22827
66cb40f6 228282008-02-19 Robert Millan <rmh@aybabtu.com>
22829
22830 * DISTLIST: Replace `commands/ieee1275/halt.c' and
22831 `commands/ieee1275/reboot.c' with `commands/halt.c' and
22832 `commands/reboot.c'.
22833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
22834 (halt_mod_SOURCES): Likewise.
22835 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
22836 (halt_mod_SOURCES): Likewise.
22837
b7202015 228382008-02-17 Christian Franke <franke@computer.org>
22839
22840 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
22841
32b0fc49 228422008-02-17 Robert Millan <rmh@aybabtu.com>
22843
22844 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
22845 set `first_start' to 0 for non-PC/MSDOS partition maps.
22846
aca63502 228472008-02-16 Robert Millan <rmh@aybabtu.com>
22848
22849 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
22850 do not assume partition map is PC/MSDOS before performing checks that
22851 are specific to that layout.
22852
0de8be86 228532008-02-13 Robert Millan <rmh@aybabtu.com>
22854
22855 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
22856 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
22857 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
22858
c3db8364 228592008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
22860
22861 * configure.ac: Only a cosmetic change on the handling of
22862 -fno-stack-protector.
22863
f714229e 228642008-02-12 Alexandre Boeglin <alex@boeglin.org>
22865
c3db8364 22866 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
22867 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
22868 reboot.c.
f714229e 22869 (grub_install_SOURCES): Add halt.mod and reboot.mod.
22870 (halt_mod_SOURCES): New variable.
22871 (halt_mod_CFLAGS): Likewise.
22872 (halt_mod_LDFLAGS): Likewise.
22873 (reboot_mod_SOURCES): Likewise.
22874 (reboot_mod_CFLAGS): Likewise.
22875 (reboot_mod_LDFLAGS): Likewise.
22876
c3db8364 22877 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
22878 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
22879 reboot.c.
f714229e 22880 (halt_mod_SOURCES): Likewise.
22881 (reboot_mod_SOURCES): Likewise.
22882
c3db8364 22883 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
22884 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 22885 (reboot_mod_SOURCES): Likewise.
22886
22887 * commands/i386/pc/reboot.c: merge this file ...
22888
22889 * commands/ieee1275/reboot.c: ... and this file ...
22890
22891 * commands/reboot.c: ... to this file.
c3db8364 22892 Add some precompiler directive to include the correct header for
22893 each machine.
f714229e 22894
22895 * commands/ieee1275/halt.c: move this file ...
22896
22897 * commands/halt.c: ... to here.
c3db8364 22898 Add some precompiler directive to include the correct header for
22899 each machine.
f714229e 22900
22901 * include/grub/efi/efi.h (grub_reboot): New function declaration.
22902 (grub_halt): Likewise.
22903
22904 * kern/efi/efi.c (grub_reboot): New function.
22905 (grub_halt): Likewise.
22906
c74493e0 229072008-02-12 Robert Millan <rmh@aybabtu.com>
22908
22909 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
22910 /dev (like it is done for /dev/mapper). This doesn't provide support
22911 for EVMS, but at least it is now easy to identify the problem when it
22912 arises.
22913
d0db4b04 229142008-02-11 Robert Millan <rmh@aybabtu.com>
22915
22916 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
22917 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
22918 comparing it with -1, not 0.
22919
bf748642 229202008-02-10 Robert Millan <rmh@aybabtu.com>
22921
22922 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
22923 `disk/lvm.c'.
22924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22925 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22926
22927 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
22928 `disk/lvm.c' to the end of the list.
22929 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22930 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22931
b5db202a 229322008-02-10 Robert Millan <rmh@aybabtu.com>
22933
22934 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
22935 grub_print_error() instead. This will let user know why we're entering
22936 rescue mode.
22937 Based on suggestions from Sam Morris.
22938
83abee31 229392008-02-10 Alexandre Boeglin <alex@boeglin.org>
22940
22941 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
22942 on remaining N args, instead of "--" arg N times.
22943
78d5a08b 229442008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
22945
22946 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
22947 (fill_with_default_glyph): Changed to use unknown_glyph for fill
22948 pattern for unknown glyphs.
22949
68807e5f 229502008-02-09 Robert Millan <rmh@aybabtu.com>
22951
22952 * configure.ac: Probe for `help2man'.
22953 * Makefile.in (builddir): New variable.
22954 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
22955 or otherwise add a few flags/options to it.
22956 (install-local): For every executable utility or script that is
22957 installed, invoke $(HELP2MAN) to install a manpage based on --help
22958 output.
22959
22960 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
22961 that it doesn't prevent --help from working in build tree.
22962
22963 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
22964 with `bug-grub@gnu.org'.
22965 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
22966 * util/update-grub.in (usage): New function.
22967 Implement proper argument check, with support for --help and --version
22968 (as well as existing -y).
22969
229702008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 22971
22972 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
22973 avoid overwriting previous output.
22974 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
22975
c1962162 229762008-02-09 Robert Millan <rmh@aybabtu.com>
22977
22978 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
22979 drawing the menu.
22980
3dac2e3f 229812008-02-09 Robert Millan <rmh@aybabtu.com>
22982
22983 * commands/sleep.c: New file.
22984 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
22985 (sleep_mod_SOURCES): New variable.
22986 (sleep_mod_CFLAGS): Likewise.
22987 (sleep_mod_LDFLAGS): Likewise.
22988
7a634e08 229892008-02-09 Robert Millan <rmh@aybabtu.com>
22990
22991 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
22992 situations in which we can deduce the RAID size and the superblock
22993 doesn't match it.
22994
b92f0c18 229952008-02-09 Robert Millan <rmh@aybabtu.com>
22996
22997 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
22998 and return a grub_diskmemberlist_t composed of LVM physical volumes.
22999 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23000
23001 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23002 and return a grub_diskmemberlist_t composed of physical array members.
23003 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23004
23005 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23006 prototype.
23007 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23008 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23009 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23010
23011 * util/grub-probe.c (probe): Move partmap probing code from here ...
23012 (probe_partmap): ... to here.
23013 (probe): Use probe_partmap() once for the disk we're probing, and
23014 additionally, when such disk contains a memberlist() struct member,
23015 once for each disk that is contained in the structure returned by
23016 memberlist().
23017
91a4bf68 230182008-02-09 Robert Millan <rmh@aybabtu.com>
23019
23020 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23021 environment variable to 'all' in order to obtain debug output from
23022 non-util/ code.
23023 * util/i386/pc/grub-setup.c (main): Likewise.
23024
a96f9caa 230252008-02-08 Robert Millan <rmh@aybabtu.com>
23026
23027 * disk/raid.c (grub_raid_scan_device): Check for
23028 `array->device[sb.this_disk.number]' rather than for
23029 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23030 guaranteed to be accessible.
a96f9caa 23031
b37a9222 230322008-02-08 Robert Millan <rmh@aybabtu.com>
23033
23034 * disk/raid.c: Update copyright.
23035 * fs/cpio.c: Likewise.
23036 * include/grub/raid.h: Likewise.
23037 * loader/i386/pc/multiboot.c: Likewise.
23038 * util/hostfs.c: Likewise.
23039
5626aee1 230402008-02-08 Robert Millan <rmh@aybabtu.com>
23041
23042 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23043 to a grub_disk_t array.
23044 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23045 `device[x]'.
23046 (grub_raid_scan_device): Replace `device[x].name' accesses with
23047 `device[x]->name'. Simplify initialization of `array->device[x]'.
23048
554f0187 230492008-02-08 Robert Millan <rmh@aybabtu.com>
23050
23051 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23052 grub_dprintf() calls.
23053 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23054 error message.
23055
1ec8425d 230562008-02-07 Christian Franke <franke@computer.org>
23057
23058 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23059 instead of fseek and ftell to support large files.
23060 (grub_hostfs_read): Likewise.
23061
f2156fda 230622008-02-07 Robert Millan <rmh@aybabtu.com>
23063
23064 Patch from Jeroen Dekkers.
23065 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23066 failure, since successfully reading all array members might not be
f2156fda 23067 required.
23068
9216e0e7 230692008-02-06 Robert Millan <rmh@aybabtu.com>
23070
23071 * util/grub-probe.c (probe): Simplify partmap probing (with the
23072 assumption that the first word up to the underscore equals to
23073 the module name).
23074
b0dfd29a 230752008-02-06 Christian Franke <franke@computer.org>
23076
23077 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23078 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23079 last block of a cpio or tar stream.
23080 Check for "TRAILER!!!" instead of any empty data
23081 block to detect last block of a cpio stream.
23082 (grub_cpio_dir): Fix constness of variable np.
23083 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23084 cpio or tar trailer is detected. This fixes a crash
23085 on open of a non existing file.
23086
c32865bf 230872008-02-05 Bean <bean123ch@gmail.com>
23088
23089 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23090 address of entry.
23091 (grub_multiboot_load_elf64): Likewise.
23092 (grub_multiboot): Initialize mbi structure.
23093
23094 * util/grub-fstest.c: Don't include unused header file script.h.
23095
fe6b695a 23096 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23097 of file.
23098 (grub_fstest_SOURCES): Likewise.
23099
409480b7 231002008-02-05 Robert Millan <rmh@aybabtu.com>
23101
23102 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23103 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23104 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23105 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23106
23107 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23108 (translation_table): Replace hardcoded values with macros
23109 provided by `<grub/term.h>'.
23110
23111 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23112 (keyboard_map): Correct/add a few values, with macros provided
23113 by `<grub/term.h>'.
23114 (keyboard_map_shift): Zero values that don't differ from their
23115 `keyboard_map' equivalents.
23116 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23117 Discard the second scan code that is always sent by Caps lock.
23118 Only use `keyboard_map_shift' when it provides a non-zero value,
23119 otherwise fallback to `keyboard_map'.
23120
99fadbaa 231212008-02-04 Bean <bean123ch@gmail.com>
23122
23123 * Makefile.in (enable_grub_fstest): New variable.
23124
23125 * conf/common.rmk (grub_fstest_init.lst): New rule.
23126 (grub_fstest_init.h): Likewise.
23127 (grub_fstest_init.c): Likewise.
23128 (util/grub-fstest.c_DEPENDENCIES): New variable.
23129 (grub_fstest_SOURCES): Likewise.
23130
23131 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23132
23133 * util/grub-fstest.c: New file.
23134
bf567c50 231352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23136
23137 Make grub-setup handle a separate root device.
f19dbdb7 23138
bf567c50 23139 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23140 so that the root device can be compared with the destination
23141 device.
23142 When embedding the core image, if the root and destination devices
23143 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23144 0xFF.
23145 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23146
9be6b98b 231472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23148
23149 Add support for having a grub directory in a different drive. This
23150 is still only the data handling part.
f19dbdb7 23151
9be6b98b 23152 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23153 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23154 (grub_root_drive): New variable.
23155
23156 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23157 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23158 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23159 as it was.
23160
23161 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23162
23163 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23164 macro.
23165 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23166
23167 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23168 is bogus, because PXE booting does not specify any drive
23169 correctly.
23170
23171 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23172 am not sure if this is really correct.
23173
23174 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23175 is always identical to the boot drive when booting from a CD.
23176
23177 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23178 longer.
23179 (root_drive): New variable.
23180 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23181 (setup_sectors): Push %dx right after popping it, because %dh will
23182 be modified later.
23183 (copy_buffer): Restore %dx.
23184
e0ca0677 231852008-02-03 Robert Millan <rmh@aybabtu.com>
23186
23187 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23188 use `cdboot.img' for cdrom images.
23189
3b3f6629 231902008-02-03 Robert Millan <rmh@aybabtu.com>
23191
23192 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23193 only setup gfxterm when `font' command has succeeded.
23194
d42b3672 231952008-02-03 Robert Millan <rmh@aybabtu.com>
23196
23197 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23198 (grub_rescue_cmd_multiboot_loader)
23199 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23200
fa370ea6 232012008-02-03 Pavel Roskin <proski@gnu.org>
23202
e0c5dacb 23203 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23204 %edx and %esi from stack only after grub_gate_a20() is called.
23205 grub_gate_a20() clobbers %edx.
23206
f2a76e1d 232072008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23208
23209 * configure.ac (AC_INIT): Bumped to 1.96.
23210
23211 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
23212 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
23213 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
23214 video/readers/png.c.
23215
90fd32d1 232162008-02-03 Bean <bean123ch@gmail.com>
9be665dd 23217
23218 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
23219 (cdboot_img_SOURCES): New variable.
23220 (cdboot_img_ASFLAGS): New variable.
23221 (cdboot_img_LDFLAGS): New variable.
23222
23223 * boot/i386/pc/cdboot.S: New file.
23224
23225 * disk/i386/pc/biosdisk.c (cd_start): New variable.
23226 (cd_count): Likewise.
23227 (grub_biosdisk_get_drive): Add support for cd device.
23228 (grub_biosdisk_call_hook): Likewise.
23229 (grub_biosdisk_iterate): Likewise.
23230 (grub_biosdisk_open): Likewise.
23231 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
23232 (grub_biosdisk_rw): Support reading from cd device.
23233 (GRUB_MOD_INIT): Iterate cd devices.
23234
23235 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
23236 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
23237 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
23238
23239 * kern/i386/pc/init.c (make_install_device): Check for cd device.
23240
4020aa53 232412008-02-02 Robert Millan <rmh@aybabtu.com>
23242
23243 * commands/read.c: New file.
23244 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
23245 (read_mod_SOURCES): New variable.
23246 (read_mod_CFLAGS): Likewise.
23247 (read_mod_LDFLAGS): Likewise.
23248
e03a1132 232492008-02-02 Robert Millan <rmh@aybabtu.com>
23250
23251 * normal/main.c (grub_normal_execute): Check for `menu->size' when
23252 determining whether menu has to be displayed.
23253
58c69220 232542008-02-02 Marco Gerards <marco@gnu.org>
23255
23256 * bus/pci.c: New file.
23257
23258 * include/grub/pci.h: Likewise.
23259
23260 * include/grub/i386/pc/pci.h: Likewise.
23261
23262 * commands/lspci.c: Likewise.
23263
23264 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
23265 `lspci.mod'.
23266 (pci_mod_SOURCES): New variable.
23267 (pci_mod_CFLAGS): Likewise.
23268 (pci_mod_LDFLAGS): Likewise.
23269 (lspci_mod_SOURCES): Likewise.
23270 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 23271 (lspci_mod_LDFLAGS): Likewise.
58c69220 23272
c004e1b4 232732008-02-02 Bean <bean123ch@gmail.com>
23274
23275 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
23276 (grub_ufs_get_file_block): Fix indirect block calculation problem.
23277
23278 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
23279 (grub_xfs_btree_node): New structure.
23280 (grub_xfs_btree_root): New structure.
23281 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
23282 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
23283 (GRUB_XFS_EXTENT_BLOCK): Likewise.
23284 (GRUB_XFS_EXTENT_SIZE): Likewise.
23285 (grub_xfs_read_block): Support btree format type.
23286 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
23287 Use directory block as basic unit.
23288
23289 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
23290
23291 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
23292 __attribute__ ((__regparm__ (1))).
23293
f95562bf 232942008-02-01 Robert Millan <rmh@aybabtu.com>
23295
23296 Correct a mistake in previous commit.
23297
23298 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
23299 top.
23300 (normal/command.c_DEPENDENCIES): New variable.
23301
7d31f41f 233022008-02-01 Robert Millan <rmh@aybabtu.com>
23303
23304 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
23305 top.
23306 (normal/command.c_DEPENDENCIES): New variable.
23307 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
23308 * conf/i386-ieee1275.rmk: Likewise.
23309 * conf/i386-linuxbios.rmk: Likewise.
23310 * conf/i386-pc.rmk: Likewise.
23311 * conf/sparc64-ieee1275.rmk: Likewise.
23312 * conf/powerpc-ieee1275.rmk: Likewise.
23313 (grub_emu_SOURCES): Add `fs/fshelp.c'.
23314
23315 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
23316
60b6be74 233172008-02-01 Robert Millan <rmh@aybabtu.com>
23318
23319 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
23320 call at beginning of function.
23321
078522ab 233222008-01-31 Pavel Roskin <proski@gnu.org>
23323
23324 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 23325 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
23326 (grub_mkrescue_SOURCES): Likewise.
078522ab 23327 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
23328
ccaa8a5f 233292008-01-30 Robert Millan <rmh@aybabtu.com>
23330
23331 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
23332 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
23333 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
23334 (grub_probe_SOURCES): ... to here.
23335
23336 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
23337 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
23338 * conf/i386-ieee1275.rmk: Likewise.
23339 * conf/i386-linuxbios.rmk: Likewise.
23340 * conf/powerpc-ieee1275.rmk: Likewise.
23341
ae5a9cd7 233422008-01-30 Tristan Gingold <gingold@free.fr>
23343
23344 * kern/rescue.c: Silently accept empty lines.
23345
70bc2ef2 233462008-01-29 Bean <bean123ch@gmail.com>
23347
23348 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
23349 (real_code_2): Code cleanup and change comment style.
23350 (move_memory): Avoid using 32-bit address mode.
23351
6a4d50ea 233522008-01-29 Bean <bean123ch@gmail.com>
23353
23354 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
23355 (png_mod_SOURCES): New variable.
23356 (png_mod_CFLAGS): Likewise.
23357 (png_mod_LDFLAGS): Likewise.
23358
23359 * video/readers/png.c: New file.
23360
11cc30ac 233612008-01-28 Robert Millan <rmh@aybabtu.com>
23362
23363 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
23364 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
23365 `ifndef GRUB_MOD_GAP' hack.
23366 * util/elf/grub-mkimage.c (add_segments): Likewise.
23367
3abc589f 233682008-01-27 Robert Millan <rmh@aybabtu.com>
23369
23370 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
23371 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 23372 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 23373
e1907778 233742008-01-27 Robert Millan <rmh@aybabtu.com>
23375
23376 Get grub-emu to build again (including parallel builds).
23377
23378 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
23379 Split into ...
23380 (util/grub-emu.c_DEPENDENCIES): ... this, ...
23381 (normal/execute.c_DEPENDENCIES): ... this, ...
23382 (grub-emu_DEPENDENCIES): ... and this.
23383
23384 * conf/i386-efi.rmk: Likewise.
23385 * conf/i386-linuxbios.rmk: Likewise.
23386 * conf/i386-ieee1275.rmk: Likewise.
23387 * conf/powerpc-ieee1275.rmk: Likewise.
23388 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
23389
2216b101 233902008-01-27 Robert Millan <rmh@aybabtu.com>
23391
23392 * NEWS: Add a few items.
23393
f75172d9 233942008-01-27 Robert Millan <rmh@aybabtu.com>
23395
23396 Fix parallel builds with grub-emu. Based on earlier commit for
23397 grub-probe and grub-setup.
23398
23399 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23400 (util/grub-emu.c_DEPENDENCIES): ... this.
23401 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23402 (util/grub-emu.c_DEPENDENCIES): ... this.
23403 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23404 (util/grub-emu.c_DEPENDENCIES): ... this.
23405 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23406 (util/grub-emu.c_DEPENDENCIES): ... this.
23407 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
23408 (util/grub-emu.c_DEPENDENCIES): ... this.
23409
3f51de77 234102008-01-27 Pavel Roskin <proski@gnu.org>
23411
23412 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
23413 to create a gap between _end and the modules added to the image
23414 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
23415 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
23416 * util/elf/grub-mkimage.c (add_segments): Likewise.
23417
2033f53e 234182008-01-26 Pavel Roskin <proski@gnu.org>
23419
23420 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
23421 just return an error.
23422
22da1f6f 234232008-01-26 Bean <bean123ch@gmail.com>
23424
23425 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
23426 (grub_reiserfs_get_item): Save offset of the next item.
23427 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
23428
2a9525e6 234292008-01-25 Robert Millan <rmh@aybabtu.com>
23430
23431 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
23432 make all filesystem sources appear together (possibly fixing omissions
23433 while at it).
23434 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23436 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23438
23439 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
23440 add `kern/file.c'.
23441 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
23442 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23443 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
23444 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
23445
23446 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
23447 (probe): Add a sanity check to make sure of our ability to read
23448 requested files when probing for filesystem type.
23449
23450 * genmk.rb: Update copyright year (2007).
23451
23452 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
23453 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
23454 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
23455 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
23456 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
23457 : Remove function prototypes.
23458
b95f71b5 234592008-01-25 Robert Millan <rmh@aybabtu.com>
23460
23461 Revert my previous commits (based on wrong assumption of how grub_errno
23462 works).
23463
fe6b695a 23464 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 23465 * kern/file.c (grub_file_open): Likewise.
23466
d08bbb49 234672008-01-24 Pavel Roskin <proski@gnu.org>
23468
23469 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
23470 that hang if GRUB tries to setup colors.
23471 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
23472 colors for firmwares that don't support it.
23473 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
23474 Recognize Open Hack'Ware, set flags to work around its
23475 limitations.
23476
605e36ed 234772008-01-24 Robert Millan <rmh@aybabtu.com>
23478
23479 * kern/file.c (grub_file_open): Do not account previous failures of
23480 unrelated functions when grub_errno is checked for.
23481 Reported by Oleg Strikov.
23482
bac332a1 234832008-01-24 Bean <bean123ch@gmail.com>
23484
23485 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
23486 (grub_ufs_sblock): New member volume name.
23487 (grub_ufs_find_file): Fix string copy bug.
23488 (grub_ufs_label): Implement this function properly.
23489
23490 * fs/hfs.c (grub_hfs_cnid_type): New enum.
23491 (grub_hfs_iterate_records): Use the correct file number for extents
23492 and catalog file. Fix problem in next index calculation.
23493 (grub_hfs_find_node): Replace recursive function call with loop.
23494 (grub_hfs_iterate_dir): Replace recursive function call with loop.
23495
15c80c09 234962008-01-23 Robert Millan <rmh@aybabtu.com>
23497
23498 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
23499 `<grub/symbol.h>' and `<grub/multiboot.h>'.
23500 (grub_multiboot2_real_boot): New function prototype.
23501
23502 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
23503 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
23504
23505 * kern/i386/ieee1275/init.c (grub_os_area_addr)
23506 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
23507
305338fd 235082008-01-23 Robert Millan <rmh@aybabtu.com>
23509
23510 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
23511 #ifdef'ed out grub_printf().
23512
3ea52685 235132008-01-23 Robert Millan <rmh@aybabtu.com>
23514
23515 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
23516 grub_dprintf calls, since they make "debug=all" mode unusable.
23517 (grub_console_checkkey): Likewise.
23518
5882ae4b 235192008-01-23 Robert Millan <rmh@aybabtu.com>
23520
23521 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23522 `term/i386/pc/at_keyboard.c'.
23523 (pkglib_MODULES): Add `serial.mod'.
23524 (serial_mod_SOURCES): New variable.
23525 (serial_mod_CFLAGS): Likewise.
23526 (serial_mod_LDFLAGS): Likewise.
23527
23528 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
23529 `<grub/powerpc/ieee1275/console.h>'.
23530 (grub_keyboard_controller_init): New function prototype.
23531 (grub_console_checkkey): Likewise.
23532 (grub_console_getkey): Likewise.
23533
23534 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
23535 keyboard on i386.
23536
23537 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
23538 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
23539
06ab5303 235402008-01-23 Robert Millan <rmh@aybabtu.com>
23541
23542 * kern/i386/pc/init.c (make_install_device): When memdisk image is
23543 present, "(memdisk)/boot/grub" becomes the default prefix.
23544
23545 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
23546 a memdisk tarball with all the modules. Add --overlay=DIR option that
23547 allows users to overlay additional files into the image.
23548
dbb475a4 235492008-01-23 Robert Millan <rmh@aybabtu.com>
23550
23551 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
23552 and `machine/memory.h'.
23553 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
23554 (_multiboot_mod_SOURCES): New variable.
23555 (_multiboot_mod_CFLAGS): Likewise.
23556 (_multiboot_mod_LDFLAGS): Likewise.
23557 (multiboot_mod_SOURCES): Likewise.
23558 (multiboot_mod_CFLAGS): Likewise.
23559 (multiboot_mod_LDFLAGS): Likewise.
23560
23561 * include/grub/i386/ieee1275/loader.h: New file.
23562
23563 * include/grub/i386/ieee1275/machine.h: Likewise.
23564
23565 * include/grub/i386/ieee1275/memory.h: Likewise.
23566
23567 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
23568 variable declaration.
23569 (grub_os_area_size): Likewise.
23570
23571 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
23572 (grub_lower_mem, grub_upper_mem): New variables.
23573 (grub_stop_floppy): New function (just to make
23574 grub_multiboot2_real_boot() happy).
23575
23576 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
23577 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
23578 (grub_stop): New function.
23579 Include `"../realmode.S"' and `"../loader.S"'.
23580
23581 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
23582 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
23583
23584 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
23585 rely on grub_multiboot2_real_boot() for final boot.
23586
25638629 235872008-01-22 Robert Millan <rmh@aybabtu.com>
23588
23589 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
23590 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
23591 device that doesn't look like an SD card.
23592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23593 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
23594 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
23595 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
23596 found.
23597
9dad816d 235982008-01-22 Robert Millan <rmh@aybabtu.com>
23599
23600 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
23601 avoid claiming over our own code.
23602
34842f2d 236032008-01-22 Bean <bean123ch@gmail.com>
23604
23605 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
23606 (jpeg_mod_SOURCES): New variable.
23607 (jpeg_mod_CFLAGS): Likewise.
23608 (jpeg_mod_LDFLAGS): Likewise.
23609
23610 * video/readers/jpeg.c : New file.
23611
44023a28 236122008-01-22 Bean <bean123ch@gmail.com>
23613
23614 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
23615 there are no more items.
23616
bc2d8ac6 236172008-01-21 Robert Millan <rmh@aybabtu.com>
23618
23619 * kern/mm.c (grub_mm_init_region): Improve debug message.
23620
261bd4bc 236212008-01-21 Robert Millan <rmh@aybabtu.com>
23622
23623 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
23624 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
23625 address.
23626 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
23627 a C macro.
23628 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
23629 Indicates start of upper memory.
23630 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
23631 (generate_image): Abort when image size is big enough to corrupt
23632 upper memory.
23633
23634 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
23635 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
23636 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23637 instead of hardcoding 0xA0000.
23638 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
23639 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
23640 instead of hardcoding 0xA0000.
23641
f970b55e 236422008-01-21 Robert Millan <rmh@aybabtu.com>
23643
23644 * disk/memdisk.c (memdisk_size): New variable.
23645 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
23646 `memdisk_size'.
23647 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
23648 image to dynamic memory.
23649 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
23650 `memdisk_size'. Free memdisk block.
23651
1a8b0526 236522008-01-21 Robert Millan <rmh@aybabtu.com>
23653
23654 Fix detection of very small filesystems (like tar).
23655
23656 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
23657 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
23658 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
23659 a problem with this disk).
23660
6e9b4aab 236612008-01-21 Robert Millan <rmh@aybabtu.com>
23662
23663 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
23664 on grub_biosdisk_rw_standard() error.
23665
0d8837b2 236662008-01-21 Robert Millan <rmh@aybabtu.com>
23667
23668 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
23669 recent changes.
23670 * kern/elf.c: Likewise.
23671 * kern/ieee1275/ieee1275.c: Likewise.
23672 * kern/powerpc/ieee1275/openfw.c: Likewise.
23673 * term/ieee1275/ofconsole.c: Likewise.
23674
ffd36e34 236752008-01-21 Robert Millan <rmh@aybabtu.com>
23676
23677 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
23678
3f0093d0 23679 * include/grub/kernel.h (grub_arch_memdisk_addr)
23680 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 23681
3f0093d0 23682 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
23683 (grub_arch_memdisk_size): ... to here.
ffd36e34 23684
6c391b21 236852008-01-21 Robert Millan <rmh@aybabtu.com>
23686
23687 Mostly based on bugfix from Bean.
23688
23689 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
23690 attribute with hook() parameter.
23691 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
23692 declaration.
23693 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
23694 attribute with hook() parameter.
23695 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
23696 declaration.
23697
55a581dc 236982008-01-21 Robert Millan <rmh@aybabtu.com>
23699
23700 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
23701 (pkglib_MODULES): Add `memdisk.mod'.
23702 (memdisk_mod_SOURCES): New variable.
23703 (memdisk_mod_CFLAGS): Likewise.
23704 (memdisk_mod_LDFLAGS): Likewise.
23705
23706 * disk/memdisk.c: New file.
23707
23708 * include/grub/disk.h (grub_disk_dev_id): Add
23709 `GRUB_DISK_DEVICE_MEMDISK_ID'.
23710
23711 * include/grub/i386/pc/kernel.h
23712 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
23713 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
23714 (grub_kernel_image_size): New variable declaration.
23715 (grub_total_module_size): Likewise.
23716 (grub_memdisk_image_size): Likewise.
23717
23718 * include/grub/i386/pc/memory.h
23719 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
23720
23721 * include/grub/kernel.h: Include `<grub/symbol.h>'.
23722 (grub_arch_memdisk_addr): New variable declaration.
23723 (grub_arch_memdisk_size): Likewise.
23724
23725 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
23726 (grub_arch_memdisk_size): Likewise.
23727
23728 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
23729 (codestart): Replace hardcoded `0x100000' with
23730 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
23731
23732 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
23733 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
23734 not NULL, append the contents of the file it refers to, at the end of
23735 the compressed kernel image. Initialize `grub_memdisk_image_size'
23736 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
23737 (options): Add "memdisk"|'m' option.
23738 (main): Parse --memdisk|-m option, and pass user-provided path as
23739 parameter to generate_image().
23740
3d7f54c9 237412008-01-20 Robert Millan <rmh@aybabtu.com>
23742
23743 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
23744 grub_dprintf() calls from here ...
23745 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
23746
0bf74728 237472008-01-20 Robert Millan <rmh@aybabtu.com>
23748
23749 Fix detection of "real mode" when /options/real-mode? doesn't exist.
23750
23751 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
23752 declaration.
23753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
23754 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
23755 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 23756 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 23757 property).
23758 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
23759 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
23760
33bf70a7 237612008-01-19 Robert Millan <rmh@aybabtu.com>
23762
fe6b695a 23763 Get rid of confusing function (superseded by
33bf70a7 23764 `grub_ieee1275_get_integer_property')
23765 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
23766 prototype.
23767 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
23768 function.
23769 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
23770 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 23771 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 23772
e2da7d26 237732008-01-19 Robert Millan <rmh@aybabtu.com>
23774
23775 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
23776 command after "shut-down", since implementations differ on which
23777 the command for halt is.
23778
59f1fd8d 237792008-01-19 Robert Millan <rmh@aybabtu.com>
23780
23781 * include/grub/i386/linuxbios/console.h: Add header protection.
23782 (grub_keyboard_controller_init): New function prototype.
23783 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
23784 (KEYBOARD_COMMAND_READ): Likewise.
23785 (KEYBOARD_COMMAND_WRITE): Likewise.
23786 (KEYBOARD_SCANCODE_SET1): Likewise.
23787 (grub_keyboard_controller_write): New function.
23788 (grub_keyboard_controller_read): Likewise.
23789 (grub_keyboard_controller_init): Likewise.
23790
23791 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
23792 (grub_console_init): On coreboot/LinuxBIOS, call
23793 grub_keyboard_controller_init().
23794
5f5a7c15 237952008-01-19 Robert Millan <rmh@aybabtu.com>
23796
23797 PowerPC changes provided by Pavel Roskin.
23798
23799 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
23800 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
23801 don't rely on cmain() doing it.
23802 * kern/i386/ieee1275/startup.S (_start): Store %eax in
23803 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
23804
1210e168 238052008-01-16 Robert Millan <rmh@aybabtu.com>
23806
23807 * include/grub/i386/linuxbios/memory.h
23808 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
23809 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
23810 receive `table_header' as argument. Instead, probe for it in the
23811 known memory ranges where it can be present.
23812 (grub_available_iterate): Do not pass a fixed `table_header' address
23813 to grub_linuxbios_table_iterate().
23814
3d04eab8 238152008-01-15 Robert Millan <rmh@aybabtu.com>
23816
23817 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
23818 * conf/i386-ieee1275.rmk: New file.
23819 * include/grub/i386/ieee1275/console.h: Likewise.
23820 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
23821 * include/grub/i386/ieee1275/kernel.h: Likewise.
23822 * include/grub/i386/ieee1275/time.h: Likewise.
23823 * kern/i386/ieee1275/init.c: Likewise.
23824 * kern/i386/ieee1275/startup.S: Likewise.
23825
d1bc1b73 238262008-01-15 Robert Millan <rmh@aybabtu.com>
23827
23828 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
23829 when pointers are 32-bit (but still do set it to one when they are
23830 64-bit).
23831
66a65807 238322008-01-15 Robert Millan <rmh@aybabtu.com>
23833
23834 * include/grub/ieee1275/ieee1275.h
23835 (grub_ieee1275_get_integer_property): New function prototype.
23836
23837 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
23838 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 23839 grub_ieee1275_get_property() to handle endianness.
66a65807 23840
23841 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
23842 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 23843 where appropriate.
66a65807 23844 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
23845 (grub_map): Likewise.
23846 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
23847
a83ccafd 238482008-01-15 Bean <bean123ch@gmail.com>
23849
23850 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
23851 (grub_script_execute_cmdline): Reset grub_errno.
23852
23853 * normal/main.c (read_config_file): Reset grub_errno.
23854
23855 * normal/parse.y (script_init): New.
23856 (script): Move function and menuentry here.
23857 (delimiter): New.
23858 (command): Add delimiter at the end of command.
23859 (commands): Adjust to match the new command.
23860 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 23861 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 23862 (if): Use the new commands.
23863
23864 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
23865
df6ecfc6 238662008-01-15 Robert Millan <rmh@aybabtu.com>
23867
23868 * normal/menu.c (run_menu): Move timeout message from here ...
23869 (print_timeout): ... to here.
23870 (run_menu): Use print_timeout() once during initial draw to print
23871 the whole message, and again in every clock tick to update only
23872 the number of seconds.
23873
87ae25eb 238742008-01-15 Robert Millan <rmh@aybabtu.com>
23875
23876 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
23877 actual size of `available' from grub_ieee1275_get_property(), and
23878 restrict parsing to that bound.
23879
47bf09a4 238802008-01-15 Christian Franke <franke@computer.org>
23881
23882 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
23883 (argp_program_version): Remove variable.
23884 (argp_program_bug_address): Likewise.
23885 (options): Convert from struct argp_option to struct option.
23886 (struct arguments): Remove.
23887 (parse_opt): Remove.
23888 (usage): New function.
23889 (main): Replace struct args members by simple variables.
23890 Replace argp_parse() by getopt_long().
23891 Add switch to evaluate options.
23892 Add missing "(...)" around root_dev in prefix string.
23893
c86f1469 238942008-01-14 Robert Millan <rmh@aybabtu.com>
23895
23896 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
23897 for grub_ieee1275_exit(), in order to improve portability.
23898
e622c559 238992008-01-14 Robert Millan <rmh@aybabtu.com>
23900
23901 * util/grub.d/10_linux.in (prefix): Define.
23902 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
23903
44cb1ec8 239042008-01-13 Pavel Roskin <proski@gnu.org>
23905
23906 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
23907 grub_errno if no errors have been detected.
23908
1eb8c802 239092008-01-12 Robert Millan <rmh@aybabtu.com>
23910
23911 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
23912 (grub_util_get_dev_abstraction): New function prototype.
23913
23914 * util/getroot.c: Include `<grub/util/getroot.h>'
23915 (grub_util_get_grub_dev): Move detection of abstraction type to ...
23916 (grub_util_get_dev_abstraction): ... here (new function).
23917
23918 * util/grub-probe.c: Convert PRINT_* to an enum. Add
23919 `PRINT_ABSTRACTION'.
23920 (probe): Probe for abstraction type when requested.
23921 (main): Understand `--target=abstraction'.
23922
23923 * util/i386/efi/grub-install.in: Add abstraction module to core
23924 image when it is found to be necessary.
23925 * util/i386/pc/grub-install.in: Likewise.
23926 * util/powerpc/ieee1275/grub-install.in: Likewise.
23927
23928 * util/update-grub_lib.in (font_path): Return system path without
23929 converting to GRUB path.
23930 * util/update-grub.in: Convert system path returned by font_path()
23931 to a GRUB path. Use `grub-probe -t abstraction' to determine what
23932 abstraction module is needed for loading fonts (if any). Export
23933 that as `GRUB_PRELOAD_MODULES'.
23934 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
23935 insmod commands).
23936
52bd3de9 239372008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
23938
23939 Remove some unused code from reiserfs.
f19dbdb7 23940
52bd3de9 23941 * fs/reiserfs.c (struct grub_reiserfs_key)
23942 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
23943 (struct grub_reiserfs_node_body): Removed.
23944 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
23945 Likewise.
23946 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23947 Likewise.
23948 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23949 Likewise.
23950 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
23951 Likewise.
23952 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
23953 Likewise.
23954 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
23955 Likewise.
23956 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23957 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23958 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
23959
2f80039d 239602008-01-10 Robert Millan <rmh@aybabtu.com>
23961
23962 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
23963 Determines if a file is garbage left by packaging systems, etc.
23964 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
23965 for processing /etc/grub.d scripts.
23966 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
23967 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
23968 as a condition for processing Linux images.
23969
87888032 239702008-01-10 Pavel Roskin <proski@gnu.org>
23971
23972 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
23973 to compile reiserfs.c on PowerPC.
23974
7e54fced 239752008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 23976
23977 * kern/device.c (grub_device_iterate): Do not abort device iteration
23978 when one of the devices cannot be opened.
23979 * kern/disk.c (grub_disk_open): Do not account previous failures of
23980 unrelated functions when grub_errno is checked for.
23981
5aa541e6 239822008-01-08 Robert Millan <rmh@aybabtu.com>
23983
23984 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
23985 `! grub_linux_is_bzimage', change order of address comparison to make
23986 it more intuitive, and improve "too big zImage" error message.
23987
7076340d 239882008-01-08 Robert Millan <rmh@aybabtu.com>
23989
23990 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
23991 `$(update-grub_DATA)'.
23992 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
23993 targets.
23994
9ca70333 239952008-01-07 Robert Millan <rmh@aybabtu.com>
23996
23997 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
23998 which instruction is modified by grub-setup during installation
23999 (since it wasn't obvious by only looking at this file).
24000
38ccf575 240012008-01-07 Robert Millan <rmh@aybabtu.com>
24002
24003 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24004 listing actual TODO items.
24005
f5db4291 240062008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24007
868967cf 24008 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24009 correctly.
24010 (grub_reiserfs_get_key_offset): Likewise.
24011 (grub_reiserfs_set_key_offset): Likewise.
24012 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24013 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24014
24015 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24016 better to remove the bitfield version completely.
f19dbdb7 24017
868967cf 240182008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24019
f5db4291 24020 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24021 allocated from the heap, due to the fshelp implementation.
24022 (grub_reiserfs_dir): Free NODE, due to the same reason.
24023
492e6d9d 240242008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24025
24026 Mostly from Vincent Pelletier:
f19dbdb7 24027
492e6d9d 24028 * fs/reiserfs.c: New file.
f19dbdb7 24029
492e6d9d 24030 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24031 (reiserfs_mod_SOURCES): New variable.
24032 (reiserfs_mod_CFLAGS): Likewise.
24033 (reiserfs_mod_LDFLAGS): Likewise.
24034
24035 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24036 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24037 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24038 normal/color.c.
24039
9ce3e7c1 240402008-01-06 Robert Millan <rmh@aybabtu.com>
24041
24042 * normal/color.c: Remove `<grub/env.h>'.
24043
f3b58148 240442008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24045
24046 * include/grub/normal.h: Include <grub/env.h>.
24047
7ac3bcfa 240482008-01-05 Robert Millan <rmh@aybabtu.com>
24049
24050 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24051 usage example with `(hd0,1)'.
fb358190 24052 Reported by Samuel Thibault.
7ac3bcfa 24053
c8ee99d7 240542008-01-05 Robert Millan <rmh@aybabtu.com>
24055
24056 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24057 (grub_linux_boot_zimage): Rename to ...
24058 (grub_linux_boot): ... this.
24059 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24060 (grub_linux_boot_zimage): Conditionalize zImage copy.
24061
24062 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24063 (grub_linux_boot_bzimage): Remove prototype.
24064 (grub_linux_boot_zimage): Rename to ...
24065 (grub_linux_boot): ... this.
24066
24067 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24068 (grub_linux_boot): Remove function.
24069
0ece25b1 240702008-01-05 Robert Millan <rmh@aybabtu.com>
24071
24072 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24073 (grub_env_write_color_highlight): Likewise.
24074 (grub_wait_after_message): Likewise.
24075
24076 * normal/color.c: New file.
24077
24078 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24079 (normal_mod_DEPENDENCIES): Likewise.
24080
24081 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24082 (normal_mod_DEPENDENCIES): Likewise.
24083
24084 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24085 (normal_mod_DEPENDENCIES): Likewise.
24086
24087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24088 (normal_mod_DEPENDENCIES): Likewise.
24089
24090 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24091 for waiting after a message is printed.
24092 * normal/main.c (read_config_file): Likewise.
24093 (grub_normal_init): Register grub_env_write_color_normal() and
24094 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24095 `color_highlight' variables as global.
24096
24097 * normal/menu.c (grub_wait_after_message): New function.
24098 (grub_color_menu_normal): New variable. Replaces ...
24099 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24100 (grub_color_menu_highlight): New variable. Replaces ...
24101 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24102 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24103 `GRUB_TERM_COLOR_STANDARD'.
24104 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24105 `normal_code' and `highlight_code' to `old_color_normal' and
24106 `old_color_highlight', respectively.
24107 (grub_menu_init_page): Update colors when drawing the menu, based on
24108 `menu_color_normal' and `menu_color_highlight' variables.
24109 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24110 a message is printed.
24111
182dd4e5 241122008-01-05 Robert Millan <rmh@aybabtu.com>
24113
24114 * kern/env.c (grub_env_context_open): Propagate hooks for global
24115 variables to new context.
24116
24117 * kern/main.c (grub_set_root_dev): Export `root' variable.
24118
ddf8f6ad 241192008-01-05 Robert Millan <rmh@aybabtu.com>
24120
24121 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24122 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24123 them.
24124
d8b43d9b 241252008-01-05 Robert Millan <rmh@aybabtu.com>
24126
24127 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24128
2bff2de3 241292008-01-04 Christian Franke <franke@computer.org>
24130
24131 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24132 of eisa_mmap.
24133
97eab917 241342008-01-03 Pavel Roskin <proski@gnu.org>
24135
24136 * kern/i386/linuxbios/init.c: Put "void" to all function
24137 declarations with no arguments.
24138 * kern/powerpc/ieee1275/init.c: Likewise.
24139 * term/i386/pc/at_keyboard.c: Likewise.
24140 * term/i386/pc/vga_text.c: Likewise.
24141 * util/grub-mkdevicemap.c: Likewise.
24142
b9416d00 241432008-01-02 Robert Millan <rmh@aybabtu.com>
24144
24145 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24146 message when loaded image is out of bounds.
24147 (grub_multiboot_load_elf64): Likewise.
24148
92695df9 241492008-01-02 Pavel Roskin <proski@gnu.org>
24150
24151 * util/grub.d/10_linux.in: Try version without ".old" when
24152 looking for initrd. It's better to use initrd from the newer
24153 kernel of the same version than no initrd at all.
24154
d98d9cad 241552008-01-01 Robert Millan <rmh@aybabtu.com>
24156
24157 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24158
dbfdce36 241592008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24160
f19dbdb7 24161 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24162 grub_video_get_active_render_target.
24163 (grub_video_adapter): Added unmap_color and get_active_render_target.
24164
f19dbdb7 24165 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24166 grub_video_get_active_render_target.
24167 (grub_video_get_info): Changed method to accept NULL pointer as an
24168 argument to allow detection of active video adapter.
24169
24170 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24171 grub_video_vbe_unmap_color_int.
24172 Added grub_video_vbe_unmap_color and
24173 grub_video_vbe_get_active_render_target.
24174 (grub_video_vbe_adapter): Added unmap_color and
24175 get_active_render_target.
24176
f19dbdb7 24177 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24178 with grub_video_vbe_unmap_color_int.
24179
24180 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24181 (DEFAULT_NORMAL_COLOR): Likewise.
24182 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24183 (DEFAULT_FG_COLOR): Removed.
24184 (DEFAULT_BG_COLOR): Likewise.
24185 (DEFAULT_CURSOR_COLOR): Changed value.
24186 (grub_virtual_screen): Added standard_color_setting,
24187 normal_color_setting, highlight_color_setting and term_color.
24188 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24189 (bitmap_width): Added.
24190 (bitmap_height): Likewise.
24191 (bitmap): Likewise.
24192 (set_term_color): Likewise.
24193 (grub_virtual_screen_setup): Changed to use new terminal coloring
24194 settings.
24195 (grub_gfxterm_init): Added init for bitmap.
24196 (grub_gfxterm_fini): Added destroy for bitmap.
24197 (redraw_screen_rect): Updated to use background bitmap and new
24198 terminal coloring.
24199 (scroll_up): Added optimization for case when there is no bitmap.
24200 (grub_gfxterm_cls): Fixed to use correct background color.
24201 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24202 coloring.
24203 (grub_virtual_screen_setcolor): Likewise.
24204 (grub_virtual_screen_getcolor): Added.
24205 (grub_gfxterm_background_image_cmd): Likewise.
24206 (grub_video_term): Added setcolor and getcolor.
24207 (MOD_INIT): Added registration of background_image command.
24208 (MOD_TERM): Added unregistration for background_image command.
24209
c3c20931 242102007-12-30 Pavel Roskin <proski@gnu.org>
24211
24212 * loader/multiboot_loader.c: Fix multiboot command
24213 unregistration. Fix all typos in the word "multiboot".
24214
df266716 242152007-12-29 Pavel Roskin <proski@gnu.org>
94239199 24216
24217 * util/grub.d/10_linux.in: Refactor search for initrd. Add
24218 support for initrd names used in Fedora.
24219
fc6e896c 242202007-12-26 Bean <bean123ch@gmail.com>
24221
24222 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
24223 (cpio_mod_SOURCES): New variable.
24224 (cpio_mod_CFLAGS): Likewise.
24225 (cpio_mod_LDFLAGS): Likewise.
24226
24227 * fs/cpio.c: New file.
24228
24229 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
24230
24231 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24232
24233 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24234
24235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24236
533110ad 242372007-12-25 Robert Millan <rmh@aybabtu.com>
24238
24239 * include/grub/term.h (struct grub_term): Add `getcolor' function.
24240 (grub_getcolor): New function.
24241
24242 * kern/term.c (grub_getcolor): New function.
24243 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
24244 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
24245 (print_entry): Set normal and highlight colors to
24246 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
24247 respectively, before printing and restore them to old
24248 values afterwards.
24249 (grub_menu_init_page): Likewise. Fill an additional colored space
24250 that would otherwise be left blank.
24251
24252 * term/efi/console.c (grub_console_getcolor): New function.
24253 (struct grub_console_term.getcolor): New variable.
24254 * term/i386/pc/console.c (grub_console_getcolor): New function.
24255 (struct grub_console_term.getcolor): New variable.
24256 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
24257 (struct grub_console_term.getcolor): New variable.
24258
24259 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
24260 (struct grub_console_term.setcolor): Remove variable.
24261 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
24262 (struct grub_console_term.setcolor): Remove variable.
24263 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
24264 (struct grub_console_term.setcolor): Remove variable.
24265 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
24266 (struct grub_console_term.setcolor): Remove variable.
24267
4931827f 242682007-12-25 Robert Millan <rmh@aybabtu.com>
24269
24270 * configure.ac: Search for possible unifont.hex locations, and
24271 define UNIFONT_HEX if found.
24272
24273 * Makefile.in (UNIFONT_HEX): Define variable.
24274 (DATA): Rename to ...
24275 (PKGLIB): ... this. Update all users.
24276 (PKGDATA): New variable.
24277 (pkgdata_IMAGES): Rename to ...
24278 (pkglib_IMAGES): ... this. Update all users.
24279 (pkgdata_MODULES): Rename to ...
24280 (pkglib_MODULES): ... this. Update all users.
24281 (pkgdata_PROGRAMS): Rename to ...
24282 (pkglib_PROGRAMS): ... this. Update all users.
24283 (pkgdata_DATA): Rename to ...
24284 (pkglib_DATA): ... this. Update all users.
24285 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
24286 (unicode.pff, ascii.pff): New rules.
24287 (all-local): Add `$(PKGDATA)' dependency.
24288 (install-local): Process `$(PKGDATA)'.
24289
24290 * util/update-grub_lib.in (font_path): Search for *.pff files in
24291 a few more locations, including `${pkgdata}'.
24292
57e57e31 242932007-12-23 Robert Millan <rmh@aybabtu.com>
24294
24295 Patch from Bean <bean123ch@gmail.com>:
24296 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
24297 `size'.
24298
4bc72aa9 242992007-12-21 Bean <bean123ch@gmail.com>
24300
24301 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
24302 (ntfscomp_mod_SOURCES): New variable.
24303 (ntfscomp_mod_CFLAGS): Likewise.
24304 (ntfscomp_mod_LDFLAGS): Likewise.
24305
24306 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
24307 (grub_probe_SOURCES): Likewise.
24308 (grub_emu_SOURCES): Likewise.
24309
24310 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24311 (grub_emu_SOURCES): Likewise.
24312
24313 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24314 (grub_emu_SOURCES): Likewise.
24315
24316 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
24317 (grub_emu_SOURCES): Likewise.
24318
24319 * fs/ntfs.c (grub_ntfscomp_func): New variable.
24320 (read_run_list): Renamed to grub_ntfs_read_run_list.
24321 (decomp_nextvcn): Moved to ntfscomp.c.
24322 (decomp_getch): Likewise.
24323 (decomp_get16): Likewise.
24324 (decomp_block): Likewise.
24325 (read_block): Likewise.
24326 (read_data): Partially moved to ntfscomp.c.
24327 (fixup): Change unsigned to grub_uint16_t.
24328 (read_mft): Change unsigned long to grub_uint32_t.
24329 (read_attr): Likewise.
24330 (read_data): Likewise.
24331 (read_run_data): Likewise.
24332 (read_run_list): Likewise.
24333 (read_mft): Likewise.
24334
24335 * fs/ntfscomp.c: New file.
24336
24337 * include/grub/ntfs.h: New file.
24338
af680a87 243392007-12-16 Robert Millan <rmh@aybabtu.com>
24340
24341 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
24342 IDE disk check, since Linux is known to support 20 IDE disks.
24343 Reported by Colin Watson.
24344
84be7599 243452007-12-15 Bean <bean123ch@gmail.com>
24346
24347 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
24348 (lnxboot_img_SOURCES): New variable.
24349 (lnxboot_img_ASFLAGS): Likewise.
24350 (lnxboot_img_LDFLAGS): Likewise.
24351
24352 * boot/i386/pc/lnxboot.S: New file.
24353
6af9db01 243542007-11-24 Pavel Roskin <proski@gnu.org>
24355
24356 * configure.ac: Test if '--build-id=none' is supported by the
24357 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
24358 objcopy to generate incorrect binary files (binutils
24359 2.17.50.0.18-1 as shipped by Fedora 8).
24360 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
24361 linking, so that build ID doesn't break the test.
24362
7361cfe6 243632007-11-24 Pavel Roskin <proski@gnu.org>
24364
24365 * include/grub/i386/time.h: use "void" in the argument list
24366 of grub_cpu_idle().
24367 * include/grub/powerpc/time.h: Likewise.
24368 * include/grub/sparc64/time.h: Likewise.
24369
1593e10c 243702007-11-18 Christian Franke <franke@computer.org>
24371
24372 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
24373 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
24374 This fixes the problem that function keys did not work in grub-emu.
24375
3b8db1a8 243762007-11-18 Christian Franke <franke@computer.org>
24377
24378 * disk/host.c (grub_host_open): Remove attribute unused from
24379 name parameter. Add check for "host". This fixes the problem
24380 that grub-emu does not find partitions.
24381
2e29408d 243822007-11-18 Christian Franke <franke@computer.org>
24383
24384 * util/hostfs.c (is_dir): New function.
24385 (grub_hostfs_dir): Handle missing dirent.d_type case.
24386 (grub_hostfs_read): Add missing fseek().
24387 (grub_hostfs_label): Clear label pointer. This fixes a crash
24388 of grub-emu on "ls (host)".
24389
398cd047 243902007-11-18 Christian Franke <franke@computer.org>
24391
24392 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
24393 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
24394 to 64 bit boundary by default.
24395
c405c391 243962007-11-18 Bean <bean123ch@gmail.com>
24397
24398 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
24399 (hexdump_mod_SOURCES): New variable.
24400 (hexdump_mod_CFLAGS): Likewise.
24401 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 24402
c405c391 24403 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24404
24405 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24406
24407 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24408
24409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
24410
24411 * include/grub/hexdump.h: New file.
24412
24413 * commands/hexdump.c: New file.
24414
5cced7fd 244152007-11-10 Robert Millan <rmh@aybabtu.com>
24416
24417 * commands/i386/pc/play.c (beep_off): Switch order of arguments
24418 in grub_outb() calls.
24419 (beep_on): Likewise.
24420
8b714eb0 244212007-11-10 Christian Franke <franke@computer.org>
24422
24423 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
24424 (grub_menu_run): Likewise.
24425
ce0f1839 244262007-11-10 Robert Millan <rmh@aybabtu.com>
24427
24428 * include/grub/i386/efi/machine.h: New file.
24429 * include/grub/i386/linuxbios/machine.h: Likewise.
24430 * include/grub/i386/pc/machine.h: Likewise.
24431 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24432 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24433
24434 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
24435 (serial_hw_io_addr): New variable.
24436 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
24437 instead of `(unsigned short *) 0x400'.
24438
270c237d 244392007-11-10 Bean <bean123ch@gmail.com>
24440
24441 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
24442
a87783bf 244432007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24444
24445 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
24446 (vga_mod_SOURCES): Added.
24447 (vga_mod_CFLAGS): Likewise.
24448 (vga_mod_LDFLAGS): Likewise.
24449
24450 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
24451 grub_outb() calls.
24452 (set_map_mask): Likewise.
24453 (set_read_map): Likewise.
24454 (set_read_address): Likewise.
24455 (vga_font): Removed variable.
24456 (get_vga_glyph): Removed function.
24457 (invalidate_char): Likewise.
24458 (write_char): Changed to use grub_font_get_glyph() for font
24459 information.
24460 (grub_vga_putchar): Likewise.
24461 (grub_vga_getcharwidth): Likewise.
24462
6433b448 244632007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
24464
24465 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
24466 flags.
24467 (pxeboot_img_LDFLAGS): Likewise.
24468 (diskboot_img_LDFLAGS): Likewise.
24469 (kernel_img_LDFLAGS): Likewise.
24470
49178511 244712007-11-06 Robert Millan <rmh@aybabtu.com>
24472
24473 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
24474 in grub_outb() calls.
24475 (serial_hw_init): Likewise.
24476
53b052de 244772007-11-05 Robert Millan <rmh@aybabtu.com>
24478
24479 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
24480 spaces. Skip non-regular files.
24481
5ab33bba 244822007-11-05 Robert Millan <rmh@aybabtu.com>
24483
24484 * kern/disk.c (grub_disk_firmware_fini)
24485 (grub_disk_firmware_is_tainted): New variables.
24486
24487 * include/grub/disk.h (grub_disk_firmware_fini)
24488 (grub_disk_firmware_is_tainted): Likewise.
24489
24490 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
24491 (grub_disk_biosdisk_fini): ... to here.
24492 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
24493 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
24494 is set. Register grub_disk_biosdisk_fini() in
24495 `grub_disk_firmware_fini'.
24496
24497 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
24498 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
24499 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
24500 to finish existing firmware disk interface.
24501
24502 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
24503 (ata_mod_SOURCES): New variable.
24504 (ata_mod_CFLAGS): Likewise.
24505 (ata_mod_LDFLAGS): Likewise.
24506
0149ab7c 245072007-11-05 Robert Millan <rmh@aybabtu.com>
24508
24509 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
24510 (grub_ata_wait): Reimplement using grub_millisleep().
24511
24512 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
24513 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
24514
be7ac41e 245152007-11-03 Marco Gerards <marco@gnu.org>
24516
24517 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
24518 (CRTC_ADDR_PORT): New macro.
24519 (CRTC_DATA_PORT): Likewise.
24520 (CRTC_CURSOR): Likewise.
24521 (CRTC_CURSOR_ADDR_HIGH): Likewise.
24522 (CRTC_CURSOR_ADDR_LOW): Likewise.
24523 (update_cursor): New function.
24524 (grub_console_real_putchar): Call `update_cursor'.
24525 (grub_console_gotoxy): Likewise.
24526 (grub_console_cls): Set the default color when clearing the
24527 screen.
24528 (grub_console_setcursor): Implemented.
24529
bb06ab2e 245302007-11-03 Marco Gerards <marco@gnu.org>
24531
24532 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
24533 become activate.
24534 (grub_ata_pio_write): Likewise.
24535
24536 (grub_atapi_identify): Wait after issuing an ATA command.
24537 (grub_atapi_packet): Likewise.
24538 (grub_ata_identify): Likewise.
24539 (grub_ata_readwrite): Likewise.
24540
cf8f780b 245412007-11-03 Marco Gerards <marco@gnu.org>
24542
24543 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
24544 (grub_ata_pio_write): Likewise.
24545 (grub_ata_readwrite): Use `grub_error', instead of
24546 returning `grub_errno'.
24547
ed649e54 245482007-11-03 Marco Gerards <marco@gnu.org>
24549
24550 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
24551 grub_ata_pio_write once for every single sector, instead of for
24552 multiple sectors.
24553
ca25d8f0 245542007-10-31 Robert Millan <rmh@aybabtu.com>
24555
24556 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
24557
24558 * conf/i386-linuxbios.rmk: New file.
24559
24560 * kern/i386/pc/hardware.c: Likewise.
24561 * term/i386/pc/at_keyboard.c: Likewise.
24562 * term/i386/pc/vga_text.c: Likewise.
24563
24564 * include/grub/i386/linuxbios/boot.h: Likewise.
24565 * include/grub/i386/linuxbios/console.h: Likewise.
24566 * include/grub/i386/linuxbios/init.h: Likewise.
24567 * include/grub/i386/linuxbios/kernel.h: Likewise.
24568 * include/grub/i386/linuxbios/loader.h: Likewise.
24569 * include/grub/i386/linuxbios/memory.h: Likewise.
24570 * include/grub/i386/linuxbios/serial.h: Likewise.
24571 * include/grub/i386/linuxbios/time.h: Likewise.
24572
24573 * kern/i386/linuxbios/init.c: Likewise.
24574 * kern/i386/linuxbios/startup.S: Likewise.
24575 * kern/i386/linuxbios/table.c: Likewise.
24576
e911ecc1 245772007-10-31 Marco Gerards <marco@gnu.org>
24578
24579 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
24580 (ata_mod_SOURCES): New variable.
24581 (ata_mod_CFLAGS): Likewise.
24582 (ata_mod_LDFLAGS): Likewise.
24583
24584 * disk/ata.c: New file.
24585
24586 * include/grub/disk.h (grub_disk_dev_id): Add
24587 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 24588
7f66d0e0 245892007-10-31 Robert Millan <rmh@aybabtu.com>
24590
24591 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
24592 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
24593
24594 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
24595 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
24596
24597 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
24598 `<grub/types.h>'.
24599
24600 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
24601
5cd7dd46 246022007-10-27 Robert Millan <rmh@aybabtu.com>
24603
3236ca65 24604 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 24605
2ebfc90f 246062007-10-22 Robert Millan <rmh@aybabtu.com>
24607
24608 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
24609 `"../realmode.S"'.
24610 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
24611
73fcb0f3 246122007-10-22 Robert Millan <rmh@aybabtu.com>
24613
24614 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
24615 (pkgdata_MODULES): Add `biosdisk.mod'.
24616 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
24617 variables.
24618
24619 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
24620 (grub_biosdisk_init): Replace with ...
24621 (GRUB_MOD_INIT(biosdisk)): ... this.
24622 (grub_biosdisk_fini): Replace with ...
24623 (GRUB_MOD_FINI(biosdisk)): ... this.
24624
24625 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
24626 (grub_machine_init): Remove call to grub_biosdisk_init().
24627 (grub_machine_fini): Remove call to grub_machine_fini().
24628
24629 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
24630
3381d274 246312007-10-22 Robert Millan <rmh@aybabtu.com>
24632
24633 * include/grub/time.h: New file.
24634 * include/grub/i386/time.h: Likewise.
24635 * include/grub/powerpc/time.h: Likewise.
24636 * include/grub/sparc64/time.h: Likewise.
24637
24638 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
24639 instances to ...
24640 (KERNEL_MACHINE_TIME_HEADER): ... this.
24641 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24642 instances to ...
24643 (KERNEL_MACHINE_TIME_HEADER): ... this.
24644 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
24645 instances to ...
24646 (KERNEL_MACHINE_TIME_HEADER): ... this.
24647
24648 * kern/i386/efi/init.c: Include `<grub/time.h>'.
24649 (grub_millisleep): New function.
24650 * kern/i386/pc/init.c: Include `<grub/time.h>'.
24651 (grub_millisleep): New function.
24652 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
24653 Remove `grub/machine/time.h' include.
24654 (grub_millisleep): New function.
24655 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
24656 Remove `grub/machine/time.h' include.
24657 (grub_millisleep): New function.
24658
24659 * include/grub/misc.h (grub_div_roundup): New function.
24660
24661 * kern/misc.c: Include `<grub/time.h>'.
24662 (grub_millisleep_generic): New function.
24663
24664 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
24665 Add `time.h'.
24666 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
24667 Add `time.h'.
24668 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
24669 `machine/time.h'. Add `time.h'.
24670 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24671
a39a0312 246722007-10-21 Robert Millan <rmh@aybabtu.com>
24673
24674 * include/grub/misc.h (grub_max): New function.
24675
2aad70e2 246762007-10-21 Robert Millan <rmh@aybabtu.com>
24677
24678 * util/misc.c (grub_util_info): Call fflush() before returning.
24679
54b71c4b 246802007-10-20 Robert Millan <rmh@aybabtu.com>
24681
24682 * genmk.rb (Image): Copy `extra_flags' from here ...
24683 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
24684
24685 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
24686 to `argc' and `args' arguments.
24687
a979f513 246882007-10-17 Robert Millan <rmh@aybabtu.com>
24689
24690 * kern/i386/loader.S: New file.
24691
24692 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
24693 * kern/i386/loader.S (grub_linux_prot_size)... to here.
24694 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
24695 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
24696 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
24697 * kern/i386/loader.S (grub_linux_real_addr)... to here.
24698 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
24699 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
24700 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
24701 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
24702 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
24703 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
24704 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
24705 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
24706
24707 * kern/i386/realmode.S: New file.
24708
24709 * kern/i386/pc/startup.S (protstack): Moved from here ...
24710 * kern/i386/realmode.S (protstack)... to here.
24711 * kern/i386/pc/startup.S (gdt): Moved from here ...
24712 * kern/i386/realmode.S (gdt)... to here.
24713 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
24714 * kern/i386/realmode.S (prot_to_real)... to here.
24715
24716 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
24717 `kern/i386/realmode.S'.
24718
825fc8fd 247192007-10-17 Robert Millan <rmh@aybabtu.com>
24720
24721 * include/grub/i386/loader.h: New file.
24722
24723 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
24724 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
24725 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
24726 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
24727 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
24728 * include/grub/i386/loader.h (grub_linux_prot_size)
24729 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
24730 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
24731 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
24732 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
24733
24734 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
24735
e179b2f4 247362007-10-15 Robert Millan <rmh@aybabtu.com>
24737
24738 * normal/misc.c (grub_normal_print_device_info): Do not probe for
24739 filesystem when dev->disk is unset.
24740 Do probe for filesystem even when dev->disk->has_partitions is set.
24741 In case a filesystem is found, always report it.
24742 In case it isn't, if dev->disk->has_partitions is set, report that
24743 a partition table was found instead of reporting that no filesystem
24744 could be identified.
24745
5db82af6 247462007-10-12 Robert Millan <rmh@aybabtu.com>
24747
24748 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
24749 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
24750
68f6ac74 24751 * include/grub/types.h (grub_host_to_target16): New macro.
24752 (grub_host_to_target32): Likewise.
24753 (grub_host_to_target64): Likewise.
24754 (grub_target_to_host16): Likewise.
24755 (grub_target_to_host32): Likewise.
24756 (grub_target_to_host64): Likewise.
5db82af6 24757
24758 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
24759 Renamed from to ...
24760 (GRUB_MOD_ALIGN): ...this. Update all users.
24761
68f6ac74 24762 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
24763 grub_host_to_target32.
24764 Replace grub_be_to_cpu32 with grub_target_to_host32.
24765 (load_modules): Likewise.
24766 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
24767 Replace grub_be_to_cpu32 with grub_target_to_host32.
24768 Replace grub_cpu_to_be16 with grub_host_to_target16.
24769 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 24770
3cf497cc 247712007-10-12 Robert Millan <rmh@aybabtu.com>
24772
24773 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
24774 * util/elf/grub-mkimage.c: ... here.
24775
24776 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
24777 `util/powerpc/ieee1275/grub-mkimage.c'.
24778
c8cc3692 247792007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 24780
c8cc3692 24781 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
24782 and make it easier to figure out.
24783 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
24784 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
24785 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
24786 leave us with less than HEAP_MIN_SIZE total heap.
24787 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 24788
5c58b791 247892007-10-03 Robert Millan <rmh@aybabtu.com>
24790
24791 * include/grub/i386/io.h: New file.
24792 * commands/i386/pc/play.c (inb): Removed.
24793 (outb): Removed.
24794 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
24795 with grub_outb().
afcd2ef8 24796 * term/i386/pc/serial.c (inb): Removed.
24797 (outb): Removed.
24798 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
24799 with grub_outb().
24800 * term/i386/pc/vga.c (inb): Removed.
24801 (outb): Removed.
24802 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
24803 with grub_outb().
5c58b791 24804
1a477ed6 248052007-10-02 Robert Millan <rmh@aybabtu.com>
24806
24807 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
24808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24809 Reported by Marcin Kurek.
24810
6b5d80fa 248112007-09-07 Robert Millan <rmh@aybabtu.com>
24812
24813 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
24814 SmartFirmware version updates (as released by Sven Luther), and avoid
24815 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
24816 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
24817 known broken.
24818
5618afbf 248192007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24820
24821 From Hitoshi Ozeki:
24822 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
24823 when merging two regions.
24824
6139dcd9 248252007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24826
508e39ee 24827 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
24828 * normal/completion.c (grub_normal_do_completion): Likewise.
24829 Reported by Hitoshi Ozeki.
24830
248312007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24832
6139dcd9 24833 Do not use devices at boot in chainloading.
f19dbdb7 24834
6139dcd9 24835 * loader/i386/pc/chainloader.c (boot_drive): New variable.
24836 (boot_part_addr): Likewise.
24837 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
24838 with BOOT_DRIVE and BOOT_PART_ADDR.
24839 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
24840 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
24841
38da6516 248422007-08-29 Robert Millan <rmh@aybabtu.com>
24843
24844 Patch from Simon Peter <dn.tlp@gmx.net>:
24845 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
24846 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
24847 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
24848 util/i386/pc/grub-setup.c_DEPENDENCIES.
24849 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
24850 util/grub-probe.c_DEPENDENCIES.
24851 * conf/powerpc-ieee1275.rmk: Likewise.
24852
29d0928c 248532007-08-28 Robert Millan <rmh@aybabtu.com>
24854
24855 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
24856 to tell grub-mkdevicemap how to name devices.
24857 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
24858 feature).
24859
24860 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
24861 util/i386/get_disk_name.c.
24862 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
24863 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
24864 util/ieee1275/get_disk_name.c.
24865
24866 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
24867
24868 * DISTLIST: Add util/i386/get_disk_name.c and
24869 util/ieee1275/get_disk_name.c.
24870
24871 * util/grub-mkdevicemap.c: Replace device naming logic with
24872 grub_util_get_disk_name() calls.
24873
5a0d3cca 248742007-08-20 Robert Millan <rmh@aybabtu.com>
24875
24876 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
24877 (so that it works for both plural and singular quantities).
24878
8b72db2f 248792007-08-05 Robert Millan <rmh@aybabtu.com>
24880
24881 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
24882 so that [xz] isn't taken into account when determining order.
24883
352466bf 248842007-08-02 Marco Gerards <marco@gnu.org>
24885
24886 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
24887 `include/multiboot2.h', `include/grub/elfload.h',
24888 `include/multiboot.h', `include/grub/multiboot.h',
24889 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
24890 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
24891 `kern/elf.c', `loader/multiboot_loader.c',
24892 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
24893 `loader/i386/pc/multiboot2.c',
24894 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
24895 `util/i386/pc/grub-mkrescue.in'. Remove
24896 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
24897 `include/grub/i386/pc/util/biosdisk.h' and
24898 `include/grub/powerpc/ieee1275/multiboot.h'.
24899
8f096014 249002007-08-02 Bean <bean123ch@gmail.com>
24901
24902 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
24903 (ntfs_mod_SOURCES): New variable.
24904 (ntfs_mod_CFLAGS): Likewise.
24905 (ntfs_mod_LDFLAGS): Likewise.
24906
24907 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
24908 (grub_probe_SOURCES): Likewise.
24909 (grub_emu_SOURCES): Likewise.
24910
24911 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
24912 (grub_emu_SOURCES): Likewise.
24913
24914 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
24915 (grub_emu_SOURCES): Likewise.
f19dbdb7 24916
8f096014 24917 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
24918
24919 * fs/ntfs.c: New file.
24920
9959f7db 249212007-08-02 Bean <bean123ch@gmail.com>
24922
24923 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
24924
24925 * file.h (grub_file): Likewise.
24926
24927 * fshelp.h (grub_fshelp_read_file): Likewise.
24928
24929 * util/i386/pc/grub-setup.c (setup): Likewise.
24930 (save_first_sector): Likewise.
24931 (save_blocklists): Likewise.
f19dbdb7 24932
9959f7db 24933 * fs/affs.c (grub_affs_read_file): Likewise.
24934
24935 * fs/ext2.c (grub_ext2_read_file): Likewise.
24936
24937 * fs/fat.c (grub_fat_read_data): Likewise.
24938
24939 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
24940
24941 * fs/hfs.c (grub_hfs_read_file): Likewise.
24942
24943 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
24944
24945 * fs/jfs.c (grub_jfs_read_file): Likewise.
24946
24947 * fs/minix.c (grub_minix_read_file): Likewise.
24948
24949 * fs/sfs.c (grub_sfs_read_file): Likewise.
24950
24951 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 24952
9959f7db 24953 * fs/xfs.c (grub_xfs_read_file): Likewise.
24954
24955 * command/blocklist.c (read_blocklist): Likewise.
24956 (print_blocklist): Likewise.
24957
0a203f83 249582007-08-02 Marco Gerards <marco@gnu.org>
24959
24960 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
24961 `util/hostfs.c'.
24962
24963 * disk/host.c: New file.
24964
24965 * util/hostfs.c: Likewise.
24966
24967 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
24968 return `GRUB_ERR_BAD_FS'.
24969 * fs/sfs.c (grub_sfs_mount): Likewise.
24970 * fs/xfs.c (grub_xfs_mount): Likewise.
24971
24972 * include/grub/disk.h (enum grub_disk_dev_id): Add
24973 `GRUB_DISK_DEVICE_HOST_ID'.
24974
24975 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
24976
e5dfe777 249772007-07-24 Jerone Young <jerone@gmail.com>
24978
f19dbdb7 24979 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 24980 modules for compilation.
24981 * conf/powerpc-ieee1275.rmk: Likewise.
24982
24983 * include/multiboot.h: Move multiboot definitions to one file. Rename
24984 many definitions to not get grub specific.
24985 * include/multiboot2.h: Create header with multiboot 2 definitions.
24986 * include/grub/multiboot.h: Header for grub specific function
24987 prototypes and definitions.
24988 * include/grub/multiboot2.h: Likewise.
24989 * include/grub/multiboot_loader.h: Likewise.
24990 * include/grub/i386/pc/multiboot.h: Removed.
24991 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
24992
24993 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
24994 and 2 to allow for one multiboot and module commands.
24995 * loader/multiboot2.c: Add multiboot2 functionality.
24996 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
24997 and definition names.
24998 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
24999 2 functions.
25000 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25001 ieee1275 specific multiboot2 code.
25002
25003 * kern/i386/pc/startup.S: Change headers and definition names for
25004 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25005
daf0f0ba 250062007-07-22 Robert Millan <rmh@aybabtu.com>
25007
25008 * geninitheader.sh: Process file specified in first parameter rather
25009 than hardcoding grub_modules_init.lst.
fe6b695a 25010 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25011 than hardcoding grub_modules_init.h.
25012
25013 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25014 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25015 grub_probe_init.[ch] and grub_setup_init.[ch].
25016
25017 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25018 grub_modules_init.h with grub_emu_init.h.
25019 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25020 grub_probe_init.[ch] files.
25021 * conf/i386-efi.rmk: Likewise.
25022 * conf/i386-pc.rmk: Likewise.
25023 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25024 grub_setup_init.[ch] files.
25025
25026 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25027 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25028 to initialize modules rather than a list of hardcoded functions.
25029 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25030 grub_init_all() to initialize modules rather than a list of hardcoded
25031 functions.
25032
54cdc1cc 250332007-07-22 Robert Millan <rmh@aybabtu.com>
25034
25035 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25036 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25037
ad0686cc 250382007-07-22 Robert Millan <rmh@aybabtu.com>
25039
25040 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25041 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25042 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25043 flag when running on SmartFirmware.
25044 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25045 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25046 was set.
25047
25048 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25049 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25050 rather than decreasing it.
25051
25052 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25053 there's not enough space to do it, fail in the same way as when it
25054 can't be done because there are no partitions.
25055
25056 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25057 when nvsetenv failed.
25058
969c02ec 250592007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25060
25061 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25062 because this rule is automatically generated.
25063 (grub-mkrescue): Removed for the same reason as above.
25064
5a79f472 250652007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25066
25067 Migrate to GNU General Public License Version 3.
f19dbdb7 25068
5a79f472 25069 * COPYING: Replaced with the plain text version of GPLv3.
25070
25071 * config.guess: Updated from gnulib.
25072 * config.sub: Likewise.
25073
25074 * geninit.sh: Output a GPLv3 copyright notice.
25075 * geninitheader.sh: Likewise.
25076 * genmodsrc.sh: Likewise.
25077 * gensymlist.sh.in: Likewise.
25078
25079 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25080 * boot/i386/pc/diskboot.S: Likewise.
25081 * boot/i386/pc/pxeboot.S: Likewise.
25082 * commands/blocklist.c: Likewise.
25083 * commands/boot.c: Likewise.
25084 * commands/cat.c: Likewise.
25085 * commands/cmp.c: Likewise.
25086 * commands/configfile.c: Likewise.
25087 * commands/echo.c: Likewise.
25088 * commands/help.c: Likewise.
25089 * commands/ls.c: Likewise.
25090 * commands/search.c: Likewise.
25091 * commands/terminal.c: Likewise.
25092 * commands/test.c: Likewise.
25093 * commands/videotest.c: Likewise.
25094 * commands/i386/cpuid.c: Likewise.
25095 * commands/i386/pc/halt.c: Likewise.
25096 * commands/i386/pc/play.c: Likewise.
25097 * commands/i386/pc/reboot.c: Likewise.
25098 * commands/i386/pc/vbeinfo.c: Likewise.
25099 * commands/i386/pc/vbetest.c: Likewise.
25100 * commands/ieee1275/halt.c: Likewise.
25101 * commands/ieee1275/reboot.c: Likewise.
25102 * commands/ieee1275/suspend.c: Likewise.
25103 * disk/loopback.c: Likewise.
25104 * disk/lvm.c: Likewise.
25105 * disk/raid.c: Likewise.
25106 * disk/efi/efidisk.c: Likewise.
25107 * disk/i386/pc/biosdisk.c: Likewise.
25108 * disk/ieee1275/ofdisk.c: Likewise.
25109 * font/manager.c: Likewise.
25110 * fs/affs.c: Likewise.
25111 * fs/ext2.c: Likewise.
25112 * fs/fat.c: Likewise.
25113 * fs/fshelp.c: Likewise.
25114 * fs/hfs.c: Likewise.
25115 * fs/hfsplus.c: Likewise.
25116 * fs/iso9660.c: Likewise.
25117 * fs/jfs.c: Likewise.
25118 * fs/minix.c: Likewise.
25119 * fs/sfs.c: Likewise.
25120 * fs/ufs.c: Likewise.
25121 * fs/xfs.c: Likewise.
25122 * hello/hello.c: Likewise.
25123 * include/grub/acorn_filecore.h: Likewise.
25124 * include/grub/arg.h: Likewise.
25125 * include/grub/bitmap.h: Likewise.
25126 * include/grub/boot.h: Likewise.
25127 * include/grub/cache.h: Likewise.
25128 * include/grub/device.h: Likewise.
25129 * include/grub/disk.h: Likewise.
25130 * include/grub/dl.h: Likewise.
25131 * include/grub/elfload.h: Likewise.
25132 * include/grub/env.h: Likewise.
25133 * include/grub/err.h: Likewise.
25134 * include/grub/file.h: Likewise.
25135 * include/grub/font.h: Likewise.
25136 * include/grub/fs.h: Likewise.
25137 * include/grub/fshelp.h: Likewise.
25138 * include/grub/gzio.h: Likewise.
25139 * include/grub/hfs.h: Likewise.
25140 * include/grub/kernel.h: Likewise.
25141 * include/grub/loader.h: Likewise.
25142 * include/grub/lvm.h: Likewise.
25143 * include/grub/misc.h: Likewise.
25144 * include/grub/mm.h: Likewise.
25145 * include/grub/net.h: Likewise.
25146 * include/grub/normal.h: Likewise.
25147 * include/grub/parser.h: Likewise.
25148 * include/grub/partition.h: Likewise.
25149 * include/grub/pc_partition.h: Likewise.
25150 * include/grub/raid.h: Likewise.
25151 * include/grub/rescue.h: Likewise.
25152 * include/grub/script.h: Likewise.
25153 * include/grub/setjmp.h: Likewise.
25154 * include/grub/symbol.h: Likewise.
25155 * include/grub/term.h: Likewise.
25156 * include/grub/terminfo.h: Likewise.
25157 * include/grub/tparm.h: Likewise.
25158 * include/grub/types.h: Likewise.
25159 * include/grub/video.h: Likewise.
25160 * include/grub/efi/api.h: Likewise.
25161 * include/grub/efi/chainloader.h: Likewise.
25162 * include/grub/efi/console.h: Likewise.
25163 * include/grub/efi/console_control.h: Likewise.
25164 * include/grub/efi/disk.h: Likewise.
25165 * include/grub/efi/efi.h: Likewise.
25166 * include/grub/efi/pe32.h: Likewise.
25167 * include/grub/efi/time.h: Likewise.
25168 * include/grub/i386/linux.h: Likewise.
25169 * include/grub/i386/setjmp.h: Likewise.
25170 * include/grub/i386/types.h: Likewise.
25171 * include/grub/i386/efi/kernel.h: Likewise.
25172 * include/grub/i386/efi/loader.h: Likewise.
25173 * include/grub/i386/efi/time.h: Likewise.
25174 * include/grub/i386/pc/biosdisk.h: Likewise.
25175 * include/grub/i386/pc/boot.h: Likewise.
25176 * include/grub/i386/pc/chainloader.h: Likewise.
25177 * include/grub/i386/pc/console.h: Likewise.
25178 * include/grub/i386/pc/init.h: Likewise.
25179 * include/grub/i386/pc/kernel.h: Likewise.
25180 * include/grub/i386/pc/loader.h: Likewise.
25181 * include/grub/i386/pc/memory.h: Likewise.
25182 * include/grub/i386/pc/multiboot.h: Likewise.
25183 * include/grub/i386/pc/serial.h: Likewise.
25184 * include/grub/i386/pc/time.h: Likewise.
25185 * include/grub/i386/pc/vbe.h: Likewise.
25186 * include/grub/i386/pc/vbeblit.h: Likewise.
25187 * include/grub/i386/pc/vbefill.h: Likewise.
25188 * include/grub/i386/pc/vbeutil.h: Likewise.
25189 * include/grub/i386/pc/vga.h: Likewise.
25190 * include/grub/ieee1275/ieee1275.h: Likewise.
25191 * include/grub/ieee1275/ofdisk.h: Likewise.
25192 * include/grub/powerpc/libgcc.h: Likewise.
25193 * include/grub/powerpc/setjmp.h: Likewise.
25194 * include/grub/powerpc/types.h: Likewise.
25195 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25196 * include/grub/powerpc/ieee1275/console.h: Likewise.
25197 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25198 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25199 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25200 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25201 * include/grub/powerpc/ieee1275/time.h: Likewise.
25202 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25203 * include/grub/sparc64/libgcc.h: Likewise.
25204 * include/grub/sparc64/setjmp.h: Likewise.
25205 * include/grub/sparc64/types.h: Likewise.
25206 * include/grub/sparc64/ieee1275/console.h: Likewise.
25207 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25208 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25209 * include/grub/sparc64/ieee1275/time.h: Likewise.
25210 * include/grub/util/biosdisk.h: Likewise.
25211 * include/grub/util/getroot.h: Likewise.
25212 * include/grub/util/lvm.h: Likewise.
25213 * include/grub/util/misc.h: Likewise.
25214 * include/grub/util/raid.h: Likewise.
25215 * include/grub/util/resolve.h: Likewise.
25216 * io/gzio.c: Likewise.
25217 * kern/device.c: Likewise.
25218 * kern/disk.c: Likewise.
25219 * kern/dl.c: Likewise.
25220 * kern/elf.c: Likewise.
25221 * kern/env.c: Likewise.
25222 * kern/err.c: Likewise.
25223 * kern/file.c: Likewise.
25224 * kern/fs.c: Likewise.
25225 * kern/loader.c: Likewise.
25226 * kern/main.c: Likewise.
25227 * kern/misc.c: Likewise.
25228 * kern/mm.c: Likewise.
25229 * kern/parser.c: Likewise.
25230 * kern/partition.c: Likewise.
25231 * kern/rescue.c: Likewise.
25232 * kern/term.c: Likewise.
25233 * kern/efi/efi.c: Likewise.
25234 * kern/efi/init.c: Likewise.
25235 * kern/efi/mm.c: Likewise.
25236 * kern/i386/dl.c: Likewise.
25237 * kern/i386/efi/init.c: Likewise.
25238 * kern/i386/efi/startup.S: Likewise.
25239 * kern/i386/pc/init.c: Likewise.
25240 * kern/i386/pc/lzo1x.S: Likewise.
25241 * kern/i386/pc/startup.S: Likewise.
25242 * kern/ieee1275/ieee1275.c: Likewise.
25243 * kern/powerpc/cache.S: Likewise.
25244 * kern/powerpc/dl.c: Likewise.
25245 * kern/powerpc/ieee1275/cmain.c: Likewise.
25246 * kern/powerpc/ieee1275/crt0.S: Likewise.
25247 * kern/powerpc/ieee1275/init.c: Likewise.
25248 * kern/powerpc/ieee1275/openfw.c: Likewise.
25249 * kern/sparc64/cache.S: Likewise.
25250 * kern/sparc64/dl.c: Likewise.
25251 * kern/sparc64/ieee1275/init.c: Likewise.
25252 * kern/sparc64/ieee1275/openfw.c: Likewise.
25253 * loader/efi/chainloader.c: Likewise.
25254 * loader/efi/chainloader_normal.c: Likewise.
25255 * loader/i386/efi/linux.c: Likewise.
25256 * loader/i386/efi/linux_normal.c: Likewise.
25257 * loader/i386/pc/chainloader.c: Likewise.
25258 * loader/i386/pc/chainloader_normal.c: Likewise.
25259 * loader/i386/pc/linux.c: Likewise.
25260 * loader/i386/pc/linux_normal.c: Likewise.
25261 * loader/i386/pc/multiboot.c: Likewise.
25262 * loader/i386/pc/multiboot_normal.c: Likewise.
25263 * loader/powerpc/ieee1275/linux.c: Likewise.
25264 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25265 * normal/arg.c: Likewise.
25266 * normal/cmdline.c: Likewise.
25267 * normal/command.c: Likewise.
25268 * normal/completion.c: Likewise.
25269 * normal/execute.c: Likewise.
25270 * normal/function.c: Likewise.
25271 * normal/lexer.c: Likewise.
25272 * normal/main.c: Likewise.
25273 * normal/menu.c: Likewise.
25274 * normal/menu_entry.c: Likewise.
25275 * normal/misc.c: Likewise.
25276 * normal/parser.y: Likewise.
25277 * normal/script.c: Likewise.
25278 * normal/i386/setjmp.S: Likewise.
25279 * normal/powerpc/setjmp.S: Likewise.
25280 * normal/sparc64/setjmp.S: Likewise.
25281 * partmap/acorn.c: Likewise.
25282 * partmap/amiga.c: Likewise.
25283 * partmap/apple.c: Likewise.
25284 * partmap/gpt.c: Likewise.
25285 * partmap/pc.c: Likewise.
25286 * partmap/sun.c: Likewise.
25287 * term/gfxterm.c: Likewise.
25288 * term/terminfo.c: Likewise.
25289 * term/efi/console.c: Likewise.
25290 * term/i386/pc/console.c: Likewise.
25291 * term/i386/pc/serial.c: Likewise.
25292 * term/i386/pc/vesafb.c: Likewise.
25293 * term/i386/pc/vga.c: Likewise.
25294 * term/ieee1275/ofconsole.c: Likewise.
25295 * util/biosdisk.c: Likewise.
25296 * util/console.c: Likewise.
25297 * util/genmoddep.c: Likewise.
25298 * util/getroot.c: Likewise.
25299 * util/grub-emu.c: Likewise.
25300 * util/grub-mkdevicemap.c: Likewise.
25301 * util/grub-probe.c: Likewise.
25302 * util/lvm.c: Likewise.
25303 * util/misc.c: Likewise.
25304 * util/raid.c: Likewise.
25305 * util/resolve.c: Likewise.
25306 * util/update-grub.in: Likewise.
25307 * util/update-grub_lib.in: Likewise.
25308 * util/grub.d/00_header.in: Likewise.
25309 * util/grub.d/10_hurd.in: Likewise.
25310 * util/grub.d/10_linux.in: Likewise.
25311 * util/i386/efi/grub-install.in: Likewise.
25312 * util/i386/efi/grub-mkimage.c: Likewise.
25313 * util/i386/pc/grub-install.in: Likewise.
25314 * util/i386/pc/grub-mkimage.c: Likewise.
25315 * util/i386/pc/grub-mkrescue.in: Likewise.
25316 * util/i386/pc/grub-setup.c: Likewise.
25317 * util/i386/pc/misc.c: Likewise.
25318 * util/powerpc/ieee1275/grub-install.in: Likewise.
25319 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
25320 * util/powerpc/ieee1275/misc.c: Likewise.
25321 * video/bitmap.c: Likewise.
25322 * video/video.c: Likewise.
25323 * video/i386/pc/vbe.c: Likewise.
25324 * video/i386/pc/vbeblit.c: Likewise.
25325 * video/i386/pc/vbefill.c: Likewise.
25326 * video/i386/pc/vbeutil.c: Likewise.
25327 * video/readers/tga.c: Likewise.
25328
3572d015 253292007-07-02 Robert Millan <rmh@aybabtu.com>
25330
25331 * conf/i386-efi.rmk: Replace obsolete reference to
25332 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
25333 with util/getroot.c.
25334 * conf/powerpc-ieee1275.rmk: Likewise.
25335 * conf/sparc64-ieee1275.rmk: Likewise.
25336
25337 * util/grub-emu.c (main): Fix unchecked pointer handling.
25338
2c2a681b 253392007-07-02 Robert Millan <rmh@aybabtu.com>
25340
25341 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
25342 invocation to fail, in order to support partition-less media.
25343
25344 * util/i386/pc/grub-install.in: Likewise.
25345
25346 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
25347 which fs or partmap modules are needed (akin to its sister scripts).
25348
25349 Also use grub-probe to get rid of unportable /proc/mounts check.
25350
25351 Print the same informational message that the other scripts do, before
fe6b695a 25352 exiting.
2c2a681b 25353
6193defe 253542007-06-23 Robert Millan <rmh@aybabtu.com>
25355
fe6b695a 25356 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 25357 a font file can be found and, if so, echo the GRUB path to it.
25358
25359 * util/update-grub.in: Handle multiple terminals depending on user
25360 input, platform availability and font file presence. Propagate
25361 variables of our findings to /etc/grub.d/ children.
25362
25363 * util/grub.d/00_header.in: Handle multiple terminals, based on
25364 environment setup by update-grub.
25365
eface1dc 253662007-06-23 Robert Millan <rmh@aybabtu.com>
25367
ba50d28f 25368 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 25369
bf697e28 253702007-06-21 Robert Millan <rmh@aybabtu.com>
25371
25372 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
25373 indicate end of data section in kernel image.
25374 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
25375 GRUB_KERNEL_MACHINE_DATA_END.
25376
25377 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
25378 space for it.
25379 * kern/i386/efi/startup.S: Likewise.
25380
25381 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
25382 during image generation. Implement --prefix option to override this
25383 patch.
25384 * util/i386/efi/grub-mkimage.c: Likewise.
25385
25386 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
25387 code to make path relative to its root into a separate function.
25388
25389 * util/i386/pc/grub-install.in: Use newly provided
25390 make_system_path_relative_to_its_root() to convert ${grubdir}, then
25391 pass the result to grub-install --prefix.
25392
baa574b4 253932007-06-13 Robert Millan <rmh@aybabtu.com>
25394
25395 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
25396 DEFAULT_DEVICE_MAP.
25397 * util/grub-emu.c: Use above definitions from misc.h instead of
25398 defining them.
25399 * util/grub-mkdevicemap.c: Likewise.
25400 * util/i386/pc/grub-setup.c: Likewise.
25401 * util/grub-probe.c: Likewise.
25402 (probe): Abort with grub_util_error() when either
25403 grub_guess_root_device or grub_util_get_grub_dev fails.
25404
0215dcbf 254052007-06-12 Robert Millan <rmh@aybabtu.com>
25406
25407 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
25408 "pager" assignment.
25409 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
25410 "pcdata".
25411 * util/grub-probe.c (probe): Likewise for "drive_name".
25412
8af2ab7b 254132007-06-11 Robert Millan <rmh@aybabtu.com>
25414
25415 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
25416 not just the cdrom one.
25417
59d31694 254182007-06-11 Robert Millan <rmh@aybabtu.com>
25419
25420 * util/i386/pc/grub-mkrescue.in: Add "set -e".
25421 Add --pkglibdir=DIR option to override pkglibdir.
25422 Mention --image-type=TYPE in help output.
25423 Fix --grub-mkimage (it was a no-op).
fe6b695a 25424 Abort gracefully when no parameter is given.
59d31694 25425
7ee367e4 254262007-06-11 Robert Millan <rmh@aybabtu.com>
25427
25428 * util/i386/pc/grub-mkrescue.in: New file.
25429 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
25430 * Makefile.in: Handle bin_SCRIPTS.
25431
29b0ed46 254322007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
25433
25434 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
25435 list of video modes.
25436
c0f90770 254372007-06-06 Robert Millan <rmh@aybabtu.com>
25438
25439 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
25440 file doesn't exist, or if it is in a filesystem grub can't read.
25441
25442 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
25443 not abort if GRUB_DRIVE could not be defined. Rearrange generated
25444 header comment to fit in 80 columns when the variables are resolved.
25445
25446 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
25447 could be identified by update-grub. Remove redundant check for
fe6b695a 25448 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 25449 handles that).
25450
fb36dc26 254512007-06-04 Robert Millan <rmh@aybabtu.com>
25452
25453 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
25454
25455 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
25456
25457 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
25458
0c68c93e 254592007-06-04 Robert Millan <rmh@aybabtu.com>
25460
25461 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
25462
25463 * include/grub/partition.h: Declare grub_apple_partition_map_init and
25464 grub_apple_partition_map_fini.
25465
25466 * util/biosdisk.c
25467 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
25468 to access >2 TiB disks).
25469
25470 Print disk->total_sectors with %llu instead of %lu, since this
25471 variable is always 64-bit (prevents wrong disk size from being displayed
25472 on either >2 TiB disk or big-endian CPU).
25473
25474 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
25475 into a generic case that supports all (sane) partition maps.
25476
25477 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
25478 breaks big-endian.
25479
25480 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
25481 and grub_apple_partition_map_fini() after that.
25482
0f23eb74 254832007-06-01 Robert Millan <rmh@aybabtu.com>
25484
25485 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
25486
25487 * util/grub.d/00_header.in: Only enable gfxterm when
25488 convert_system_path_to_grub_path() succeeds.
25489
42c71976 254902007-05-20 Robert Millan <rmh@aybabtu.com>
25491
25492 * util/update-grub_lib.in: New file.
25493 * DISTLIST: Add update-grub_lib.in.
25494 * conf/common.rmk: Generate update-grub_lib and install it in
25495 $(lib_DATA).
25496 * Makefile.in: Add install routine for $(lib_DATA).
25497
25498 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
25499 function provided by update-grub_lib to support arbitrary paths of
25500 unifont.pff.
25501 * util/update-grub.in: Use convert_system_path_to_grub_path() to
25502 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
25503
5beb2291 255042007-05-19 Robert Millan <rmh@aybabtu.com>
25505
25506 * commands/i386/cpuid.c: New module.
25507 * DISTLIST: Add it.
25508 * conf/i386-efi.rmk: Enable cpuid.mod.
25509 * conf/i386-pc.rmk: Likewise.
25510
7262eca1 255112007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25512
25513 * kern/disk.c (grub_disk_read): Check return value of
25514 grub_realloc().
25515
260ba823 255162007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
25517
25518 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
25519 arrays.
25520 * disk/raid.c (grub_raid_open): Likewise.
25521
1ecb6cf2 255222007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25523
25524 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
25525 stack instead of on the heap.
25526
25527 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
25528 before doing a read on it.
25529
25530 * configure.ac: Only use -fno-stack-protector for the target
25531 environment.
f19dbdb7 25532
21c8cbb1 255332007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
25534
25535 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
25536 __attribute_ ((unused)) to mode_type argument.
25537
25538 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 25539
21c8cbb1 25540 * kern/misc.c (memcmp): Fix prototype.
25541
25542 * include/grub/partition.h [GRUB_UTIL]
25543 (grub_gpt_partition_map_init): Add prototype.
25544 (grub_gpt_partition_map_fini): Likewise.
25545
25546 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
25547 at the right place.
25548
25549 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
25550 (grub_fat_read_data): Likewise.
25551 (grub_fat_find_dir): Likewise.
25552
25553 * font/manager.c (find_glyph): Make table a const.
25554 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 25555
849d55d3 255562007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
25557
25558 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
25559 code, first search for device in /dev/mapper, then in /dev.
25560 (grub_util_get_grub_dev): New function.
25561 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
25562 prototype.
25563 * util/grub-probe.c (probe): Remove check for RAID, call
25564 grub_util_get_grub_dev() instead of
25565 grub_util_biosdisk_get_grub_dev().
25566 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
25567 grub_util_biosdisk_get_grub_dev().
25568 * util/i386/pc/grub-setup.c (main): Likewise.
25569
8fff7c2f 255702007-05-16 Robert Millan <rmh@aybabtu.com>
25571
25572 * DISTLIST: Update for the latest changes.
25573 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
25574 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
25575 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
25576 grub/util/biosdisk.h.
25577 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
25578 grub/util/biosdisk.h.
25579
48e12b52 255802007-05-16 Robert Millan <rmh@aybabtu.com>
25581
25582 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
25583
46b9d128 255842007-05-16 Robert Millan <rmh@aybabtu.com>
25585
25586 * util/i386/efi/grub-install.in: New.
25587 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
25588 newly added grub-install.
25589 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
25590 include.
25591 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
25592 grub/util/biosdisk.h.
25593 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
25594 grub/util/biosdisk.h.
25595
2d1a40a9 255962007-05-16 Robert Millan <rmh@aybabtu.com>
25597
25598 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
25599 * include/grub/util/biosdisk.h: ... here.
25600 * util/i386/pc/biosdisk.c: Moved to ...
25601 * util/biosdisk.c: ... here.
25602 * util/i386/pc/getroot.c: Moved to ...
25603 * util/getroot.c: ... here.
25604 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
25605 * util/grub-mkdevicemap.c: ... here.
25606 * util/i386/pc/grub-probe.c: Moved to ...
25607 * util/grub-probe.c: ... here.
25608
9e26e3bc 256092007-05-15 Robert Millan <rmh@aybabtu.com>
25610
25611 * util/update-grub.in: Remove duplicated line in grub.cfg header
25612 message.
25613
57f96397 256142007-05-13 Robert Millan <rmh@aybabtu.com>
25615
25616 * util/update-grub.in: Fix a few assumptions about the devices holding
25617 /, /boot and /boot/grub being the same.
25618 * util/grub.d/00_header.in: Likewise.
25619 * util/grub.d/10_hurd.in: Likewise.
25620 * util/grub.d/10_linux.in: Likewise.
25621
25622 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
25623 patterns. Use that to define the `.old' suffix as older than `'.
25624
25625 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
25626
25627 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
25628 the grub.cfg header message.
25629
2e610d62 256302007-05-11 Robert Millan <rmh@aybabtu.com>
25631
25632 * util/update-grub.in: Create device.map if it doesn't already exist,
25633 before attempting to run grub-probe.
25634 Check for grub-probe and grub-mkdevicemap with the same code
25635 grub-install is using.
25636 Remove test mode.
25637
3f6a10ef 256382007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
25639
25640 * Makefile.in: Add the datarootdir autoconf variable.
25641
02e7b75e 256422007-05-09 Robert Millan <rmh@aybabtu.com>
25643
25644 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 25645 fail gracefully if dev->disk->partition == NULL.
02e7b75e 25646
75f396cc 256472007-05-07 Robert Millan <rmh@aybabtu.com>
25648
25649 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
25650 determine partition map module.
25651 * util/i386/pc/grub-install.in: Use this feature to decide which
25652 partition module to load, instead of hardcoding pc and gpt.
25653
da65cb36 256542007-05-07 Robert Millan <rmh@aybabtu.com>
25655
25656 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
25657 source directory differs from build directory.
25658
b57d6a91 256592007-05-05 Robert Millan <rmh@aybabtu.com>
25660
25661 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
25662 initialisation.
25663
509d00f1 256642007-05-05 Robert Millan <rmh@aybabtu.com>
25665
25666 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
25667
c48f23ef 256682007-05-05 Robert Millan <rmh@aybabtu.com>
25669
25670 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
25671 command-line arguments via ${GRUB_CMDLINE_LINUX}.
25672
20b97658 256732007-05-05 Robert Millan <rmh@aybabtu.com>
25674
25675 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
25676 (grub_probe_SOURCES): Likewise.
25677 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
25678 GPT and initialize dos_part and bsd_part accordingly.
25679 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
25680 install_bsd_part.
25681 (main): Activate gpt module for use during partition identification,
25682 and deactivate it afterwards.
25683 * util/i386/pc/grub-install.in: Add gpt module to core.img.
25684 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
25685 partition identification, and deactivate it afterwards.
25686
99123174 256872007-05-05 Robert Millan <rmh@aybabtu.com>
25688
25689 * term/i386/pc/console.c (grub_console_fini): Call
25690 grub_term_set_current() before grub_term_unregister().
25691
ebd97f6e 256922007-05-04 Robert Millan <rmh@aybabtu.com>
25693
25694 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
25695 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
25696 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
25697 and update-grub_DATA.
25698 * conf/common.rmk: Build and install update-grub components.
25699 * conf/common.mk: Regenerate.
25700 * util/update-grub.in: New. Core of update-grub.
25701 * util/grub.d/00_header.in: New. Generates grub.cfg header.
25702 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
25703 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
25704 * util/grub.d/README: New. Document grub.d directory layout.
25705
b06a264d 257062007-05-01 Robert Millan <rmh@aybabtu.com>
25707
25708 * util/grub-emu.c: Move initialization functions
25709 grub_util_biosdisk_init() and grub_init_all() before
25710 grub_util_biosdisk_get_grub_dev(), which relies on them.
25711
41f0050e 257122007-04-19 Robert Millan <rmh@aybabtu.com>
25713
25714 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
25715 it is used later.
25716
04582bb3 257172007-04-18 Jerone Young <jerone@gmail.com>
25718
f19dbdb7 25719 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 25720 stanza.
25721
08db4632 257222007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 25723
08db4632 25724 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
25725 continue on and look for device node with real device name.
25726
801b76be 257272007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 25728
fe6b695a 25729 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 25730 ability.
25731 * Makefile.in: Add autoconf package transformation code.
25732 * util/i386/pc/grub-install.in: Likewise.
25733 * util/powerpc/ieee1275/grub-install.in: Likewise.
25734
6795c4e1 257352007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25736
25737 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
25738 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
25739 (EXT2_REVISION): Likewise.
25740 (EXT2_INODE_SIZE): Likewise.
25741 (struct grub_ext2_block_group): Added a missing member
25742 "used_dirs".
25743 (grub_ext2_read_inode): Divide by the inode size in a superblock
25744 instead of 128 to obtain INODES_PER_BLOCK.
25745 Use the macro EXT2_INODE_SIZE instead of directly using
25746 SBLOCK->INODE_SIZE.
25747
d70af616 257482007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25749
25750 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
25751 superblock instead of the structure size to compute an
25752 offset. This fixes the problem that GRUB could not read a
25753 filesystem when inode size is different from 128-byte.
25754
3b801603 257552007-03-05 Marco Gerards <marco@gnu.org>
25756
25757 * normal/main.c (read_config_file): When "menu" is not set, create
25758 an initial context.
25759
4785bfe4 257602007-02-21 Hollis Blanchard <hollis@penguinppc.org>
25761
25762 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
25763 (HEAP_LIMIT): New macro.
25764 (grub_claim_heap): Claim memory up to `heaplimit'.
25765
a0cbb023 257662007-02-21 Hollis Blanchard <hollis@penguinppc.org>
25767
25768 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
25769 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
25770 (_start): Likewise.
25771 (grub_arch_modules_addr): Return address after `_end'.
25772 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
25773 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
25774 (add_segments): Calculate `_end' from phdr size and location.
25775 (ALIGN_UP): Moved to ...
25776 * include/grub/misc.h: here.
25777 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25778 New macro.
25779 (GRUB_IEEE1275_MODULE_BASE): Removed.
25780
fd7d8eba 257812007-02-20 Hollis Blanchard <hollis@penguinppc.org>
25782
25783 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
25784 loop boundary.
25785
9b09e6fc 257862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
25787
25788 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
25789 All users updated.
25790 (grub_elf64_load_hook_t): Likewise.
25791 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
25792 debug output.
25793
3ce27299 257942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
25795
25796 * kern/mm.c: Update copyright.
25797 (grub_mm_debug): Correct syntax error.
25798 (grub_mm_dump_free): New function.
25799 (grub_debug_free): Call `grub_free'.
25800 * include/grub/mm.h: Update copyright.
25801 (grub_mm_dump_free): Add declaration.
25802
077d5fee 258032007-02-12 Hollis Blanchard <hollis@penguinppc.org>
25804
25805 * include/grub/ieee1275/ieee1275.h: Update copyright.
25806 * kern/powerpc/ieee1275/init.c: Likewise.
25807 * kern/powerpc/ieee1275/openfw.c: Likewise.
25808
25809 * loader/powerpc/ieee1275/linux.c: Likewise.
25810 * include/grub/elfload.h: Likewise.
25811 * kern/elf.c: Likewise.
25812 (grub_elf32_load): Pass `base' and `size' parameters. Update all
25813 callers.
25814 (grub_elf64_load): Likewise.
25815 (grub_elf32_load_segment): Move to a nested function.
25816 (grub_elf64_load_segment): Likewise.
25817
dc946850 258182007-02-12 Hollis Blanchard <hollis@penguinppc.org>
25819
25820 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
25821 prototype.
25822 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
25823 (grub_heap_len): Likewise.
25824 (HEAP_SIZE): New macro.
25825 (grub_claim_heap): New function.
25826 (grub_machine_init): Don't claim heap directly. Call
25827 `grub_claim_heap'.
25828 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
25829 (grub_available_iterate): New function.
25830
baa2a121 258312007-02-03 Thomas Schwinge <tschwinge@gnu.org>
25832
25833 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
25834 * configure.ac: Use it for testing the HOST and TARGET compilers.
25835
4fe9862e 258362006-12-13 Thomas Schwinge <tschwinge@gnu.org>
25837
25838 * Makefile.in (enable_grub_emu): New variable.
25839 * configure.ac (--enable-grub-emu): New option.
25840 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
25841 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
25842 * conf/i386-pc.rmk: Likewise.
25843 * conf/powerpc-ieee1275.rmk: Likewise.
25844 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
25845
a8aa5762 258462006-12-12 Marco Gerards <marco@gnu.org>
25847
25848 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
25849
25850 * kern/env.c (grub_env_unset): Don't free the member `value' when
25851 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
25852 pointer.
25853
25854 * normal/main.c (current_menu): Removed.
25855 (free_menu): Unset the `menu' environment variable.
25856 (grub_normal_menu_addentry): Make use of the environment variable
25857 `menu', instead of using the global `current_menu'. Allocate
25858 memory for the sourcecode of this entry.
25859 (read_config_file): New argument `nested', changed all callers.
25860 Only in the case of a new context, initialize a new menu. Set the
25861 `menu' environment variable.
25862 (grub_normal_execute): Don't set and unset the environment
25863 variable `menu' here anymore. Only free the menu when leaving the
25864 context.
25865
25866 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
25867 leak.
25868
957b3a3e 258692006-12-11 Marco Gerards <marco@gnu.org>
25870
25871 * normal/menu_entry.c (run): Fix off by one bug so the last line
25872 is executed. Move the loader check to outside the loop.
25873
ef875714 258742006-12-08 Hollis Blanchard <hollis@penguinppc.org>
25875
25876 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
25877
4e739985 258782006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
25879
25880 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
25881 the number of sectors. Reported by Andrey Shuvikov
25882 <mr_hyro@yahoo.com>.
f19dbdb7 25883
790707f2 258842006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
25885
25886 * kern/disk.c (grub_disk_read): When there is a read error, always
25887 try to read only the necessary data.
f19dbdb7 25888
790707f2 25889 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
25890 disk/raid.c.
25891 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
25892 prototype.
25893 [GRUB_UTIL] (grub_raid_fini): Likewise.
25894 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 25895 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 25896 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
25897 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
25898 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
25899 and grub_raid_fini().
f19dbdb7 25900
03e58196 259012006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25902
25903 * include/grub/types.h (__unused): Rename to UNUSED.
25904 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
25905 (grub_elf64_size): Likewise.
f19dbdb7 25906
ae4f23bf 259072006-11-03 Hollis Blanchard <hollis@penguinppc.org>
25908
25909 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
25910 grub_error_push and grub_error_pop in the error-handling path.
25911 (grub_elf32_load_segment): Only call grub_file_read with non-zero
25912 length.
25913
2166cc83 259142006-11-03 Hollis Blanchard <hollis@penguinppc.org>
25915
25916 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
25917 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25919 (kernel_elf_SOURCES): Likewise.
25920 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
25921 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
25922 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25923 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25924 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
25925 (elf_mod_SOURCES): New variable.
25926 (elf_mod_CFLAGS): Likewise.
25927 (elf_mod_LDFLAGS): Likewise.
25928 * include/grub/types.h (__unused): New macro.
25929 * include/grub/elfload.h: New file.
25930 * kern/elf.c: Likewise.
25931 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
25932 (ELF32_LOADMASK): New macro.
25933 (ELF64_LOADMASK): Likewise.
25934 (vmlinux): Removed.
25935 (grub_linux_load32): New function.
25936 (grub_linux_load64): Likewise.
25937 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
25938 Use grub_elf_t instead of grub_file_t.
25939
a09d5aa5 259402006-11-02 Hollis Blanchard <hollis@penguinppc.org>
25941
25942 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
25943 `catch_result' to struct set_color_args.
25944
d976fc51 259452006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
25946
25947 * normal/menu.c: Include grub/script.h.
25948 * normal/menu_entry.c: Likewise.
25949 * include/grub/normal.h: Do not include grub/script.h.
25950
67507549 259512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25952
25953 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
25954
69203a99 259552006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25956
25957 * kern/disk.c (grub_disk_open): Print debug messages when opening a
25958 disk.
25959 (grub_disk_close): Print debug messages when closing a disk.
25960 (grub_disk_read): Print debug messages when disk read fails.
25961 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
25962 filesystem type.
25963 * kern/partition.c: Include misc.h.
25964 (grub_partition_iterate): Print debug messages when detecting
25965 partition type.
25966
e2b8278c 259672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
25968
25969 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
25970 is negative.
25971 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
25972
97b2f2ff 259732006-10-26 Hollis Blanchard <hollis@penguinppc.org>
25974
25975 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25976 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
25977
6555d655 259782006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
25979
25980 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
25981 instead of sizeof(lv). Patch by Michael Guntsche.
25982
4d42b77f 259832006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
25984
25985 * disk/lvm.c: Rename VGS to VG_LIST.
25986 (grub_lvm_iterate): Change VGS->LV to VG-LV.
25987 (grub_lvm_open): Likewise.
25988 Thanks to Michael Guntsche for finding this bug.
25989
5d74d927 259902006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
25991
25992 * configure.ac (AC_INIT): Bumped to 1.95.
25993
a1bb27e4 259942006-10-14 Robert Millan <rmh@aybabtu.com>
25995
25996 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
25997 with "/dev/.static/dev/md".
25998
e0994b8b 259992006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26000
26001 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26002 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26003 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26004 DRIVE_NAME are always freed.
26005
26006 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26007 DOS_PART, as a DOS partition is counted from one instead of zero
26008 now. Reported by Robert Millan.
26009
ddd5cee9 260102006-10-14 Robert Millan <rmh@aybabtu.com>
26011
26012 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26013 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26014 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26015 string returned by grub_guess_root_device.
26016 * util/i386/pc/grub-setup.c: Likewise.
26017 * util/i386/pc/grub-probefs.c: Likewise.
26018
26019 * util/i386/pc/grub-probefs.c: Rename to ...
26020 * util/i386/pc/grub-probe.c: ... this.
26021 * DISTLIST: Remove grub-probefs, add grub-probe.
26022 * conf/i386-efi.rmk: Likewise.
26023 * conf/i386-pc.rmk: Likewise.
26024 * util/i386/pc/grub-install.in: Likewise.
26025
26026 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26027 choose which information we want to print.
26028
2b002173 260292006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26030
26031 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26032 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26033 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26034 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26035 video/readers/tga.c and video/i386/pc/vbeutil.c.
26036
260372006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26038
26039 Added support for RAID and LVM.
f19dbdb7 26040
2b002173 26041 * disk/lvm.c: New file.
26042 * disk/raid.c: Likewise.
26043 * include/grub/lvm.h: Likewise.
f19dbdb7 26044 * include/grub/raid.h: Likewise.
2b002173 26045 * include/grub/util/lvm.h: Likewise.
26046 * include/grub/util/raid.h: Likewise.
26047 * util/lvm.c: Likewise.
26048 * util/raid.c: Likewise.
26049
26050 * include/grub/disk.h (grub_disk_dev_id): Add
26051 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26052 (grub_disk_get_size): New prototype.
26053 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26054 returns a partition.
26055 (grub_disk_get_size): New function.
f19dbdb7 26056
2b002173 26057 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26058 verbatim if grub_install_dos_part is -2.
26059
26060 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26061 and LVM devices.
26062
26063 * util/i386/pc/grub-setup.c (setup): New argument
26064 MUST_EMBED. Force embedding of GRUB when the argument is
26065 true. Close FILE before returning.
26066 (main): Add support for RAID and LVM.
f19dbdb7 26067
2b002173 26068 * conf/common.rmk: Add RAID and LVM modules.
26069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26070 util/lvm.c.
26071 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26072
26073 * kern/misc.c (grub_strstr): New function.
26074 * include/grub/misc.h (grub_strstr): New prototype.
26075
050548d0 260762006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26077
26078 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26079
da849d2d 260802006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26081
26082 * kern/misc.c (grub_strtoull): Guess the base only if not
26083 specified.
26084
97b2f2ff 260852006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26086
26087 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26088 PowerMac support.
26089
97b2f2ff 260902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26091
26092 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26093
26094 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26095 Remove `flags' argument. All callers changed.
26096 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26097 (IEEE1275_IHANDLE_INVALID): New variable.
26098 (IEEE1275_CELL_INVALID): New variable.
26099 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26100 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26101 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26102 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26103 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26104 codes from Open Firmware. All callers updated.
26105 (grub_ieee1275_next_property): Directly return Open Firmware return
26106 code.
26107 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26108 Standardize error checking from `grub_ieee1275_get_property'.
26109 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26110 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26111
97b2f2ff 261122006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26113
26114 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26115 `instance_to_package_args' to `instance_to_path_args'.
26116
26117 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26118 `grub_ieee1275_chosen'.
26119
26120 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26121 `grub_ieee1275_interpret'.
26122
97b2f2ff 261232006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26124
26125 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26126
97b2f2ff 261272006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26128
26129 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26130 (__cmpdi): Likewise.
26131
26132 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26133 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26134 `grub_ssize_t'.
26135
02bb8acc 26136 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26137
26138 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26139 to type `grub_ssize_t'.
26140 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26141
7f9a8531 261422006-09-22 Marco Gerards <marco@gnu.org>
26143
26144 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26145 newlines.
26146
b5ef1102 261472006-09-22 Marco Gerards <marco@gnu.org>
26148
26149 * commands/echo.c: New file.
26150
26151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26152
26153 * conf/common.rmk (echo_mod_SOURCES): New variable.
26154 (echo_mod_CFLAGS): Likewise.
26155 (echo_mod_LDFLAGS): Likewise.
26156
2cff3677 261572006-09-22 Marco Gerards <marco@gnu.org>
26158
26159 * normal/main.c (get_line): Malloc memory instead of using
26160 preallocated memory. Removed the arguments `cmdline' and
26161 `max_len'. Updated all callers.
26162
6ba4688b 261632006-09-22 Marco Gerards <marco@gnu.org>
26164
26165 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26166 (normal_mod_DEPENDENCIES): Likewise.
26167
26168 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26169 (normal_mod_DEPENDENCIES): Likewise.
26170
26171 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26172
e02ac02c 261732006-09-22 Johan Rydberg <jrydberg@gnu.org>
26174
26175 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26176 programs.
26177 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26178 (normal_mod_DEPENDENCIES): Likewise.
26179 * conf/i386-pc.mk: Regenerate.
26180 * conf/i386-efi.mk: Likewise
26181 * conf/common.mk: Likewise.
26182 * conf/powerpc-ieee1275.mk: Likewise.
26183 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26184
8d252e44 261852006-09-22 Robert Millan <rmh@aybabtu.com>
26186
26187 Sync with i386 version.
26188 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26189 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26190
209bf7ac 261912006-09-21 Robert Millan <rmh@aybabtu.com>
26192
26193 Import from GRUB Legacy (lib/device.c):
26194 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26195 (init_device_map) [__linux__]: Add support for I2O devices.
26196
6b146090 261972006-09-14 Marco Gerards <marco@gnu.org>
26198
26199 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26200 `-melf_i386'.
26201
e38600a8 262022006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26203
26204 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26205 /boot/grub/*.lst.
78fa1790 26206
2952da5d 26207 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26208
2952da5d 26209 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26210 before adding it to device.map.
26211
01b82a64 262122006-08-15 Johan Rydberg <jrydberg@gnu.org>
26213
fe6b695a 26214 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 26215 compiles a file; using the -MD option.
26216 * conf/common.mk: Regenerate.
26217 * conf/i386-pc.mk: Likewise.
26218 * conf/i386-efi.mk: Likewise.
26219 * conf/powerpc-ieee1275.mk: Likewise.
26220 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26221
1064790d 262222006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
26223
26224 Move the prototypes of grub_setjmp and grub_longjmp to
26225 cpu/setjmp.h, so that each architecture may specify different
26226 attributes.
f19dbdb7 26227
1064790d 26228 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
26229 (grub_longjmp): Likewise.
26230 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
26231 (grub_longjmp): Likewise.
26232 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
26233 (grub_longjmp): Likewise.
26234
26235 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
26236 [!GRUB_UTIL] (grub_longjmp): Removed.
26237
29dda3ed 262382006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
26239
26240 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
26241 "color!" method does not return any value.
26242
ad2a06ed 262432006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26244
26245 * include/grub/bitmap.h: New file.
26246
26247 * include/grub/i386/pc/vbeutil.h: Likewise.
26248
26249 * video/bitmap.c: Likewise.
26250
26251 * video/readers/tga.c: Likewise.
26252
26253 * video/i386/pc/vbeutil.c: Likewise.
26254
26255 * commands/videotest.c: Code cleanup and updated to reflect to new
26256 video API.
26257
26258 * term/gfxterm.c: Likewise.
26259
26260 * video/video.c: Likewise.
26261
26262 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
26263 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
26264 (bitmap_mod_SOURCES): New entry.
26265 (bitmap_mod_CFLAGS): Likewise.
26266 (bitmap_mod_LDFLAGS): Likewise.
26267 (tga_mod_SOURCES): Likewise.
26268 (tga_mod_CFLAGS): Likewise.
26269 (tga_mod_LDFLAGS): Likewise.
26270
26271 * include/grub/video.h (grub_video_blit_operators): New enum type.
26272 (grub_video_render_target): Changed as forward declaration and moved
26273 actual definition to be video driver specific.
26274 (grub_video_adapter.blit_bitmap): Added blitting operator.
26275 (grub_video_adapter.blit_render_target): Likewise.
26276 (grub_video_blit_bitmap): Likewise.
26277 (grub_video_blit_render_target): Likewise.
26278
26279 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
26280 driver specific render target definition.
26281 (grub_video_vbe_map_rgba): Added driver internal helper.
26282 (grub_video_vbe_unmap_color): Updated to use
26283 grub_video_i386_vbeblit_info.
26284 (grub_video_vbe_get_video_ptr): Likewise.
26285
26286 * include/grub/i386/pc/vbeblit.h
26287 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
26288 grub_video_i386_vbeblit_info.
26289 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26290 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26291 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26292 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26293 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26294 (grub_video_i386_vbeblit_index_index): Likewise.
26295 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
26296 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26297 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26298 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
26299 operator.
26300 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
26301 operator.
26302
26303 * video/i386/pc/vbeblit.c: Updated to reflect changes on
26304 include/grub/i386/pc/vbeblit.h.
26305
26306 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
26307 Updated to use grub_video_i386_vbeblit_info.
26308 (grub_video_i386_vbefill_R8G8B8): Likewise.
26309 (grub_video_i386_vbefill_index): Likewise.
26310 (grub_video_i386_vbefill): Added generic filler.
26311
26312 * video/i386/pc/vbefill.c: Updated to reflect changes on
26313 include/grub/i386/pc/vbefill.h.
26314
26315 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
26316 grub_video_i386_vbeblit_info.
26317 (grub_video_vbe_unmap_color): Likewise.
26318 (grub_video_vbe_blit_glyph): Likewise.
26319 (grub_video_vbe_scroll): Likewise.
26320 (grub_video_vbe_draw_pixel): Removed function.
26321 (grub_video_vbe_get_pixel): Likewise.
26322 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
26323 updated code to use it.
26324 (common_blitter): Added common blitter for render target and bitmap.
26325 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
26326 (grub_video_vbe_blit_render_target): Likewise.
26327
bc8c036d 263282006-07-30 Johan Rydberg <jrydberg@gnu.org>
26329
26330 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
26331 is in text mode if there is no console control protocol instance
26332 available.
26333
684a8eff 263342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26335
26336 * include/grub/video.h: Code cleanup.
26337
26338 * include/grub/i386/pc/vbe.h: Likewise.
26339
26340 * video/i386/pc/vbe.c: Likewise.
26341
26342 * video/i386/pc/vbeblit.c: Likewise.
26343
26344 * video/i386/pc/vbefill.c: Likewise.
26345
26346 * video/video.c: Likewise. Also added more comments.
26347
5915059b 263482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
26349
26350 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
26351 (struct grub_biosdisk_dap): Likewise.
26352
26353 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
26354 linkage settings for all functions.
26355
90ce5d56 263562006-07-12 Marco Gerards <marco@gnu.org>
26357
26358 * configure.ac (--enable-mm-debug): Fix typo.
26359
26360 * genkernsyms.sh.in: Use proper quoting for `CC'.
26361
43e7f879 263622006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
26363
26364 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
26365 (normal_mod_ASFLAGS): Remove "-m32".
26366
4889bdec 263672006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
26368
26369 * util/misc.c: Include config.h.
26370 [!HAVE_MEMALIGN]: Do not include malloc.h.
26371 (grub_memalign): Use posix_memalign, if present. Then, use
26372 memalign, if present. Otherwise, emit an error.
26373
26374 * util/grub-emu.c: Do not include malloc.h.
26375
26376 * include/grub/util/misc.h: Include unistd.h. This is required for
26377 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
26378 D. Eades III <hde@foobar-qux.org>.
26379
26380 * configure.ac (AC_GNU_SOURCE): Added.
26381 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
26382 type.
26383
fd39d4da 263842006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
26385
26386 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
26387 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
26388
b786f3b5 263892006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
26390
26391 * include/grub/types.h (grub_host_addr_t): Rename to
26392 grub_target_addr_t.
26393 (grub_host_off_t): Rename to grub_target_off_t.
26394 (grub_host_size_t): Rename to grub_target_size_t.
26395 (grub_host_ssize_t): Rename to grub_target_ssize_t.
26396 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
26397
26398 * include/grub/kernel.h (struct grub_module_header): Change type
26399 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
26400 (grub_module_info): Likewise.
f19dbdb7 26401
051988bb 264022006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26403
26404 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
26405 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
26406 Velazquez <jesus.velazquez@gmail.com>.
26407
deae281b 264082006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
26409
26410 Count partitions from 1 instead of 0 in the string representation
26411 of partitions. Still use 0-based internally.
f19dbdb7 26412
deae281b 26413 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
26414 (sun_partition_map_iterate): Use grub_partition_t instead of
26415 struct grub_partition *. Cast DESC->START_CYLINDER to
26416 grub_uint64_t after converting the endian.
26417 (sun_partition_map_probe): Subtract 1 for PARTNUM.
26418 (sun_partition_map_get_name): Add 1 to P->INDEX.
26419
26420 * partmap/pc.c (grub_partition_parse): Subtract 1 for
26421 PCDATA->DOS_PART.
26422 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
26423
26424 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
26425 zero instead of one.
26426 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
26427 (gpt_partition_map_get_name): Add 1 into P->INDEX.
26428
26429 * partmap/apple.c (apple_partition_map_iterate): Change the type
26430 of POS to unsigned.
26431 (apple_partition_map_probe): Subtract 1 for PARTNUM.
26432 (apple_partition_map_get_name): Add 1 into P->INDEX.
26433
26434 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
26435 of POS to unsigned.
26436 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
26437 calculate the offset of a partition.
26438 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
26439 (amiga_partition_map_get_name): Add 1 into P->INDEX.
26440
26441 * partmap/acorn.c (acorn_partition_map_find): Change the type of
26442 SECTOR to grub_disk_addr_t.
26443 (acorn_partition_map_iterate): Likewise.
26444 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
26445 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
26446 top.
26447 (acorn_partition_map_get_name): Add 1 into P->INDEX.
26448
26449 * kern/i386/pc/init.c (make_install_device): Add 1 into
26450 GRUB_INSTALL_DOS_PART.
26451
26452 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
26453 conditional.
26454
524a1e6a 264552006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26456
26457 Clean up the code to support 64-bit addressing in disks and
26458 files. This change is not enough for filesystems yet.
f19dbdb7 26459
524a1e6a 26460 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
26461 type of "start" to grub_uint64_t.
26462 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
26463 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
26464 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
26465 convert addresses.
26466
26467 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
26468 to grub_disk_addr_t.
26469
26470 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
26471 string.
26472
26473 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26474
26475 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
26476 to char *.
26477
26478 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
26479
26480 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
26481
26482 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
26483
26484 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
26485 to grub_off_t, to detect an error from grub_file_seek.
26486 (grub_multiboot_load_elf32): Likewise.
26487
26488 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
26489 maximum unsigned long value when an overflow is detected.
26490 (grub_strtoull): New function.
26491 (grub_divmod64): Likewise.
26492 (grub_lltoa): use grub_divmod64.
26493
26494 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
26495 grub_disk_addr_t.
26496 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
26497 the pointer to next character. Use grub_strtoull instead of
26498 grub_strtoul.
26499 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
26500 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
26501 respectively.
26502
fe6b695a 26503 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 26504 return value is signed.
26505 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
26506 test if OFFSET is less than zero, as OFFSET is unsigned now.
26507
26508 * kern/disk.c (struct grub_disk_cache): Change the type of
26509 "sector" to grub_disk_addr_t.
26510 (grub_disk_cache_get_index): Change the type of SECTOR to
26511 grub_disk_addr_t. Calculate the hash with SECTOR casted to
26512 unsigned after shifting.
26513 (grub_disk_cache_invalidate): Change the type of SECTOR to
26514 grub_disk_addr_t.
26515 (grub_disk_cache_unlock): Likewise.
26516 (grub_disk_cache_store): Likewise.
26517 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
26518 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
26519 grub_disk_addr_t and grub_uint64_t, respectively.
26520 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
26521 body, as the value of OFFSET is tweaked by
26522 grub_disk_check_range. Change the types of START_SECTOR, LEN and
26523 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
26524 respectively.
26525 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
26526 body, as the value of OFFSET is tweaked by
26527 grub_disk_check_range. Change the types of LEN and N to
26528 grub_size_t.
26529
26530 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
26531 and "saved_offset" to grub_off_t.
26532 (test_header): Cast BUF to char *.
26533 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
26534 to char *.
26535 (grub_gzio_read): Change the types of OFFSET and SIZE to
26536 grub_off_t and grub_size_t, respectively.
26537
26538 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
26539 Removed.
26540 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
26541 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
26542 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
26543 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
26544 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
26545
26546 * include/grub/types.h (grub_off_t): Unconditionally set to
26547 grub_uint64_t.
26548 (grub_disk_addr_t): Changed to grub_uint64_t.
26549
26550 * include/grub/partition.h (struct grub_partition): Change the
26551 types of "start", "len" and "offset" to grub_disk_addr_t,
26552 grub_uint64_t and grub_disk_addr_t, respectively.
26553 (grub_partition_get_start): Return grub_disk_addr_t.
26554 (grub_partition_get_len): Return grub_uint64_t.
26555
26556 * include/grub/misc.h (grub_strtoull): New prototype.
26557 (grub_divmod64): Likewise.
26558
26559 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
26560 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
26561 grub_off_t, respectively.
26562 All callers and references changed.
26563
26564 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
26565 grub_size_t in "read".
26566 All callers and references changed.
26567
26568 * include/grub/file.h (struct grub_file): Change the types of
26569 "offset" and "size" to grub_off_t and grub_off_t,
26570 respectively. Change the type of SECTOR to grub_disk_addr_t in
26571 "read_hook".
26572 (grub_file_read): Change the type of LEN to grub_size_t.
26573 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
26574 grub_off_t.
26575 (grub_file_size): Return grub_off_t.
26576 (grub_file_tell): Likewise.
26577 All callers and references changed.
26578
26579 * include/grub/disk.h (struct grub_disk_dev): Change the types of
26580 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
26581 "write".
26582 (struct grub_disk): Change the type of "total_sectors" to
26583 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 26584 "read_hook".
524a1e6a 26585 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
26586 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
26587 (grub_disk_write): Likewise.
26588 All callers and references changed.
26589
26590 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
26591 char * for grub_strncmp to silence gcc.
26592 (grub_iso9660_mount): Likewise.
26593 (grub_iso9660_mount): Likewise.
26594 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
26595 return statement.
26596 (grub_iso9660_iterate_dir): Likewise.
26597 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
26598
26599 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
26600 LEN to grub_disk_addr_t and grub_size_t, respectively.
26601
26602 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26603
26604 * fs/jfs.c (grub_jfs_read_file): Likewise.
26605
26606 * fs/minix.c (grub_jfs_read_file): Likewise.
26607
26608 * fs/sfs.c (grub_jfs_read_file): Likewise.
26609
26610 * fs/ufs.c (grub_jfs_read_file): Likewise.
26611
26612 * fs/xfs.c (grub_jfs_read_file): Likewise.
26613
26614 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
26615 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
26616 respectively.
26617
26618 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
26619 BLKNR to -1 instead of returning GRUB_ERRNO.
26620 (grub_ext2_read_file): Change the types of SECTOR and
26621 LEN to grub_disk_addr_t and grub_size_t, respectively.
26622
26623 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
26624 LEN to grub_disk_addr_t and grub_size_t, respectively.
26625
26626 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
26627 grub_file_read.
26628
26629 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
26630 string. Do not cast SECTOR explicitly.
26631
26632 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
26633 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
26634 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
26635 grub_disk_addr_t and grub_size_t, respectively. If the sector is
26636 over 2TB and LBA mode is not supported, raise an error.
26637 (get_safe_sectors): New function.
26638 (grub_biosdisk_read): Use get_safe_sectors.
26639 (grub_biosdisk_write): Likewise.
26640
26641 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
26642 (grub_efidisk_write): Likewise.
26643
26644 * disk/loopback.c (delete_loopback): Cosmetic changes.
26645 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
26646 correctly.
26647 (grub_loopback_open): Likewise.
26648 (grub_loopback_read): Likewise. Also, change the type of POS to
26649 grub_off_t, and fix the usage of grub_memset.
26650
26651 * commands/i386/pc/play.c: Include grub/machine/time.h.
26652
26653 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
26654 print FILE->SIZE.
26655
26656 * commands/configfile.c: Include grub/env.h.
26657
26658 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
26659 GRUB_ERRNO directly instead. Change the type of POS to
26660 grub_off_t. Follow the coding standard.
26661
26662 * commands/blocklist.c: Include grub/partition.h.
26663 (grub_cmd_blocklist): Return an error if the underlying device is
26664 not a disk. Take the starting sector of a partition into account,
26665 if a partition is used.
26666
26667 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
26668 a length field.
26669 (lba_mode): Support 64-bit addresses.
26670 (chs_mode): Likewise.
26671 (copy_buffer): Adapted to the new offsets of a length field and a
26672 segment field.
26673 (blocklist_default_start): Allocate 64-bit space.
26674
26675 * boot/i386/pc/boot.S (force_lba): Removed.
26676 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 26677 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 26678 space.
26679 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
26680 is useless.
26681 (lba_mode): Refactored to support a 64-bit address. More size
26682 optimization.
26683 (setup_sectors): Likewise.
26684
53af98ad 266852006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
26686
26687 * DISTLIST: Added include/grub/i386/linux.h. Removed
26688 include/grub/i386/pc/linux.h
26689
26690 * configure.ac (AC_INIT): Bumped to 1.94.
26691
26692 * config.guess: Updated from gnulib.
26693 * config.sub: Likewise.
26694 * install-sh: Likewise.
26695 * mkinstalldirs: Likewise.
26696
b4c1940a 266972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26698
26699 * conf/common.rmk (grub_modules_init.lst): Depended on
26700 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
26701 MODSRCFILES.
26702
26703 * genmk.rb (PModule::rule): Reverted the previous change.
26704
cfca1cfd 267052006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
26706
26707 * conf/common.rmk (grub_modules_init.lst): Depends on
26708 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
26709 that the target does not exist before producing.
26710 (grub_modules_init.h): Remove the target before generating.
26711 (grub_emu_init.c): Likewise.
26712
26713 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
26714
aa6d7826 267152006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
26716
26717 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
26718 for the target-specific tests. Make sure that we also have the
26719 up-to-date target variables for those tests.
26720
26c607b9 267212006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
26722
26723 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
26724 (PModule::rule): Likewise.
26725
0162321a 267262006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
26727
26728 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
26729 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
26730 target-specific flags should be prefixed.
26731 (PModule::rule): Likewise.
26732
6c826348 267332006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
26734
26735 * configure.ac (CMP): Check if cmp is available explicitly.
26736
b977bf01 267372006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
26738
26739 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
26740 (target_cpu): New variable.
26741 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 26742
b977bf01 26743 * util/i386/pc/grub-install.in (host_cpu): Removed.
26744 (target_cpu): New variable.
26745 (pkglibdir): Use target_cpu instead of host_cpu.
26746
26747 * util/genmoddep.c: Removed.
f19dbdb7 26748
b977bf01 26749 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
26750 instead of GRUB_HOST_SIZEOF_VOID_P.
26751 * kern/dl.c: Likewise.
26752
26753 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
26754 ...
26755 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26756 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26757 (GRUB_TARGET_SIZEOF_LONG): ... this.
26758 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26759 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26760 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
26761 to ...
26762 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26763 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26764 (GRUB_TARGET_SIZEOF_LONG): ... this.
26765 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26766 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26767 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
26768 to ...
26769 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
26770 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
26771 (GRUB_TARGET_SIZEOF_LONG): ... this.
26772 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
26773 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
26774
26775 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
26776 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
26777 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
26778 instead of GRUB_HOST_SIZEOF_LONG.
26779 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
26780 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
26781 GRUB_CPU_WORDS_BIGENDIAN.
26782 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
26783 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
26784 grub_host_ssize_t.
26785
26786 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
26787 (genmoddep_SOURCES): Likewise.
26788 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
26789 (genmoddep_SOURCES): Likewise.
26790 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
26791 (genmoddep_SOURCES): Likewise.
26792 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
26793 Likewise.
26794 (genmoddep_SOURCES): Likewise.
26795
26796 * genmoddep.awk: New file.
26797
26798 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
26799 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
26800 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
26801 (PModule::rule): Likewise.
26802 (Program::rule): Likewise.
26803 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
26804 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
26805 respectively.
26806
26807 * configure.ac: Rewritten intensively to use host and target
26808 instead of build and host, respectively.
26809
26810 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
26811 (host_cpu): Removed.
26812 (target_cpu): New variable.
26813 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
26814 (BUILD_CC): Removed.
26815 (BUILD_CFLAGS): Likewise.
26816 (BUILD_CPPFLAGS): Likewise.
26817 (TARGET_CC): New variable.
26818 (TARGET_CFLAGS): Likewise.
26819 (TARGET_CPPFLAGS): Likewise.
26820 (TARGET_LDFLAGS): Likewise.
26821 (AWK): Likewise.
26822 (include): Use target_cpu instead of host_cpu.
26823 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 26824
b977bf01 26825 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
26826
f09771a1 268272006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
26828
26829 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
26830 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
26831 field 'false' to 'exec_on_false'.
26832 (grub_script_create_cmdif): Renamed argument names to reflect above
26833 changes.
26834
26835 * normal/execute.c (grub_script_execute_cmdif): Likewise.
26836
26837 * normal/script.c (grub_script_create_cmdif): Likewise.
26838
118f4fb3 268392006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
26840
26841 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
26842 top.
26843 (grub_hfsplus_btree_recptr): Likewise.
26844 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
26845 FILEBLOCK both to pass a block number and store next block
26846 number.
26847 (grub_hfsplus_read_block): Rewritten heavily to support an extent
26848 overflow file correctly. Specify errors appropriately, because
26849 fshelp expects that GRUB_ERRNO is set when fails. Reuse
26850 grub_hfsplus_btree_recptr to get the pointer to a found key.
26851 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
26852 is found.
26853
26854 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
26855 linux.mod.
26856 (_linux_mod_SOURCES): New variable.
26857 (_linux_mod_CFLAGS): Likewise.
26858 (_linux_mod_LDFLAGS): Likewise.
26859 (linux_mod_SOURCES): Likewise.
26860 (linux_mod_CFLAGS): Likewise.
26861 (linux_mod_LDFLAGS): Likewise.
26862
26863 * DISTLIST: Added loader/i386/efi/linux.c,
26864 loader/i386/efi/linux_normal.c and
26865 include/grub/i386/efi/loader.h.
26866
26867 * loader/i386/efi/linux.c: New file.
26868 * loader/i386/efi/linux_normal.c: Likewise.
26869 * include/grub/i386/efi/loader.h: Likewise.
26870
89a7d726 268712006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
26872
26873 * commands/blocklist.c: New file.
26874
26875 * DISTLIST: Added commands/blocklist.c.
26876
26877 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 26878 color for the background, and a darker color for the foreground.
89a7d726 26879 (grub_console_checkkey): Return READ_KEY.
26880 (grub_console_cls): Set the background to
26881 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
26882
26883 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
26884
26885 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
26886 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
26887
26888 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
26889 prototype.
26890
26891 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
26892 BG. The spec is wrong again.
26893
26894 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
26895 prototype.
26896 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
26897
26898 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26899 commands/blocklist.c.
26900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 26901
89a7d726 26902 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
26903 (blocklist_mod_SOURCES): New variable.
26904 (blocklist_mod_CFLAGS): Likewise.
26905 (blocklist_mod_LDFLAGS): Likewise.
26906
75c8f258 269072006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
26908
26909 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
26910 duplication.
26911 (lba_mode): Use %eax more intensively to reduce the code size.
26912
da2eb181 269132006-05-20 Marco Gerards <marco@gnu.org>
26914
26915 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
26916
26917 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
26918 for `menuentry'.
26919 (script): Accept leading newlines.
26920 (newlines): New rule to describe 0 or more newlines.
26921 (commands): Accept `command' with trailing newline. Fixed the
26922 order in which arguments were passed to `grub_script_add_cmd'.
26923 Accept commands separated by newlines.
26924 (function): Changed to accept newlines.
26925 (menuentry) Rewritten.
26926
26927 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
26928 front of the list, instead of to the end.
26929
577b4050 269302006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
26931
26932 * util/i386/pc/grub-install.in (bindir): New variable.
26933 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
26934 Shaver <lbgwjl@gmail.com>.
26935
0d6e1189 269362006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
26937
26938 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
26939 grub/machine/linux.h
26940 * loader/i386/pc/linux.c: Likewise.
26941
26942 * include/grub/i386/pc/linux.h: Moved to ...
26943 * include/grub/i386/linux.h: ... here.
26944
26945 * include/grub/i386/linux.h (struct linux_kernel_params): New
26946 struct.
f19dbdb7 26947
31b86e9f 269482006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
26949
26950 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
26951 checking.
26952 (grub_video_vbe_blit_glyph): Likewise.
26953 (grub_video_vbe_blit_bitmap): Likewise.
26954 (grub_video_vbe_blit_render_target): Likewise.
26955
83b984de 269562006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
26957
26958 * configure.ac (--with-platform): Properly quote the square
26959 brackets.
26960
5f0413bd 269612006-05-08 Marco Gerards <marco@gnu.org>
26962
26963 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
26964 this...
26965 (kernel_elf_HEADERS): ...to this. Updated all users.
26966 (grubof_symlist.c): Renamed from this...
26967 (kernel_elf_symlist.c): ...to this. Updated all users.
26968 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
26969 (grubof_SOURCES): Renamed from this...
26970 (kernel_elf_SOURCES): ...to this.
26971 (grubof_HEADERS): Renamed from this...
26972 (kernel_elf_HEADERS): ...to this.
26973 (grubof_CFLAGS): Renamed from this...
26974 (kernel_elf_CFLAGS): ...to this.
26975 (grubof_ASFLAGS): Renamed from this...
26976 (kernel_elf_ASFLAGS): ...to this.
26977 (grubof_LDFLAGS): Renamed from this...
26978 (kernel_elf_LDFLAGS): ...to this.
26979
26980 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
26981 this...
26982 (kernel_elf_HEADERS): ...to this. Updated all users.
26983 (grubof_symlist.c): Renamed from this...
26984 (kernel_elf_symlist.c): ...to this. Updated all users.
26985 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
26986 (grubof_SOURCES): Renamed from this...
26987 (kernel_elf_SOURCES): ...to this.
26988 (grubof_HEADERS): Renamed from this...
26989 (kernel_elf_HEADERS): ...to this.
26990 (grubof_CFLAGS): Renamed from this...
26991 (kernel_elf_CFLAGS): ...to this.
26992 (grubof_ASFLAGS): Renamed from this...
26993 (kernel_elf_ASFLAGS): ...to this.
26994 (grubof_LDFLAGS): Renamed from this...
26995 (kernel_elf_LDFLAGS): ...to this.
26996
26997 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
26998 `kernel.elf' instead of `grubof'.
26999
05568c2e 270002006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27001
27002 Add --with-platform to configure. Use pkglibdir instead of
27003 pkgdatadir. This is reported by Roger Leigh.
27004
27005 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27006 (host_vendor): Likewise.
27007 (host_os): Likewise.
27008 (pkgdatadir): Likewise.
27009 (platform): New variable.
27010 (pkglibdir): Likewise.
27011 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27012
05568c2e 27013 * util/i386/pc/grub-install.in (datadir): Removed.
27014 (host_vendor): Likewise.
27015 (host_os): Likewise.
27016 (pkgdatadir): Likewise.
27017 (platform): New variable.
27018 (pkglibdir): Likewise.
27019 Use PKGLIBDIR instead of PKGDATADIR.
27020
27021 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27022 instead of GRUB_DATADIR.
27023 (main): Likewise.
27024 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27025 (main): Likewise.
27026 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27027 (main): Likewise.
27028
27029 * configure.ac (--with-platform): New option.
27030 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27031
27032 * Makefile.in: Include a makefile based on PLATFORM instead of
27033 HOST_VENDOR.
27034 (pkgdatadir): Not appended by the machine type.
27035 (pkglibdir): Appended by the machine type.
27036 (host_vendor): Removed.
27037 (platform): New variable.
27038 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27039 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27040 (uninstall): Likewise.
27041
4e93851c 270422006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27043
27044 Use the environment context in the menu. Remove the commands
27045 "default" and "timeout", and use variables instead.
f19dbdb7 27046
4e93851c 27047 * normal/menu.c: Include grub/env.h.
27048 (print_entry): Cast TITLE to silence gcc.
27049 (get_timeout): New function.
27050 (set_timeout): Likewise.
27051 (get_entry_number): Likewise.
27052 (run_menu): Use a default entry, a fallback entry and a timeout
27053 in the environment variables "default", "fallback" and
27054 "timeout". Also, tweak the default entry if it is not within the
27055 current menu entries.
27056 (grub_menu_run): Use a fallback entry in the environment variable
27057 "fallback".
27058
27059 * normal/main.c (read_config_file): Do not initialize
27060 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27061 NEWMENU->TIMEOUT.
27062 (grub_normal_execute): Use a data slot to store the menu.
27063
27064 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27065 fallback_entry and timeout.
27066 (struct grub_menu_list): Removed.
27067 (grub_menu_list_t): Likewise.
27068 (struct grub_context): Likewise.
27069 (grub_context_t): Likewise.
27070 (grub_context_get): Likewise.
27071 (grub_context_get_current_menu): Likewise.
27072 (grub_context_push_menu): Likewise.
27073 (grub_context_pop_menu): Likewise.
27074 (grub_default_init): Likewise.
27075 (grub_default_fini): Likewise.
27076 (grub_timeout_init): Likewise.
27077 (grub_timeout_fini): Likewise.
27078
27079 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27080 and timeout.mod.
27081 (normal_mod_SOURCES): Removed normal/context.c.
27082
27083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27084 commands/default.c, commands/timeout.c and normal/context.c.
27085 (normal_mod_SOURCES): Removed normal/context.c.
27086
27087 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27088 commands/timeout.c and normal/context.c.
27089 (normal_mod_SOURCES): Removed normal/context.c.
27090
27091 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27092 commands/default.c, commands/timeout.c and normal/context.c.
27093 (normal_mod_SOURCES): Removed normal/context.c.
27094
27095 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27096 timeout.mod.
27097 (default_mod_SOURCES): Removed.
27098 (default_mod_CFLAGS): Likewise.
27099 (default_mod_LDFLAGS): Likewise.
27100 (timeout_mod_SOURCES): Removed.
27101 (timeout_mod_CFLAGS): Likewise.
27102 (timeout_mod_LDFLAGS): Likewise.
27103
27104 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27105 normal/context.c.
27106
27107 * commands/default.c: Removed.
27108 * commands/timeout.c: Likewise.
27109 * normal/context.c: Likewise.
27110
1eb9cc1d 271112006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27112
27113 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27114
385bd9c1 271152006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27116
27117 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27118 "next" to "prev" for readability.
27119 (struct grub_env_sorted_var): New struct.
27120 (grub_env_context): Renamed to ...
27121 (initial_context): ... this.
27122 (grub_env_var_context): Renamed to ...
27123 (current_context): ... this.
27124 (grub_env_find): Look only at CURRENT_CONTEXT.
27125 (grub_env_context_open): Rewritten to copy exported variables from
27126 previous context.
27127 (grub_env_context_close): Rewritten according to the new
27128 scheme. Also, add an assertion to prevent the initial context from
27129 removed.
27130 (grub_env_insert): Removed the code for the sorted list.
27131 (grub_env_remove): Likewise.
27132 (grub_env_export): Simply mark the variable with
27133 GRUB_ENV_VAR_GLOBAL.
27134 (grub_env_set): A cosmetic change for naming consistency.
27135 (grub_env_get): Likewise.
27136 (grub_env_unset): Likewise.
27137 (grub_env_iterate): Rewritten to sort variables within this
27138 function.
27139 (grub_register_variable_hook): Fixed for naming consistency. Call
27140 grub_env_find again, only if NAME is not found at the first time.
27141 (mangle_data_slot_name): New function.
27142 (grub_env_set_data_slot): Likewise.
27143 (grub_env_get_data_slot): Likewise.
27144 (grub_env_unset_data_slot): Likewise.
27145
27146 * include/grub/env.h (grub_env_var_type): New enum.
27147 (GRUB_ENV_VAR_LOCAL): New constant.
27148 (GRUB_ENV_VAR_GLOBAL): Likewise.
27149 (GRUB_ENV_VAR_DATA): Likewise.
27150 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27151 "type".
27152 (grub_env_set): Replace VAR with NAME for consistency.
27153 (grub_register_variable_hook): Likewise.
27154 (grub_env_export): Specify the name of the argument.
27155 (grub_env_set_data_slot): New prototype.
27156 (grub_env_get_data_slot): Likewise.
27157 (grub_env_unset_data_slot): Likewise.
27158
7f362539 271592006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27160
27161 Extend the loader so that GRUB can accept a loader which comes
27162 back to GRUB when a loaded image exits. Also, this change adds
27163 support for a chainloader on EFI.
f19dbdb7 27164
7f362539 27165 * term/efi/console.c: Include grub/misc.h.
27166 (grub_console_checkkey): Display a scan code on the top for
27167 debugging. This will be removed once the EFI port gets stable.
27168 Correct the scan code mapping.
27169
27170 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27171 allocate memory from larger regions, in order to reduce the number
27172 of allocated regions. Otherwise, the MacOSX loader panics.
27173 (filter_memory_map): Avoid less than 1MB for compatibility with
27174 other loaders.
27175 (add_memory_regions): Allocate from the tail of a region, if
27176 possible, to avoid allocating a region near to 1MB, for the MacOSX
27177 loader.
27178
27179 * kern/efi/init.c (grub_efi_set_prefix): Specify
27180 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27181
27182 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27183 argument IMAGE_HANDLE and specify it to get a loaded image.
27184 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27185 grub_efi_get_loaded_image.
fe6b695a 27186 (grub_efi_get_filename): Divide the length by the size of
7f362539 27187 grub_efi_char16_t.
27188 (grub_efi_get_device_path): New function.
27189 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27190 the length by the size of grub_efi_char16_t for a file path device
27191 path node.
27192
27193 * kern/loader.c (grub_loader_noreturn): New variable.
27194 (grub_loader_set): Accept a new argument NORETURN. Set
27195 GRUB_LOADER_NORETURN to NORETURN.
27196 All callers changed.
27197 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27198 grub_machine_fini.
27199
27200 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27201 prototype.
27202 (grub_efi_get_loaded_image): Take an argument to specify an image
27203 handle.
27204
27205 * include/grub/loader.h (grub_loader_set): Added one more argument
27206 NORETURN.
27207
27208 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27209 instead of grub_efi_open_protocol.
27210 (grub_efidisk_get_device_name): Likewise.
27211 (grub_efidisk_close): Print a newline.
27212 (grub_efidisk_get_device_handle): Fixed to use
27213 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
27214 GRUB_EFI_DEVICE_PATH_TYPE.
27215
27216 * disk/efi/efidisk.c (device_path_guid): Moved to ...
27217 * kern/efi/efi.c (device_path_guid): ... here.
27218
27219 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
27220 chain.mod.
27221 (kernel_mod_HEADERS): Added efi/disk.h.
27222 (_chain_mod_SOURCES): New variable.
27223 (_chain_mod_CFLAGS): Likewise.
27224 (_chain_mod_LDFLAGS): Likewise.
27225 (chain_mod_SOURCES): Likewise.
27226 (chain_mod_CFLAGS): Likewise.
27227 (chain_mod_LDFLAGS): Likewise.
27228
27229 * DISTLIST: Added include/grub/efi/chainloader.h,
27230 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
27231
27232 * include/grub/efi/chainloader.h: New file.
27233 * loader/efi/chainloader.c: Likewise.
27234 * loader/efi/chainloader_normal.c: Likewise.
27235
c0111d6e 272362006-04-30 Marco Gerards <marco@gnu.org>
27237
27238 * commands/configfile.c (grub_cmd_source): New function.
27239 (GRUB_MOD_INIT): Register the commands `source' and `.'.
27240 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
27241
df5341da 272422006-04-30 Marco Gerards <marco@gnu.org>
27243
27244 * normal/execute.c (grub_script_execute_cmd): Change the return
27245 type to `grub_err_t'. Correctly return the error.
27246 (grub_script_execute_cmdline): In case a command line is not a
27247 command or a function, try to interpret it as an assignment.
27248
f85934bd 272492006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27250
27251 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
27252 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
27253 skip a node whose name is obviously invalid as UTF-16,
27254 i.e. contains a NUL character. Stop the iteration when the last
27255 directory entry is found. Instead of using the return value of
27256 grub_hfsplus_btree_iterate_node, store the value in RET and use
27257 it, because the iterator can be stopped by the last directory
27258 entry.
27259
8f8a2cf8 272602006-04-30 Marco Gerards <marco@gnu.org>
27261
27262 * include/grub/env.h (grub_env_export): New prototype. Reported
27263 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
27264
a27e84ce 272652006-04-30 Marco Gerards <marco@gnu.org>
27266
27267 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
27268 size of the extents in a catalog file record.
27269
eaef0553 272702006-04-29 Marco Gerards <marco@gnu.org>
27271
27272 * commands/configfile.c (grub_cmd_configfile): Execute the
27273 configfile within its own context.
27274
27275 * include/grub/env.h (grub_env_context_open): New prototype.
27276 (grub_env_context_close): Likewise.
27277
27278 * kern/env.c (grub_env): Removed.
27279 (grub_env_sorted): Likewise.
27280 (grub_env_context): New variable.
27281 (grub_env_var_context): Likewise.
27282 (grub_env_find): Search both the active context and the global
27283 context.
27284 (grub_env_context_open): New function.
27285 (grub_env_context_close): Likewise.
27286 (grub_env_insert): Likewise.
27287 (grub_env_remove): Likewise.
27288 (grub_env_export): Likewise.
27289 (grub_env_set): Changed to use helper functions to avoid code
27290 duplication.
27291 (grub_env_iterate): Rewritten so both the current context and the
27292 global context are being used.
27293
27294 * normal/command.c (export_command): New function.
27295 (grub_command_init): Register the `export' function.
27296
7b455f4d 272972006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
27298
27299 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
27300 explicitly to suppress gcc's warnings.
27301 * fs/fat.c (grub_fat_find_dir): Likewise.
27302 (grub_fat_label): Likewise.
27303 * fs/xfs.c (grub_xfs_read_inode): Likewise.
27304 (grub_xfs_mount): Likewise.
27305 (grub_xfs_label): Likewise.
27306 * fs/affs.c (grub_affs_mount): Likewise.
27307 (grub_affs_label): Likewise.
27308 (grub_affs_iterate_dir): Likewise.
27309 * fs/sfs.c (grub_sfs_mount): Likewise.
27310 (grub_sfs_iterate_dir): Likewise.
27311 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
27312 * fs/hfs.c (grub_hfs_mount): Likewise.
27313 (grub_hfs_cmp_catkeys): Likewise.
27314 (grub_hfs_find_dir): Likewise.
27315 (grub_hfs_dir): Likewise.
27316 (grub_hfs_label): Likewise.
27317 * fs/jfs.c (grub_jfs_mount): Likewise.
27318 (grub_jfs_opendir): Likewise.
27319 (grub_jfs_getent): Likewise.
27320 (grub_jfs_lookup_symlink): Likewise.
27321 (grub_jfs_label): Likewise.
27322 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
27323 (grub_hfsplus_iterate_dir): Likewise.
27324 (grub_hfsplus_btree_iterate_node): Made static.
27325
27326 * util/grub-emu.c (prefix): New variable.
27327 (grub_machine_set_prefix): New function.
27328 (main): Do not set the environment variable "prefix" here. Only
27329 set PREFIX, which is used later by grub_machine_set_prefix.
27330
27331 * include/grub/video.h: Do not include grub/symbol.h.
27332 (grub_video_register): Not exported. This symbol is not defined in
27333 the kernel.
27334 (grub_video_unregister): Likewise.
27335 (grub_video_iterate): Likewise.
27336 (grub_video_setup): Likewise.
27337 (grub_video_restore): Likewise.
27338 (grub_video_get_info): Likewise.
27339 (grub_video_get_blit_format): Likewise.
27340 (grub_video_set_palette): Likewise.
27341 (grub_video_get_palette): Likewise.
27342 (grub_video_set_viewport): Likewise.
27343 (grub_video_get_viewport): Likewise.
27344 (grub_video_map_color): Likewise.
27345 (grub_video_map_rgb): Likewise.
27346 (grub_video_map_rgba): Likewise.
27347 (grub_video_fill_rect): Likewise.
27348 (grub_video_blit_glyph): Likewise.
27349 (grub_video_blit_bitmap): Likewise.
27350 (grub_video_blit_render_target): Likewise.
27351 (grub_video_scroll): Likewise.
27352 (grub_video_swap_buffers): Likewise.
27353 (grub_video_create_render_target): Likewise.
27354 (grub_video_delete_render_target): Likewise.
27355 (grub_video_set_active_render_target): Likewise.
27356
27357 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
27358 Undefined.
27359 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
27360
27361 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
27362 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27363 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27364 instead of $(srcdir)/genkernsyms.sh.
27365
27366 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
27367 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27368 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27369 instead of $(srcdir)/genkernsyms.sh.
27370
27371 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
27372 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27373 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27374 instead of $(srcdir)/genkernsyms.sh.
27375
27376 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
27377 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
27378 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
27379 instead of $(srcdir)/genkernsyms.sh.
27380
27381 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
27382 genkernsyms.sh.
27383
27384 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
27385 genkernsyms.sh.
27386 (gensymlist.sh): New target.
27387 (genkernsyms.sh): Likewise.
27388
27389 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
27390 genkernsyms.sh.in and gensymlist.sh.in.
27391
27392 * genkernsyms.sh: Removed.
27393 * gensymlist.sh: Likewise.
f19dbdb7 27394
7b455f4d 27395 * genkernsyms.sh.in: New file.
27396 * gensymlist.sh.in: Likewise.
27397
1885bb27 273982006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27399
27400 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
27401 clobber "prefix", since we may have already set it manually.
27402
71538dff 274032006-04-25 Hollis Blanchard <hollis@penguinppc.org>
27404
27405 * kern/misc.c (abort): New alias for grub_abort.
27406
2965c7cc 274072006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
27408
27409 A new machine-specific function "grub_machine_set_prefix" is
27410 defined. This is called after loading modules, so that a prefix
27411 initialization can use modules. Also, this change adds an
27412 intensive debugging feature for the memory manager via the
27413 configure option "--enable-mm-debug".
f19dbdb7 27414
2965c7cc 27415 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
27416 PART.LEN.
27417
27418 * kern/sparc64/ieee1275/init.c (abort): Removed.
27419 (grub_stop): Likewise.
27420 (grub_exit): New function.
27421 (grub_set_prefix): Renamed to ...
27422 (grub_machine_set_prefix): ... this.
27423 (grub_machine_init): Do not call grub_set_prefix.
27424
27425 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
27426 (grub_machine_set_prefix): ... this.
27427 (grub_machine_init): Do not call grub_set_prefix.
27428
27429 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
27430 (grub_machine_init): Do not set the prefix here.
27431
27432 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
27433
27434 * kern/efi/init.c: Include grub/mm.h.
27435 (grub_efi_set_prefix): New function.
27436
27437 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
27438 (grub_efi_get_filename): New function.
27439 (grub_print_device_path): Renamed to ...
27440 (grub_efi_print_device_path): ... this.
27441
27442 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
27443 [MM_DEBUG] (grub_realloc): Likewise.
27444 [MM_DEBUG] (grub_free): Likewise.
27445 [MM_DEBUG] (grub_memalign): Likewise.
27446 [MM_DEBUG] (grub_mm_debug): New variable.
27447 [MM_DEBUG] (grub_debug_malloc): New function.
27448 [MM_DEBUG] (grub_debug_free): New function.
27449 [MM_DEBUG] (grub_debug_realloc): New function.
27450 [MM_DEBUG] (grub_debug_memalign): New function.
27451
27452 * kern/misc.c (grub_abort): Print a newline to distinguish
27453 the message.
27454
27455 * kern/main.c (grub_main): Call grub_machine_set_prefix and
27456 grub_set_root_dev after loading modules. This is necessary when
27457 setting a prefix depends on modules.
27458
27459 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
27460 (grub_efi_print_device_path): ... this.
27461 (grub_efi_get_filename): New prototype.
27462 (grub_efi_set_prefix): Likewise.
27463
27464 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
27465 and grub/disk.h.
27466 (grub_efidisk_get_device_handle): New prototype.
27467 (grub_efidisk_get_device_name): Likewise.
27468
27469 * include/grub/mm.h: Include config.h.
27470 (MM_DEBUG): Removed.
27471 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
27472 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
27473 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
27474 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
27475 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
27476 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
27477 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
27478 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
27479 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
27480
27481 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
27482
27483 * disk/efi/efidisk.c: Include grub/partition.h.
27484 (iterate_child_devices): New function.
27485 (add_device): First, compare only last device path nodes, so that
27486 devices are sorted by the types.
27487 (grub_efidisk_get_device_handle): New function.
27488 (grub_efidisk_get_device_name): Likewise.
27489
27490 * configure.ac (--enable-mm-debug): New option to enable the
27491 memory manager debugging feature. This makes the binary much
27492 bigger, so is disabled by default.
27493
9cacaa17 274942006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
27495
27496 Use grub_abort instead of grub_stop, and grub_exit must be
27497 define in each architecture now. Also, this change adds support
27498 for EFI disks.
f19dbdb7 27499
9cacaa17 27500 * util/i386/pc/grub-probefs.c: Include grub/term.h.
27501 (grub_getkey): New function.
27502 (grub_term_get_current): Likewise.
27503
27504 * util/i386/pc/grub-setup.c: Include grub/term.h.
27505 (grub_getkey): New function.
27506 (grub_term_get_current): Likewise.
27507
27508 * util/misc.c (grub_stop): Renamed to ...
27509 (grub_exit): ... this.
27510
27511 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
27512 (grub_exit): ... this.
27513 (grub_machine_init): Use grub_abort instead of abort.
27514 (grub_stop): Removed.
27515
27516 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
27517 abort.
27518
27519 * kern/i386/pc/startup.S (grub_exit): New function.
27520 (cold_reboot): New label.
27521
27522 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
27523 (grub_efi_init): Call grub_efidisk_init.
27524 (grub_efi_fini): Call grub_efidisk_fini.
27525
27526 * kern/efi/efi.c: Include grub/mm.h.
27527 (grub_efi_console_control_guid): Renamed to ...
27528 (console_control_guid): ... this.
27529 (grub_efi_loaded_image_guid): Renamed to ...
27530 (loaded_image_guid): ... this.
27531 (grub_efi_locate_handle): New function.
27532 (grub_efi_open_protocol): Likewise.
27533 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
27534 GRUB_EFI_CONSOLE_CONTROL_GUID.
27535 (grub_efi_exit): Removed.
27536 (grub_stop): Likewise.
27537 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
27538 (grub_exit): New function.
27539 (grub_print_device_path): Likewise.
27540
27541 * kern/rescue.c (grub_rescue_cmd_exit): New function.
27542 (grub_enter_rescue_mode): Register "exit".
27543
27544 * kern/misc.c (grub_real_dprintf): A cosmetic change.
27545 (grub_abort): New function.
27546
27547 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
27548
27549 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
27550
27551 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
27552
27553 * include/grub/efi/efi.h (grub_efi_exit): Removed.
27554 (grub_print_device_path): New prototype.
27555 (grub_efi_locate_handle): Likewise.
27556 (grub_efi_open_protocol): Likewise.
27557
27558 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
27559 * disk/efi/efidisk.c: Likewise.
27560
27561 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
27562
27563 * include/grub/efi/console_control.h
27564 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
27565
27566 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
27567 last 8 bytes as an array.
27568 (GRUB_EFI_DISK_IO_GUID): New macro.
27569 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
27570 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
27571 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
27572 grub_uint8_t.
27573 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
27574 (struct grub_efi_device_path): Rename the member "sub_type" to
27575 "subtype".
27576 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
27577 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
27578 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
27579 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
27580 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
27581 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
27582 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
27583 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
27584 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
27585 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
27586 (struct grub_efi_pci_device_path): New structure.
27587 (grub_efi_pci_device_path_t): New type.
27588 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
27589 (struct grub_efi_pccard_device_path): New structure.
27590 (grub_efi_pccard_device_path_t): New type.
27591 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
27592 (struct grub_efi_memory_mapped_device_path): New structure.
27593 (grub_efi_memory_mapped_device_path_t): New type.
27594 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
27595 (struct grub_efi_vendor_device_path): New structure.
27596 (grub_efi_vendor_device_path_t): New type.
27597 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
27598 (struct grub_efi_controller_device_path): New structure.
27599 (grub_efi_controller_device_path_t): New type.
27600 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
27601 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
27602 (struct grub_efi_acpi_device_path): New structure.
27603 (grub_efi_acpi_device_path_t): New type.
27604 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
27605 (struct grub_efi_expanded_acpi_device_path): New structure.
27606 (grub_efi_expanded_acpi_device_path_t): New type.
27607 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
27608 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
27609 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
27610 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
27611 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
27612 (struct grub_efi_atapi_device_path): New structure.
27613 (grub_efi_atapi_device_path_t): New type.
27614 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
27615 (struct grub_efi_fibre_channel_device_path): New structure.
27616 (grub_efi_fibre_channel_device_path_t): New type.
27617 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
27618 (struct grub_efi_1394_device_path): New structure.
27619 (grub_efi_1394_device_path_t): New type.
27620 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
27621 (struct grub_efi_usb_device_path): New structure.
27622 (grub_efi_usb_device_path_t): New type.
27623 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
27624 (struct grub_efi_usb_class_device_path): New structure.
27625 (grub_efi_usb_class_device_path_t): New type.
27626 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
27627 (struct grub_efi_i2o_device_path): New structure.
27628 (grub_efi_i2o_device_path_t): New type.
27629 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
27630 (struct grub_efi_mac_address_device_path): New structure.
27631 (grub_efi_mac_address_device_path_t): New type.
27632 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
27633 (struct grub_efi_ipv4_device_path): New structure.
27634 (grub_efi_ipv4_device_path_t): New type.
27635 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
27636 (struct grub_efi_ipv6_device_path): New structure.
27637 (grub_efi_ipv6_device_path_t): New type.
27638 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
27639 (struct grub_efi_infiniband_device_path): New structure.
27640 (grub_efi_infiniband_device_path_t): New type.
27641 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
27642 (struct grub_efi_uart_device_path): New structure.
27643 (grub_efi_uart_device_path_t): New type.
27644 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
27645 (struct grub_efi_vendor_messaging_device_path): New structure.
27646 (grub_efi_vendor_messaging_device_path_t): New type.
27647 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
27648 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
27649 (struct grub_efi_hard_drive_device_path): New structure.
27650 (grub_efi_hard_drive_device_path_t): New type.
27651 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
27652 (struct grub_efi_cdrom_device_path): New structure.
27653 (grub_efi_cdrom_device_path_t): New type.
27654 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
27655 (struct grub_efi_vendor_media_device_path): New structure.
27656 (grub_efi_vendor_media_device_path_t): New type.
27657 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
27658 (struct grub_efi_file_path_device_path): New structure.
27659 (grub_efi_file_path_device_path_t): New type.
27660 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
27661 (struct grub_efi_protocol_device_path): New structure.
27662 (grub_efi_protocol_device_path_t): New type.
27663 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
27664 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
27665 (struct grub_efi_bios_device_path): New structure.
27666 (grub_efi_bios_device_path_t): New type.
27667 (struct grub_efi_disk_io): New structure.
27668 (grub_efi_disk_io_t): New type.
27669 (struct grub_efi_block_io_media): New structure.
27670 (grub_efi_block_io_media_t): New type.
27671 (struct grub_efi_block_io): New structure.
27672 (grub_efi_block_io_t): New type.
27673
27674 * include/grub/misc.h (grub_stop): Removed.
27675 (grub_exit): New prototype.
27676 (grub_abort): Likewise.
27677
27678 * include/grub/disk.h (enum grub_disk_dev_id): Added
27679 GRUB_DISK_DEVICE_EFIDISK_ID.
27680
27681 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
27682 disk/efi/efidisk.c.
27683 (kernel_syms.lst): Remove the target if an error occurs.
27684
49986a9f 276852006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
27686
27687 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
27688 as it was simply too buggy.
27689
970d3b8a 276902006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
27691
27692 * kern/misc.c (grub_lltoa): New function.
27693 (grub_vsprintf): Added support for the long long suffix,
27694 i.e. "ll".
27695
ff04ec24 276962006-04-20 Hollis Blanchard <hollis@penguinppc.org>
27697
27698 * Makefile.in (LDFLAGS): Add variable.
27699 (LD): Remove variable.
27700 * configure.ac: Add -m32 to LDFLAGS.
27701 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
27702 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
27703 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
27704 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
27705 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
27706 variables.
27707 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
27708 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
27709 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
27710
37e5e1a4 277112006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
27712
27713 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
27714 length for unknown glyph.
27715
c352d8dd 277162006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
27717
2eab1c0d 27718 Add support for pre-loaded modules into the EFI port.
f19dbdb7 27719
2eab1c0d 27720 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
27721 completely. Accept one more argument DIR. The caller has changed.
27722
27723 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
27724
27725 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
27726 (grub_efi_loaded_image_guid): New variable.
27727 (grub_efi_get_loaded_image): New function.
27728 (grub_arch_modules_addr): Likewise.
27729
27730 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
27731 prototype.
27732
27733 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
27734 (struct grub_efi_loaded_image): New structure.
27735 (grub_efi_loaded_image_t): New type.
27736
277372006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27738
c352d8dd 27739 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
27740 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
27741 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
27742
6d01d6b4 277432006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
27744
27745 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
27746
976a4ea0 277472006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
27748
27749 * DISTLIST: Added include/grub/efi/console.h,
27750 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
27751 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
27752
27753 * include/grub/efi/console.h: New file.
27754 * include/grub/efi/time.h: Likewise.
27755 * include/grub/i386/efi/kernel.h: Likewise.
27756 * kern/efi/init.c: Likewise.
27757 * kern/efi/mm.c: Likewise.
27758 * term/efi/console.c: Likewise.
f19dbdb7 27759
976a4ea0 27760 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
27761 (grub_stop): Removed.
27762 (grub_get_rtc): Likewise.
27763 (grub_machine_init): Simply call grub_efi_init.
27764 (grub_machine_fini): Call grub_efi_fini.
27765
27766 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
27767 (grub_efi_output_string): Removed.
27768 (grub_efi_stall): New function.
27769 (grub_stop): Likewise.
27770 (grub_get_rtc): Likewise.
27771
27772 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
27773 (grub_efi_stall): New prototype.
27774 (grub_efi_allocate_pages): Likewise.
27775 (grub_efi_free_pages): Likewise.
27776 (grub_efi_get_memory_map): Likewise.
27777 (grub_efi_mm_init): Likewise.
27778 (grub_efi_mm_fini): Likewise.
27779 (grub_efi_init): Likewise.
27780 (grub_efi_fini): Likewise.
27781
27782 * include/grub/i386/efi/time.h: Do not include
27783 grub/symbol.h. Include grub/efi/time.h.
27784 (GRUB_TICKS_PER_SECOND): Removed.
27785 (grub_get_rtc): Likewise.
27786
27787 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
27788 Added padding. The EFI spec is buggy.
27789 (GRUB_EFI_BLACK): New macro.
27790 (GRUB_EFI_BLUE): Likewise.
27791 (GRUB_EFI_GREEN): Likewise.
27792 (GRUB_EFI_CYAN): Likewise.
27793 (GRUB_EFI_RED): Likewise.
27794 (GRUB_EFI_MAGENTA): Likewise.
27795 (GRUB_EFI_BROWN): Likewise.
27796 (GRUB_EFI_LIGHTGRAY): Likewise.
27797 (GRUB_EFI_BRIGHT): Likewise.
27798 (GRUB_EFI_DARKGRAY): Likewise.
27799 (GRUB_EFI_LIGHTBLUE): Likewise.
27800 (GRUB_EFI_LIGHTGREEN): Likewise.
27801 (GRUB_EFI_LIGHTCYAN): Likewise.
27802 (GRUB_EFI_LIGHTRED): Likewise.
27803 (GRUB_EFI_LIGHTMAGENTA): Likewise.
27804 (GRUB_EFI_YELLOW): Likewise.
27805 (GRUB_EFI_WHITE): Likewise.
27806 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
27807 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
27808 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
27809 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
27810 (GRUB_EFI_BACKGROUND_RED): Likewise.
27811 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
27812 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
27813 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
27814 (GRUB_EFI_TEXT_ATTR): Likewise.
27815
27816 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
27817 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
27818 (kernel_mod_HEADERS): Added efi/time.h.
27819
83709125 278202006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
27821
27822 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
27823 include/grub/efi/api.h, include/grub/efi/console_control.h,
27824 include/grub/efi/efi.h, include/grub/efi/pe32.h,
27825 include/grub/i386/efi/time.h, kern/efi/efi.c,
27826 kern/i386/efi/init.c, kern/i386/efi/startup.S,
27827 and util/i386/efi/grub-mkimage.c.
27828
27829 * Makefile.in (RMKFILES): Added i386-efi.rmk.
27830
27831 * genmk.rb (PModule#rule): Do not export symbols if
27832 #{prefix}_EXPORTS is set to "no".
27833
27834 * conf/i386-efi.mk: New file.
27835 * conf/i386-efi.rmk: Likewise.
27836 * include/grub/efi/api.h: Likewise.
27837 * include/grub/efi/console_control.h: Likewise.
27838 * include/grub/efi/efi.h: Likewise.
27839 * include/grub/efi/pe32.h: Likewise.
27840 * include/grub/i386/efi/time.h: Likewise.
27841 * kern/efi/efi.c: Likewise.
27842 * kern/i386/efi/init.c: Likewise.
27843 * kern/i386/efi/startup.S: Likewise.
27844 * util/i386/efi/grub-mkimage.c: Likewise.
27845
278462006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 27847
27848 * include/grub/script.h: Include <grub/parser.h> and
27849 "grub_script.tab.h".
27850 (struct grub_lexer_param): New struct.
27851 (struct grub_parser_param): Likewise.
27852 (grub_script_create_arglist): Pass the state in an argument.
27853 (grub_script_add_arglist): Likewise.
27854 (grub_script_create_cmdline): Likewise.
27855 (grub_script_create_cmdblock): Likewise.
27856 (grub_script_create_cmdif): Likewise.
27857 (grub_script_create_cmdmenu): Likewise.
27858 (grub_script_add_cmd): Likewise.
27859 (grub_script_arg_add): Likewise.
27860 (grub_script_lexer_ref): Likewise.
27861 (grub_script_lexer_deref): Likewise.
27862 (grub_script_lexer_record_start): Likewise.
27863 (grub_script_lexer_record_stop): Likewise.
27864 (grub_script_mem_record): Likewise.
27865 (grub_script_mem_record_stop): Likewise.
27866 (grub_script_malloc): Likewise.
27867 (grub_script_yylex): Likewise.
27868 (grub_script_yyparse): Likewise.
27869 (grub_script_yyerror): Likewise.
27870 (grub_script_yylex): Likewise.
27871 (grub_script_lexer_init): Return the state.
27872
27873 * normal/lexer.c (grub_script_lexer_state): Removed variable.
27874 (grub_script_lexer_done): Likewise.
27875 (grub_script_lexer_getline): Likewise.
27876 (grub_script_lexer_refs): Likewise.
27877 (script): Likewise.
27878 (newscript): Likewise.
27879 (record): Likewise.
27880 (recording): Likewise.
27881 (recordpos): Likewise.
27882 (recordlen): Likewise.
27883 (grub_script_lexer_init): Return the state instead of setting
27884 global variables.
27885 (grub_script_lexer_ref): Use the newly added argument for state
27886 instead of globals.
27887 (grub_script_lexer_deref): Likewise.
27888 (grub_script_lexer_record_start): Likewise.
27889 (grub_script_lexer_record_stop): Likewise.
27890 (recordchar): Likewise.
27891 (nextchar): Likewise.
27892 (grub_script_yylex2): Likewise.
27893 (grub_script_yylex): Likewise.
27894 (grub_script_yyerror): Likewise.
27895
27896 * normal/parser.y (func_mem): Removed variable.
27897 (menu_entry): Likewise.
27898 (err): Likewise.
27899 (%lex-param): New parser option.
27900 (%parse-param): Likewise.
27901 (script): Always return the AST.
27902 (argument): Pass the state around.
27903 (arguments): Likewise.
27904 (grubcmd): Likewise.
27905 (commands): Likewise.
27906 (function): Likewise.
27907 (menuentry): Likewise.
27908 (if_statement): Likewise.
27909 (if): Likewise.
27910
27911 * normal/script.c (grub_script_memused): Removed variable.
27912 (grub_script_parsed): Likewise.
27913 (grub_script_malloc): Added a state argument. Use that instead of
27914 global variables.
27915 (grub_script_mem_record): Likewise.
27916 (grub_script_mem_record_stop): Likewise.
27917 (grub_script_arg_add): Likewise.
27918 (grub_script_add_arglist): Likewise.
27919 (grub_script_create_cmdline): Likewise.
27920 (grub_script_create_cmdif): Likewise.
27921 (grub_script_create_cmdmenu): Likewise.
27922 (grub_script_add_cmd): Likewise.
27923 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 27924
e2a8c904 279252006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 27926
27927 * normal/command.c (grub_command_init): Remove the title command.
27928
27929 * normal/lexer.c (grub_script_yylex): Renamed from this...
27930 (grub_script_yylex2): ... to this.
27931 (grub_script_yylex): New function. Temporary
27932 introduced to filter some tokens.
27933 (grub_script_yyerror): Print a newline.
27934
27935 * normal/main.c (read_config_file): Output information about the
27936 lines that contain errors. Wait for a key after all lines have
27937 been processed. Don't return an empty menu.
27938
27939 * normal/parser.y (func_mem): Don't initialize.
27940 (menu_entry): Likewise.
27941 (err): New variable.
27942 (script): Don't return anything when an error was encountered.
27943 (ws, returns): Removed rules.
27944 (argument): Disabled concatenated variable support.
27945 (arguments): Remove explicit separators.
27946 (grubcmd): Likewise.
27947 (function): Likewise.
27948 (menuentry): Likewise.
27949 (if): Likewise.
27950 (commands): Likewise. Add error handling.
27951
27952 * normal/script.c (grub_script_create_cmdline): If
27953 `grub_script_parsed' is 0, assume the parser encountered an error.
27954
c9a86192 279552006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
27956
27957 * configure.ac: Add support for EFI. Fix the typo
27958 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
27959
70f3b243 279602006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
27961
27962 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
27963 foreign multibyte characters should be shown correctly.
27964
65f201ad 279652006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
27966
27967 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
27968 calculation.
27969 (read_config_file): Made it to close file before returning.
27970
b4b93674 279712006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
27972
27973 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
27974 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
27975 video/i386/pc/vbefill.c.
27976
27977 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
27978 video/i386/pc/vbefill.c.
27979
27980 * include/grub/video.h (grub_video_blit_format): New enum.
27981 (grub_video_mode_info): Added new member blit_format.
27982 (grub_video_get_blit_format): New function prototype.
27983
27984 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
27985 function prototype.
27986 (grub_video_vbe_map_rgb): Likewise.
27987 (grub_video_vbe_unmap_color): Likewise.
27988
27989 * include/grub/i386/pc/vbeblit.h: New file.
27990
27991 * include/grub/i386/pc/vbefill.h: New file.
27992
27993 * video/video.c (grub_video_get_blit_format): New function.
27994 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
27995 (grub_video_vbe_map_rgb): Likewise.
27996 (grub_video_vbe_unmap_color): Likewise.
27997
27998 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
27999 optimized fills.
28000 (grub_video_vbe_blit_render_target): Changed to use more optimized
28001 blits.
28002 (grub_video_vbe_setup): Added detection for optimized settings.
28003 (grub_video_vbe_create_render_target): Likewise.
28004
28005 * video/i386/pc/vbeblit.c: New file.
28006
28007 * video/i386/pc/vbefill.c: New file.
28008
c2379b9c 280092006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28010
28011 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28012 here...
28013
28014 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28015 parsing to support both hex and dec ranges. If filename was missing
28016 show usage information.
28017
bd0d7896 280182006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28019
28020 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28021 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28022
28023 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28024 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28025 (video_mod_SOURCES): Added.
28026 (video_mod_CFLAGS): Likewise.
28027 (video_mod_LDFLAGS): Likewise.
28028 (gfxterm_mod_SOURCES): Likewise.
28029 (gfxterm_mod_CFLAGS): Likewise.
28030 (gfxterm_mod_LDFLAGS): Likewise.
28031 (videotest_mod_SOURCES): Likewise.
28032 (videotest_mod_CFLAGS): Likewise.
28033 (videotest_mod_LDFLAGS): Likewise.
28034 (vesafb_mod_SOURCES): Removed.
28035 (vesafb_mod_CFLAGS): Likewise.
28036 (vesafb_mod_LDFLAGS): Likewise.
28037 (vga_mod_SOURCES): Likewise.
28038 (vga_mod_CFLAGS): Likewise.
28039 (vga_mod_LDFLAGS): Likewise.
28040
28041 * commands/videotest.c: New file.
28042
28043 * font/manager.c (fill_with_default_glyph): Modified to use
28044 grub_font_glyph.
28045 (grub_font_get_glyph): Likewise.
28046 (fontmanager): Renamed from this...
28047 (font_manager): ... to this.
28048
28049 * include/grub/font.h (grub_font_glyph): Added new structure.
28050 (grub_font_get_glyph): Modified to use grub_font_glyph.
28051
28052 * include/grub/misc.h (grub_abs): Added as inline function.
28053
28054 * include/grub/video.h: New file.
28055
28056 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28057 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28058 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28059 (grub_vbe_get_controller_info): Renamed from this...
28060 (grub_vbe_bios_get_controller_info): ... to this.
28061 (grub_vbe_get_mode_info): Renamed from this...
28062 (grub_vbe_bios_get_mode_info): ... to this.
28063 (grub_vbe_set_mode): Renamed from this...
28064 (grub_vbe_bios_set_mode): ... to this.
28065 (grub_vbe_get_mode): Renamed from this...
28066 (grub_vbe_bios_get_mode): ... to this.
28067 (grub_vbe_set_memory_window): Renamed from this...
28068 (grub_vbe_bios_set_memory_window): ... to this.
28069 (grub_vbe_get_memory_window): Renamed from this...
28070 (grub_vbe_bios_get_memory_window): ... to this.
28071 (grub_vbe_set_scanline_length): Renamed from this...
28072 (grub_vbe_set_scanline_length): ... to this.
28073 (grub_vbe_get_scanline_length): Renamed from this...
28074 (grub_vbe_bios_get_scanline_length): ... to this.
28075 (grub_vbe_set_display_start): Renamed from this...
28076 (grub_vbe_bios_set_display_start): ... to this.
28077 (grub_vbe_get_display_start): Renamed from this...
28078 (grub_vbe_bios_get_display_start): ... to this.
28079 (grub_vbe_set_palette_data): Renamed from this...
28080 (grub_vbe_bios_set_palette_data): ... to this.
28081 (grub_vbe_set_pixel_rgb): Removed.
28082 (grub_vbe_set_pixel_index): Likewise.
28083
28084 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28085 from this...
28086 (grub_vbe_bios_get_controller_info): ... to this.
28087 (grub_vbe_get_mode_info): Renamed from this...
28088 (grub_vbe_bios_get_mode_info): ... to this.
28089 (grub_vbe_set_mode): Renamed from this...
28090 (grub_vbe_bios_set_mode): ... to this.
28091 (grub_vbe_get_mode): Renamed from this...
28092 (grub_vbe_bios_get_mode): ... to this.
28093 (grub_vbe_set_memory_window): Renamed from this...
28094 (grub_vbe_bios_set_memory_window): ... to this.
28095 (grub_vbe_get_memory_window): Renamed from this...
28096 (grub_vbe_bios_get_memory_window): ... to this.
28097 (grub_vbe_set_scanline_length): Renamed from this...
28098 (grub_vbe_set_scanline_length): ... to this.
28099 (grub_vbe_get_scanline_length): Renamed from this...
28100 (grub_vbe_bios_get_scanline_length): ... to this.
28101 (grub_vbe_set_display_start): Renamed from this...
28102 (grub_vbe_bios_set_display_start): ... to this.
28103 (grub_vbe_get_display_start): Renamed from this...
28104 (grub_vbe_bios_get_display_start): ... to this.
28105 (grub_vbe_set_palette_data): Renamed from this...
28106 (grub_vbe_bios_set_palette_data): ... to this.
28107 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28108 getting corrupted after calling it. Added more pushes and pops.
28109 (grub_vbe_bios_set_mode): Likewise.
28110 (grub_vbe_bios_get_mode): Likewise.
28111 (grub_vbe_bios_get_memory_window): Likewise.
28112 (grub_vbe_bios_set_scanline_length): Likewise.
28113 (grub_vbe_bios_get_scanline_length): Likewise.
28114 (grub_vbe_bios_get_display_start): Likewise.
28115 (grub_vbe_bios_set_palette_data): Likewise.
28116
28117 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28118 (cl_insert): Likewise.
28119 (cl_delete): Likewise.
28120
28121 * term/gfxterm.c: New file.
28122
28123 * term/i386/pc/vesafb.c: Removed file.
28124
28125 * video/video.c: New file.
28126
28127 * video/i386/pc/vbe.c (real2pm): Added new function.
28128 (grub_video_vbe_draw_pixel): Likewise.
28129 (grub_video_vbe_get_video_ptr): Likewise.
28130 (grub_video_vbe_get_pixel): Likewise
28131 (grub_video_vbe_init): Likewise.
28132 (grub_video_vbe_fini): Likewise.
28133 (grub_video_vbe_setup): Likewise.
28134 (grub_video_vbe_get_info): Likewise.
28135 (grub_video_vbe_set_palette): Likewise.
28136 (grub_video_vbe_get_palette): Likewise.
28137 (grub_video_vbe_set_viewport): Likewise.
28138 (grub_video_vbe_get_viewport): Likewise.
28139 (grub_video_vbe_map_color): Likewise.
28140 (grub_video_vbe_map_rgb): Likewise.
28141 (grub_video_vbe_map_rgba): Likewise.
28142 (grub_video_vbe_unmap_color): Likewise.
28143 (grub_video_vbe_fill_rect): Likewise.
28144 (grub_video_vbe_blit_glyph): Likewise.
28145 (grub_video_vbe_blit_bitmap): Likewise.
28146 (grub_video_vbe_blit_render_target): Likewise.
28147 (grub_video_vbe_scroll): Likewise.
28148 (grub_video_vbe_swap_buffers): Likewise.
28149 (grub_video_vbe_create_render_target): Likewise.
28150 (grub_video_vbe_delete_render_target): Likewise.
28151 (grub_video_vbe_set_active_render_target): Likewise.
28152 (grub_vbe_set_pixel_rgb): Remove function.
28153 (grub_vbe_set_pixel_index): Likewise.
28154 (index_color_mode): Remove static variable.
28155 (active_mode): Likewise.
28156 (framebuffer): Likewise.
28157 (bytes_per_scan_line): Likewise.
28158 (grub_video_vbe_adapter): Added new static variable.
28159 (framebuffer): Likewise.
28160 (render_target): Likewise.
28161 (initial_mode): Likewise.
28162 (mode_in_use): Likewise.
28163 (mode_list): Likewise.
28164
5f97350b 281652006-03-10 Marco Gerards <marco@gnu.org>
28166
28167 * configure.ac (AC_INIT): Bumped to 1.93.
28168
28169 * DISTLIST: Added `include/grub/hfs.h'.
28170
a3c5c6f8 281712006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28172
28173 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28174 18H, which might help the BIOS falling back to next boot media.
28175
6de53d26 281762006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28177
28178 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28179 Poe Chen <poe.poechen@gmail.com>.
28180
77c4a393 281812006-01-17 Marco Gerards <marco@gnu.org>
28182
28183 * include/grub/normal.h: Include <grub/script.h>.
28184 (grub_command_list): Removed struct.
28185 (grub_command_list_t): Removed type.
28186 (grub_menu_entry): Remove members `num' and `command_list'. Add
28187 members `commands' and `sourcecode'.
28188 * include/grub/script.h: Add inclusion guards.
28189 (grub_script_cmd_menuentry): New struct.
28190 (grub_script_execute_menuentry): New prototype.
28191 (grub_script_lexer_record_start): Likewise.
28192 (grub_script_lexer_record_stop): Likewise.
28193 * normal/execute.c (grub_script_execute_menuentry): New function.
28194 * normal/lexer.c (record, recording, recordpos, recordlen): New
28195 variables.
28196 (grub_script_lexer_record_start): New function.
28197 (grub_script_lexer_record_stop): Likewise.
28198 (recordchar): Likewise.
28199 (nextchar): Likewise.
28200 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28201 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28202 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28203 (current_menu): New variable.
28204 (free_menu): Mainly rewritten.
28205 (grub_normal_menu_addentry): New function.
28206 (read_config_file): Rewritten.
28207 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28208 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28209 the menu entry.
28210 (run): Mainly rewritten.
28211 * normal/parser.y (menu_entry): New variable.
28212 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
28213 (menuentry): New rule.
28214 (command): Add `menuentry'.
28215 (if_statement): Allow additional returns before `fi'.
28216 * normal/script.c (grub_script_create_cmdmenu): New function.
28217
144f1f98 282182006-01-03 Marco Gerards <marco@gnu.org>
28219
28220 * INSTALL: GNU Bison is required.
28221 * configure.ac: Rewritten the test to detect Bison.
28222 * Makefile.in (YACC): New variable. Reported by Xun Sun
28223 <xun.sun.cn@gmail.com>.
28224
af4b2d89 282252006-01-03 Marco Gerards <marco@gnu.org>
28226
28227 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
28228 the HFS+ filesystem to filesystem blocks.
28229 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
28230 GCC warning is silenced.
28231
15643b71 282322006-01-03 Marco Gerards <marco@gnu.org>
28233
28234 * partmap/apple.c (apple_partition_map_iterate): Convert the data
28235 read from disk from big endian to host byte order.
28236
00905879 282372006-01-03 Hollis Blanchard <hollis@penguinppc.org>
28238
28239 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
28240 documentation.
28241 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
28242 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
28243 embedded HFS+ filesystem.
28244 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
28245 (grub_hfs_sblock): Move from here...
28246 * include/grub/hfs.h: To here... New file.
28247 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
28248 documentation.
28249 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
28250 New macros.
28251 (grub_hfsplus_volheader): Change type of member `magic' to
28252 `grub_uint16_t'.
28253 (grub_hfsplus_data): Add new member `embedded_offset'.
28254 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
28255 returned block.
28256 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
28257 Calculate the offset.
28258
8899bc3e 282592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28260
28261 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
28262 Removed.
28263 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
28264
ae8c0277 282652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28266
28267 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
28268 ENV->NAME is NULL after allocating ENV->VALUE.
28269
07084456 282702005-12-25 Marco Gerards <marco@gnu.org>
28271
28272 * kern/env.c (grub_env_set): Rewritten the error handling code.
28273
4750f5f1 282742005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28275
28276 * geninit.sh: Made more robust, and more portable.
28277
50214199 282782005-12-25 Marco Gerards <marco@gnu.org>
28279
28280 Add support for Apple HFS+ filesystems.
f19dbdb7 28281
50214199 28282 * fs/hfsplus.c: New file.
28283
28284 * DISTLIST: Added `fs/hfsplus.c'.
28285
28286 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
28287 (hfsplus_mod_SOURCES): New variable.
28288 (hfsplus_mod_CFLAGS): Likewise.
28289 (hfsplus_mod_LDFLAGS): Likewise.
28290 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
28291 (grub_setup_SOURCES): Likewise.
28292 (grub_mkdevicemap_SOURCES): Likewise.
28293 (grub_emu_SOURCES): Likewise.
28294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28295
28296 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
28297
28298 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
28299
befaed6c 283002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
28301
28302 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
28303 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
28304 include/grub/parser.h, include/grub/script.h, kern/parser.c,
28305 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
28306 normal/lexer.c, normal/parser.y, normal/script.c, and
28307 partmap/gpt.c.
28308 Removed kern/sparc64/cache.c.
28309
28310 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
28311 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
28312 grub_emu_init.c.
28313
28314 * configure.ac (AC_INIT): Bumped to 1.92.
28315
6a124103 283162005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
28317
28318 * kern/err.c (grub_error_push): Added new function to support error
28319 stacks.
28320 (grub_error_pop): Likewise.
28321 (grub_error_stack_items): New local variable to support error stacks.
28322 (grub_error_stack_pos): Likewise.
28323 (grub_error_stack_assert): Likewise.
28324 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
28325 stack depth.
28326 (grub_print_error): Added support to print errors from error stack.
28327
28328 * include/grub/err.h (grub_error_push): Added function prototype.
28329 (grub_error_pop): Likewise.
28330
be973c1b 283312005-12-09 Hollis Blanchard <hollis@penguinppc.org>
28332
28333 * configure.ac: Accept `powerpc64' as host_cpu.
28334 (amd64): Rename to `biarch32'.
28335
28336 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
28337 non-cacheline-aligned addresses.
28338
28339 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
28340 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
28341 if `size' is non-zero.
28342
b04216ab 283432005-12-03 Marco Gerards <mgerards@xs4all.nl>
28344
28345 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
28346 and `cd' to make sure the filename is not prefixed with a
28347 directory name.
28348 (pkgdata_MODULES): Add `gpt.mod'.
28349 (gpt_mod_SOURCES): New variable.
28350 (gpt_mod_CFLAGS): Likewise.
28351 (gpt_mod_LDFLAGS): Likewise.
28352
28353 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
28354
28355 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
28356 New macro.
28357
28358 * partmap/gpt.c: New file.
28359
28360 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
28361 GPT partition map is detected.
28362
41730ed9 283632005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
28364
28365 * commands/i386/pc/play.c: New file.
28366 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
28367 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
28368 macros.
f19dbdb7 28369
95dc3643 283702005-11-27 Marco Gerards <mgerards@xs4all.nl>
28371
28372 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
28373 ((unused))' to silence gcc warning.
28374
1569ec51 283752005-11-26 Hollis Blanchard <hollis@penguinppc.org>
28376
28377 * configure.ac: Correct `AC_PROG_YACC' test.
28378
9abde152 283792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28380
28381 * util/powerpc/ieee1275/grub-install.in: Run the mount point
28382 check before installing files.
28383
44b83271 283842005-11-22 Mike Small <smallm@panix.com>
28385
28386 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
28387 number regex so multidigit numbers are recognized correctly.
28388
283892005-11-22 Mike Small <smallm@panix.com>
28390
28391 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
28392 debugging message before attempting to claim memory.
28393 (grub_rescue_cmd_initrd): Add a claim debugging message and try
28394 multiple addresses in case of failure.
28395
9c12956b 283962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28397
28398 * term/tparm.c (get_space): Remove empty `if' statement.
28399
28400 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
28401
28402 * kern/parser.c (check_varstate): Rename `state' to 's'.
28403
aeaf81d9 284042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28405
28406 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
28407 variable definitions to the beginning of each function. Sort stack
28408 variables by size.
28409 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
28410 `buf' argument to `char *'.
28411
79bbb63f 284122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
28413
28414 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
28415 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28416 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 28417 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28418 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28419 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28420 configfile.mod, search.mod, gzio.mod and test.mod.
28421 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28422 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28423 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28424 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28425 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28426 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28427 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28428 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28429 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28430 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28431 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28432 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28433 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28434 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28435 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28436 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28437 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28438 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28439 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28440 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28441 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28442 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28443 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
28444
28445 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
28446 `grep --include'.
28447 (pkgdata_MODULES): Add test.mod.
28448
233b1628 284492005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28450
28451 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
28452 appending to variables with "+=".
28453 (PModule): Use full pathname to generate *.lst filenames.
28454
28455 * Makefile.in: Fixed list rules moved from genmk.rb.
28456 (.DELETE_ON_ERROR): New special target.
28457 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
28458
28459 * conf/i386-pc.rmk: Include conf/common.mk.
28460 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 28461 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 28462 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
28463 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
28464 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
28465 configfile.mod, search.mod, gzio.mod and test.mod.
28466 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
28467 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
28468 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
28469 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
28470 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
28471 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
28472 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
28473 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
28474 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
28475 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
28476 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28477 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28478 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
28479 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
28480 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
28481 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
28482 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28483 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
28484 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
28485 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
28486 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
28487 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
28488 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
28489 here...
28490 * conf/common.rmk: ... to here. New file.
28491
28492 * conf/common.mk: New file.
28493
16f820c8 284942005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
28495
28496 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
28497 (grub_script.tab.c): ... here.
28498
28499 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
28500 (grub_script.tab.c): ... here.
28501
28502 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
28503 (grub_script.tab.c): ... here.
28504
28505 * normal/command.c (grub_command_find): Fixed a memory leak of
28506 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
28507
63ba1554 285082005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28509
28510 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
28511 "@" which marks the start of a comment on ARM.
28512 (VARIABLE): Likewise.
28513
7f67dc13 285142005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28515
79bbb63f 28516 Add support for Linux/ADFS partition tables.
7f67dc13 28517
28518 * partmap/acorn.c: New file.
28519
28520 * include/grub/acorn_filecore.h: Likewise.
28521
28522 * DISTLIST: Added `partmap/acorn.c' and
28523 `include/grub/acorn_filecore.h'.
f19dbdb7 28524
7f67dc13 28525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28526 `partmap/acorn.c'.
28527 (pkgdata_MODULES): Add `acorn.mod'.
28528 (acorn_mod_SOURCES): New variable.
28529 (acorn_mod_CFLAGS): Likewise.
28530
28531 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28532 `partmap/acorn.c'.
28533 (pkgdata_MODULES): Add `acorn.mod'.
28534 (acorn_mod_SOURCES): New variable.
28535 (acorn_mod_CFLAGS): Likewise.
28536
28537 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
28538 (pkgdata_MODULES): Add `acorn.mod'.
28539 (acorn_mod_SOURCES): New variable.
28540 (acorn_mod_CFLAGS): Likewise.
28541 (acorn_mod_LDFLAGS): Likewise.
28542
28543 * include/types.h (grub_disk_addr_t): New typedef.
28544
6d099807 285452005-11-13 Marco Gerards <mgerards@xs4all.nl>
28546
28547 * geninit.sh: New file.
28548
28549 * geninitheader.sh: Likewise.
28550
28551 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
28552 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
28553 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
28554 * commands/configfile.c (grub_configfile_init)
28555 (grub_configfile_fini): Likewise.
28556 * commands/default.c (grub_default_init, grub_default_fini):
28557 Likewise.
28558 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
28559 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
28560 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
28561 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
28562 Likewise.
28563 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
28564 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
28565 Likewise.
28566 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 28567 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 28568 Likewise.
28569 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
28570 Likewise.
fe6b695a 28571 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 28572 Likewise.
28573 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
28574 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
28575 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
28576 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
28577 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
28578 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
28579 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
28580 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
28581 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
28582 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
28583 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
28584 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
28585 * partmap/amiga.c (grub_amiga_partition_map_init)
28586 (grub_amiga_partition_map_fini): Likewise.
28587 * partmap/apple.c (grub_apple_partition_map_init)
28588 (grub_apple_partition_map_fini): Likewise.
28589 * partmap/pc.c (grub_pc_partition_map_init)
28590 (grub_pc_partition_map_fini): Likewise.
28591 * partmap/sun.c (grub_sun_partition_map_init,
28592 grub_sun_partition_map_fini): Likewise.
28593 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
28594 Likewise.
28595
28596 * util/grub-emu.c: Include <grub_modules_init.h>.
28597 (main): Don't initialize and de-initialize any modules directly,
28598 use `grub_init_all' and `grub_fini_all' instead.
28599
28600 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
28601 `grub_vesafb_mod_init'.
28602 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
28603 all users.
28604 * term/i386/pc/vga.c (grub_vga_init): Renamed to
28605 `grub_vga_mod_init'. Updated all users.
28606 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 28607
6d099807 28608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
28609 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
28610 rules.
28611
28612 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
28613 Generate a function to initialize the module in utilities.
28614 Updated all callers.
28615 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
28616 initialize the module in utilities. Updated all callers.
28617
9046bcf0 286182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28619
28620 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
28621 escape sequence and a literal ^L to clear the screen.
28622
28623 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
28624 when returning from Open Firmware.
28625
d13ea639 286262005-11-09 Hollis Blanchard <hollis@penguinppc.org>
28627
28628 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
28629 (grub_ofconsole_height): Likewise.
28630 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
28631 manually insert a '\n'.
28632 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
28633 `grub_ofconsole_height'. Return early if these are already set.
28634
a8fcf206 286352005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
28636
28637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
28638 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
28639 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
28640 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
28641 and `normal/script.c'.
28642 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28643 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28644 (test_mod_SOURCES): New variable.
28645 (test_mod_CFLAGS): Likewise.
28646 (test_mod_LDFLAGS): Likewise.
28647 (pkgdata_MODULES): Add `test.mod'.
28648 (grub_script.tab.c): New rule.
28649 (grub_script.tab.h): Likewise.
28650
b6b32745 286512005-11-07 Marco Gerards <mgerards@xs4all.nl>
28652
28653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28654 `commands/test.c', `normal/execute.c', `normal/lexer.c',
28655 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28656 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28657 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
28658 (test_mod_SOURCES): New variable.
28659 (test_mod_CFLAGS): Likewise.
28660 (pkgdata_MODULES): Add `test.mod'.
28661 (grub_script.tab.c): New rule.
28662 (grub_script.tab.h): Likewise.
28663
daac212a 286642005-11-06 Marco Gerards <mgerards@xs4all.nl>
28665
28666 Add initial scripting support.
28667
28668 * commands/test.c: New file.
28669 * include/grub/script.h: Likewise.
28670 * normal/execute.c: Likewise.
28671 * normal/function.c: Likewise.
28672 * normal/lexer.c: Likewise.
28673 * normal/parser.y: Likewise.
28674 * normal/script.c: Likewise.
28675
28676 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 28677
daac212a 28678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
28679 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
28680 `normal/function.c' and `normal/script.c'.
28681 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
28682 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 28683 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
28684 variables.
daac212a 28685 (pkgdata_MODULES): Add `test.mod'.
28686 (grub_script.tab.c): New rule.
28687 (grub_script.tab.h): Likewise.
28688
28689 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
28690
28691 * include/grub/normal.h (grub_test_init): New prototype.
28692 (grub_test_fini): Likewise.
f19dbdb7 28693
daac212a 28694 * normal/command.c: Include <grub/script.h>.
28695 (grub_command_execute): Rewritten.
f19dbdb7 28696
daac212a 28697 * util/grub-emu.c (main): Call `grub_test_init' and
28698 `grub_test_fini'.
28699
77500b2b 287002005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28701
28702 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
28703 to 0.
28704 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
28705 there are no pending characters.
28706
e45deb9e 287072005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28708
28709 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
28710 `grub_strndup' to drop device arguments. Replace unnecessary
28711 `grub_strndup' with `grub_strdup'.
28712
4ce32619 287132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
28714
28715 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
28716 `debug' environment variable has been set.
28717
287182005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 28719
4ce32619 28720 * Makefile.in (install-local): Use $(DATA).
28721 (uninstall): Likewise.
28722 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
28723 (sbin_UTILITIES): ... to here.
28724 (sbin_SCRIPTS): New variable.
28725 (grub_install_SOURCES): New variable.
28726 * util/powerpc/ieee1275/grub-install.in: New file.
28727 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
28728 variable.
28729 (add_segments): Call `grub_util_get_path'.
28730
25fe6f03 287312005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28732
28733 From Timothy Baldwin:
28734 * commands/ls.c (grub_ls_list_files): Close FILE with
28735 grub_file_close.
28736 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
28737
04ccf3ec 287382005-10-24 Marco Gerards <mgerards@xs4all.nl>
28739
28740 * include/grub/parser.h: New file.
28741
28742 * kern/parser.c: Likewise.
28743
28744 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
28745 (grub_setup_SOURCES): Likewise.
28746 (grub_probefs_SOURCES): Likewise.
28747 (grub_emu_SOURCES): Likewise.
28748 (kernel_img_HEADERS): Add `parser.h'.
28749
28750 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
28751 (grub_emu_SOURCES): Add `kern/parser.c'.
28752 (grubof_SOURCES): Likewise.
28753
28754 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
28755 (grubof_SOURCES): Add `kern/parser.c'.
28756
28757 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
28758
28759 * kern/misc.c (grub_split_cmdline): Removed function.
28760
28761 * kern/rescue.c: Include <grub/parser.h>.
28762 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
28763 of `grub_split_cmdline'.
28764
28765 * normal/command.c: Include <grub/parser.h>.
28766 (grub_command_execute): Use `grub_parser_split_cmdline' instead
28767 of `grub_split_cmdline'.
28768
28769 * normal/completion.c: Include <grub/parser.h>.
28770 (cmdline_state): New variable.
28771 (iterate_dir): End the filename with a quote depending on the
28772 command line state.
28773 (get_state): new function.
28774 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
28775 split the arguments and determine the current argument. When the
28776 argument string is not quoted, escape all spaces.
28777
6d8f4b0e 287782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28779
28780 * normal/sparc64/setjmp.S: New file.
28781
15cf03ed 287822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28783
28784 * include/grub/sparc64/libgcc.h: New file.
28785 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
28786 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
28787 normal/sparc64/setjmp.c.
28788
03e8661a 287892005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
28790
28791 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
28792 * kern/sparc64/cache.S: New file.
28793 * kern/sparc64/cache.c: Removed.
28794 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
28795 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
28796 -mtune=ultrasparc.
28797 (COMMON_LDFLAGS): Add -melf64_sparc.
28798 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
28799 (grubof_SOURCES): Use cache.S instead of cache.c.
28800 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
28801 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
28802 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
28803 commented though.
28804 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
28805 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
28806 (linux_mod_CFLAGS): Commented out.
28807 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
28808 out because module isn't built.
28809 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
28810 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
28811 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
28812 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
28813 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
28814 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
28815 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
28816 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
28817 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
28818 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
28819 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
28820 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
28821 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
28822 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
28823
34eeec8a 288242005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
28825
28826 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
28827 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
28828 longer, because HFS should not be used on PC.
28829
708367a3 288302005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28831
28832 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
28833 consistently within the loop.
28834
6fa1251a 288352005-10-15 Marco Gerards <mgerards@xs4all.nl>
28836
28837 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
28838 directory can not be read.
28839
4801580b 288402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28841
28842 * configure.ac (AC_INIT): Increase the version number to 1.91.
28843
28844 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
28845 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
28846 term/i386/pc/serial.c.
28847
219ad426 288482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28849
28850 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
28851 file size must be permitted.
28852
28853 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
28854 between %ah and %al.
28855
688e5699 288562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28857
28858 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
28859 grub_uint64_t.
28860 Call the hook with a NUL-terminated filename.
28861 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
28862 grub_cpu_to_be32.
28863
28864 * kern/term.c (cursor_state): New variable.
28865 (grub_term_set_current): Reset the cursor state on a new
28866 terminal.
28867 (grub_setcursor): Rewritten to use CURSOR_STATE.
28868 (grub_getcursor): New function.
28869
28870 * include/grub/term.h (grub_getcursor): New prototype.
28871
28872 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
28873 integers on ARM. Reported by Timothy Baldwin
28874 <T.E.Baldwin99@members.leeds.ac.uk>.
28875
bb34586c 288762005-10-11 Marco Gerards <mgerards@xs4all.nl>
28877
28878 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
28879 allocated.
28880 (grub_sfs_dir): Likewise.
28881
9a909877 288822005-10-09 Marco Gerards <mgerards@xs4all.nl>
28883
28884 Add support for the SFS filesystem.
28885
28886 * fs/sfs.c: New file.
28887
28888 * DISTLIST: Added `fs/sfs.c'.
28889
28890 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
28891 (grub_probefs_SOURCES): Likewise.
28892 (grub_emu_SOURCES): Likewise.
28893 (pkgdata_MODULES): Add `sfs.mod'.
28894 (sfs_mod_SOURCES): New variable.
28895 (sfs_mod_CFLAGS): Likewise.
28896 (sfs_mod_LDFLAGS): Likewise.
28897
28898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
28899 (pkgdata_MODULES): Add `sfs.mod'.
28900 (sfs_mod_SOURCES): New variable.
28901 (sfs_mod_CFLAGS): Likewise.
28902
28903 * util/grub-emu.c (main): Call `grub_sfs_init' and
28904 `grub_sfs_fini'.
28905
28906 * include/grub/fs.h (grub_sfs_init): New prototype.
28907 (grub_sfs_fini): Likewise.
28908
57bdbde3 289092005-10-07 Marco Gerards <mgerards@xs4all.nl>
28910
28911 Add support for the AFFS filesystem.
28912
28913 * fs/affs.c: New file.
28914
28915 * DISTLIST: Added `fs/affs.c'.
28916
28917 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
28918 (grub_probefs_SOURCES): Likewise.
28919 (grub_emu_SOURCES): Likewise.
28920 (pkgdata_MODULES): Add `affs.mod'.
28921 (affs_mod_SOURCES): New variable.
28922 (affs_mod_CFLAGS): Likewise.
28923 (affs_mod_LDFLAGS): Likewise.
28924
28925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
28926 (pkgdata_MODULES): Add `affs.mod'.
28927 (affs_mod_SOURCES): New variable.
28928 (affs_mod_CFLAGS): Likewise.
28929
28930 * util/grub-emu.c (main): Call `grub_affs_init' and
28931 `grub_affs_fini'.
28932
28933 * include/grub/fs.h (grub_affs_init): New prototype.
28934 (grub_affs_fini): Likewise.
28935
047b67e0 289362005-10-01 Marco Gerards <mgerards@xs4all.nl>
28937
28938 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
28939
59b8208a 289402005-10-01 Marco Gerards <mgerards@xs4all.nl>
28941
28942 * configure.ac: Accept `x86_64' as host_cpu. In that case add
28943 `-m32' to CFLAGS.
28944
28945 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
28946 linking.
f19dbdb7 28947
59b8208a 28948 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
28949 (COMMON_LDFLAGS): New variable.
28950 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
28951 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
28952 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
28953 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
28954 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
28955 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
28956 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
28957 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
28958 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
28959 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
28960 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
28961 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
28962 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
28963 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
28964 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
28965 variables.
28966 (normal_mod_ASFLAGS): Add `-m32'.
28967
28968 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
28969 (grub_host_size_t, grub_host_ssize_t): New types.
28970 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 28971 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 28972 `GRUB_HOST_SIZEOF_VOID_P'.
28973
28974 * include/grub/kernel.h (struct grub_module_header): Type of
28975 member offset changed to `grub_host_off_t'. Type of member size
28976 changed to `grub_host_size_t'.
28977 (struct grub_module_info): Type of member offset changed to
28978 `grub_host_off_t'. Type of member size changed to
28979 `grub_host_size_t'.
28980
b4093103 289812005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
28982
28983 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 28984
b4093103 28985 * kern/i386/pc/startup.S (multiboot_header): New label.
28986 (multiboot_entry): Likewise.
28987 (multiboot_trampoline): Likewise.
28988
28989 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28990 Increased to 0x4A0.
28991
28992 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
28993 put parentheses after a question mark.
28994 [!GRUB_UTIL] (my_mod): New variable.
28995
28996 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
28997
b2499b29 289982005-09-28 Marco Gerards <mgerards@xs4all.nl>
28999
29000 Adds support for the XFS filesystem. Btrees are not supported
29001 yet.
29002
29003 * fs/xfs.c: New file.
29004
29005 * DISTLIST: Added `fs/xfs.c'.
29006
29007 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29008 (grub_probefs_SOURCES): Likewise.
29009 (grub_emu_SOURCES): Likewise.
29010 (pkgdata_MODULES): Add `xfs.mod'.
29011 (xfs_mod_SOURCES): New variable.
29012 (xfs_mod_CFLAGS): Likewise.
29013
29014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29015 (pkgdata_MODULES): Add `xfs.mod'.
29016 (xfs_mod_SOURCES): New variable.
29017 (xfs_mod_CFLAGS): Likewise.
29018
29019 * util/grub-emu.c (main): Call `grub_xfs_init' and
29020 `grub_xfs_fini'.
29021
29022 * include/grub/fs.h (grub_xfs_init): New prototype.
29023 (grub_xfs_fini): Likewise.
29024
f19dbdb7 29025
83d37a62 290262005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29027
29028 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29029 color modes, allow greater than 16 colors to be configured as
29030 a default palette.
29031
47d2d65e 290322005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29033
29034 * normal/completion.c (complete_arguments): Add the qualifier
29035 const into OPTIONS.
29036
29037 From Omniflux <omniflux+lists@omniflux.com>:
29038 * include/grub/terminfo.h: New file.
29039 * include/grub/tparm.h: Likewise.
29040 * include/grub/i386/pc/serial.h: Likewise.
29041 * term/terminfo.c: Likewise.
29042 * term/tparm.c: Likewise.
29043 * term/i386/pc/serial.c: Likewise.
29044 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29045 serial.mod.
29046 (terminfo_mod_SOURCES): New variable.
29047 (terminfo_mod_CFLAGS): Likewise.
29048 (serial_mod_SOURCES): Likewise.
29049 (serial_mod_CFLAGS): Likewise.
29050
48b671ff 290512005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29052
29053 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29054 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29055 and kern/powerpc/ieee1275/cmain.c, respectively.
29056
29057 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29058 * kern/powerpc/ieee1275/crt0.S: ... here.
29059
29060 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29061 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29062
48b671ff 29063 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29064 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29065 instead of boot/powerpc/ieee1275/crt0.S and
29066 boot/powerpc/ieee1275/cmain.c, respectively.
29067
29068 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29069 sectors. It was not used anyway.
29070
09fc77a7 290712005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29072
29073 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29074 `unused parameter' warning.
29075
003789c7 290762005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29077
29078 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29079 function.
29080 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29081 getcharwidth.
29082
67f44c86 290832005-08-28 Marco Gerards <metgerards@student.han.nl>
29084
29085 * include/grub/normal.h (enum grub_completion_type): Added
29086 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29087
29088 * normal/cmdline.c (print_completion): Handle
29089 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29090 * normal/menu_entry.c (store_completion): Likewise.
29091
29092 * normal/completion.c (complete_arguments): New function.
29093 (grub_normal_do_completion): Call `complete_arguments' when the
29094 current words start with a dash.
29095
0b5abe02 290962005-08-27 Marco Gerards <metgerards@student.han.nl>
29097
29098 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29099 `gzio.mod' instead of `io.mod').
29100
d9864ee1 291012005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29102
29103 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29104 (DISTDIRS): Added io and video.
29105 Rewrite the search routine to make an output consistently.
29106
29107 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29108 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29109 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29110 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29111 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29112 util/powerpc/ieee1275/misc.c.
f19dbdb7 29113
d9864ee1 29114 * include/grub/gzio.h: New file.
29115 * io/gzio.c: Likewise.
f19dbdb7 29116
d9864ee1 29117 * kern/file.c (grub_file_close): Call grub_device_close only if
29118 FILE->DEVICE is not NULL.
29119
29120 * include/grub/mm.h [!NULL] (NULL): New macro.
29121
29122 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29123
29124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29125 (pkgdata_MODULES): Added gzio.mod.
29126 (gzio_mod_SOURCES): New variable.
29127 (gzio_mod_CFLAGS): Likewise.
29128
29129 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29130 (pkgdata_MODULES): Added gzio.mod.
29131 (gzio_mod_SOURCES): New variable.
29132 (gzio_mod_CFLAGS): Likewise.
29133
29134 * commands/cat.c: Include grub/gzio.h.
29135 (grub_cmd_cat): Use grub_gzfile_open instead of
29136 grub_file_open.
f19dbdb7 29137
d9864ee1 29138 * commands/cmp.c: Include grub/gzio.h.
29139 (grub_cmd_cmp): Use grub_gzfile_open instead of
29140 grub_file_open.
29141
29142 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29143 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29144 grub_file_open.
29145 (grub_rescue_cmd_module): Likewise.
29146
fa46f4b5 291472005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29148
29149 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29150 kern/sparc64/ieee1275/init.c because it contains _start.
29151 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29152
e9211b5d 291532005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29154
29155 * configure.ac: Add support for sparc64 host with ieee1275
29156 firmware.
29157 * configure: Generated from configure.ac.
29158 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29159 instead of int.
29160 (grub_ofdisk_read): Likewise.
29161 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29162 pointers as (void *) to remove a warning.
29163 (grub_ofdisk_close): Likewise.
29164 (grub_ofdisk_read): Likewise.
29165 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29166 returns, so make it return void to remove a warning.
29167 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29168 Corresponding prototype change.
29169 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29170 values, and cast the pointers as (void *) to remove a warning.
29171 (grub_mm_dump): Likewise.
29172 * conf/sparc64-ieee1275.mk: New file.
29173 * conf/sparc64-ieee1275.rmk: Likewise.
29174 * include/grub/sparc64/setjmp.h: Likewise.
29175 * include/grub/sparc64/types.h: Likewise.
29176 * include/grub/sparc64/ieee1275/console.h: Likewise.
29177 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29178 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29179 * include/grub/sparc64/ieee1275/time.h: Likewise.
29180 * kern/sparc64/cache.c: Likewise.
29181 * kern/sparc64/dl.c: Likewise.
29182 * kern/sparc64/ieee1275/init.c: Likewise.
29183 * kern/sparc64/ieee1275/openfw.c: Likewise.
29184
385c6a92 291852005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29186
29187 * util/console.c (grub_ncurses_putchar): If C is greater than
29188 0x7f, set C to a question mark.
29189 (grub_ncurses_getcharwidth): New function.
29190 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29191 getcharwidth.
29192
29193 * normal/menu.c (print_entry): Made aware of Unicode. First,
29194 convert TITLE to UCS-4, and predict the cursor position by
29195 grub_getcharwidth.
29196
29197 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29198 const to SRC.
29199 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29200
16ccb8b1 292012005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29202
29203 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29204 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29205 grub_strcat.
29206
29207 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29208 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29209 grub_strcpy and grub_strlen. Take it into account that a space
29210 character is inserted as a delimiter.
29211
6a85ce79 292122005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29213
29214 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 29215 invalid magic in the error.
6a85ce79 29216
29217 * commands/search.c: New file.
f19dbdb7 29218
6a85ce79 29219 * util/grub-emu.c (main): Call grub_search_init and
29220 grub_search_fini.
29221
29222 * kern/rescue.c (grub_rescue_print_disks): Removed.
29223 (grub_rescue_print_devices): New function.
29224 (grub_rescue_cmd_ls): Use grub_device_iterate with
29225 grub_rescue_print_devices instead of grub_disk_dev_iterate with
29226 grub_rescue_print_disks.
29227
29228 * kern/partition.c (grub_partition_iterate): Return the result of
29229 PARTMAP->ITERATE instead of GRUB_ERRNO.
29230
29231 * kern/device.c: Include grub/partition.h.
29232 (grub_device_iterate): New function.
29233
29234 * include/grub/partition.h (grub_partition_iterate): Return int
29235 instead of grub_err_t.
29236
29237 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
29238 prototype.
29239 [GRUB_UTIL] (grub_search_fini): Likewise.
29240
29241 * include/grub/device.h (grub_device_iterate): New prototype.
29242
29243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29244 commands/search.c.
29245 (pkgdata_MODULES): Added search.mod.
29246 (search_mod_SOURCES): New variable.
29247 (search_mod_CFLAGS): Likewise.
29248
29249 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
29250 (pkgdata_MODULES): Added search.mod.
29251 (search_mod_SOURCES): New variable.
29252 (search_mod_CFLAGS): Likewise.
29253
29254 * commands/ls.c (grub_ls_list_disks): Renamed to ...
29255 (grub_ls_list_devices): ... this, and use grub_device_iterate.
29256 All callers changed.
29257
29258 * DISTLIST: Added commands/search.c.
29259
ef095434 292602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29261
29262 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
29263 conversion.
29264 (grub_getcharwidth): New function.
29265
29266 * kern/misc.c (grub_utf8_to_ucs4): New function.
29267
29268 * include/grub/term.h (struct grub_term): Added a new member
29269 "getcharwidth".
29270 (grub_getcharwidth): New prototype.
29271
29272 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
29273
29274 * term/i386/pc/console.c (map_char): New function. Segregated from
29275 grub_console_putchar.
29276 (grub_console_putchar): Use map_char.
29277 (grub_console_getcharwidth): New function.
29278 (grub_console_term): Specified grub_console_getcharwidth as
29279 getcharwidth.
29280
29281 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
29282 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
29283
29284 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
29285 GRUB_ERRNO.
29286 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
29287 on grub_strtoul completely.
29288 (write_char): Declare local variables in the beginning of the
29289 function.
29290 (grub_vesafb_getcharwidth): New function.
29291 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
29292 getcharwidth.
29293
1f0a95e4 292942005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
29295
29296 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
29297 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
29298 commands/i386/pc/vbetest.c.
29299
29300 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
29301 call grub_vbe_get_controller_info again, because the returned
29302 information is volatile.
29303 (grub_vbe_set_video_mode): Mostly rewritten.
29304 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
29305 grub_vbe_status_t correctly.
29306 (grub_vbe_get_video_mode_info): Likewise.
29307 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
29308 several if statements.
29309
29310 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
29311 * commands/i386/pc/vbeinfo.c: ... this.
29312
29313 * commands/i386/pc/vbe_test.c: Renamed to ...
29314 * commands/i386/pc/vbetest.c: ... this.
29315
29316 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
29317 ...
29318 (grub_cmd_vbeinfo): ... this. Save video modes before
29319 iterating. Skip a video mode, if it is not available, not enough
29320 information is given or it is monochrome. Show the memory
29321 model. Leave the interpretation of MODEVAR to grub_strtoul
29322 completely.
29323 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
29324 (GRUB_MOD_FINI): Likewise.
29325
29326 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
29327 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
29328 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
29329 duplicated grub_env_get. Leave the interpretation of MODEVAR to
29330 grub_strtoul completely.
29331 (real2pm): Removed.
29332 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
29333 (GRUB_MOD_FINI): Likewise.
29334
29335 * normal/misc.c: Include grub/mm.h.
29336
29337 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
29338 vbe_list_modes with vbetest.mod and vbeinfo.mod.
29339 (vbe_list_modes_mod_SOURCES): Removed.
29340 (vbe_list_modes_mod_CFLAGS): Likewise.
29341 (vbe_test_mod_SOURCES): Likewise.
29342 (vbe_test_mod_CFLAGS): Likewise.
29343 (vbeinfo_mod_SOURCES): New variable.
29344 (vbeinfo_mod_CFLAGS): Likewise.
29345 (vbetest_mod_SOURCES): Likewise.
29346 (vbetest_mod_CFLAGS): Likewise.
29347
992ffbbe 293482005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
29349
29350 * normal/misc.c: New file.
29351
29352 * DISTLIST: Added normal/misc.c.
f19dbdb7 29353
992ffbbe 29354 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
29355 DISK to HOOK. Call HOOK with DISK.
29356 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29357 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29358 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29359
29360 * normal/menu_entry.c (struct screen): Added a new member
29361 "completion_shown".
29362 (completion_buffer): New global variable.
29363 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
29364 (store_completion): New function.
29365 (complete): Likewise.
29366 (clear_completions): Likewise.
29367 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
29368 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
29369 a tab, call complete.
29370
29371 * normal/completion.c (disk_dev): Removed.
29372 (print_simple_completion): Likewise.
29373 (print_partition_completion): Likewise.
29374 (print_func): New global variable.
29375 (add_completion): Do not take the arguments WHAT or PRINT any
29376 longer. Added a new argument TYPE. Instead of printing directly,
29377 call PRINT_FUNC if not NULL.
29378 All callers changed.
29379 (complete_device): Use a local variable DEV instead of
29380 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
29381 (grub_normal_do_completion): Take a new argument HOOK. Do not
29382 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
29383 empty string, return NULL instead.
29384 All callers changed.
29385
29386 * normal/cmdline.c (print_completion): New function.
29387
29388 * kern/partition.c (grub_partition_iterate): Add an argument DISK
29389 to HOOK.
29390 All callers changed.
29391
29392 * kern/disk.c (grub_print_partinfo): Removed.
29393
29394 * include/grub/partition.h (struct grub_partition_map): Add a new
29395 argument DISK into HOOK of ITERATE.
29396 (grub_partition_iterate): Add a new argument DISK to HOOK.
29397
29398 * include/grub/normal.h (enum grub_completion_type): New enum.
29399 (grub_completion_type_t): New type.
29400 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
29401 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
29402 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
29403 (GRUB_COMPLETION_TYPE_FILE): Likewise.
29404 (grub_normal_do_completion): Added a new argument HOOK.
29405 (grub_normal_print_device_info): New prototype.
29406
29407 * include/grub/disk.h (grub_print_partinfo): Removed.
29408
29409 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
29410 (normal_mod_SOURCES): Likewise.
29411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29412 (normal_mod_SOURCES): Likewise.
29413
29414 * commands/ls.c (grub_ls_list_disks): Use
29415 grub_normal_print_device_info instead of grub_print_partinfo. Free
29416 PNAME.
29417 (grub_ls_list_files): Use grub_normal_print_device_info instead of
29418 duplicating the code.
29419
0bd41162 294202005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29421
29422 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 29423 follow GCS more precisely.
29424 * commands/i386/pc/vbe_test.c: Likewise.
29425 * include/grub/i386/pc/vbe.h: Likewise.
29426 * term/i386/pc/vesafb.c: Likewise.
29427 * video/i386/pc/vbe.c: Likewise.
0bd41162 29428
6323696a 294292005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
29430
29431 * DISTLIST: Added term/i386/pc/vesafb.c
29432 DISTLIST: Added video/i386/pc/vbe.c
29433 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
29434 DISTLIST: Added commands/i386/pc/vbe_test.c.
29435 * commands/i386/pc/vbe_list_modes.c: New file.
29436 * commands/i386/pc/vbe_test.c: Likewise.
29437 * term/i386/pc/vesafb.c: Likewise.
29438 * video/i386/pc/vbe.c: Likewise.
29439 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
29440 (grub_vbe_probe) Added prototype.
29441 (grub_vbe_set_video_mode) Likewise.
29442 (grub_vbe_get_video_mode) Likewise.
29443 (grub_vbe_get_video_mode_info) Likewise.
29444 (grub_vbe_set_pixel_rgb) Likewise.
29445 (grub_vbe_set_pixel_index) Likewise.
29446 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
29447 (pkgdata_MODULES): Added vesafb.mod.
29448 (pkgdata_MODULES): Added vbe_list_modes.mod.
29449 (pkgdata_MODULES): Added vbe_test.mod.
29450 (vbe_mod_SOURCES): Added.
29451 (vbe_mod_CFLAGS): Likewise.
29452 (vesafb_mod_SOURCES): Likewise.
29453 (vesafb_mod_CFLAGS): Likewise.
29454 (vbe_list_modes_mod_SOURCES): Likewise.
29455 (vbe_list_modes_mod_CFLAGS): Likewise.
29456 (vbe_test_mod_SOURCES): Likewise.
29457 (vbe_test_mod_CFLAGS): Likewise.
29458
0a74e62f 294592005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
29460
0a74e62f 29461 * normal/command.c (grub_command_execute): If INTERACTIVE is
29462 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
29463 CMDLINE. Disable the pager if INTERACTIVE is true.
29464 All callers are changed.
29465
29466 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
29467 before reading a config file.
29468 * normal/main.c (read_config_file): Even if a command is not
29469 found, register it if it is within an entry.
29470
29471 * util/grub-emu.c: Include sys/types.h and unistd.h.
29472 (options): Added --hold.
29473 (struct arguments): Added a new member "hold".
29474 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
29475 missing.
29476 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
29477 cleared by a debugger, if it is not zero.
29478
29479 * include/grub/normal.h (grub_command_execute): Add an argument
29480 INTERACTIVE.
29481
e51f85ae 294822005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
29483
29484 * DISTLIST: Added include/grub/i386/pc/vbe.h.
29485
e9c6f39b 294862005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
29487
29488 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
29489 program with another one, because the old one didn't detect a bug
29490 in gcc-3.4. Always use regparm 2, because the new test is still
29491 not enough for gcc-4.0. Someone must investigate a simple test
29492 case which detects a bug in gcc-4.0.
29493
8de3495c 294942005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
29495
29496 * DISTLIST: Added normal/completion.c.
29497
29498 * normal/completion.c: New file.
f19dbdb7 29499
8de3495c 29500 * term/i386/pc/console.c (grub_console_getwh): New function.
29501 (grub_console_term): Assign grub_console_getwh to getwh.
29502
29503 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
29504 function is defined in normal/completion.c as
29505 grub_normal_do_completion.
29506 (grub_cmdline_get): Use grub_normal_do_completion instead of
29507 grub_tab_complete.
29508
29509 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
29510 returns non-zero, otherwise return 0.
29511 (grub_partition_iterate): First, probe the partition map. Then,
29512 call ITERATE only for this partition map.
29513
29514 * kern/misc.c (grub_strncmp): Rewritten.
29515
29516 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
29517 returns non-zero. Otherwise return 0.
29518
29519 * include/grub/partition.h (grub_partition_map_iterate): Return
29520 int instead of void.
29521
29522 * include/grub/normal.h (grub_normal_do_completion): New prototype.
29523
29524 * include/grub/misc.h (grub_strncmp): Change the type of N to
29525 grub_size_t.
29526
29527 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
29528 of void.
29529
29530 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 29531 unsigned explicitly before comparing it with I.
8de3495c 29532
29533 * kern/main.c (grub_env_write_root): Add the attribute unused into
29534 VAR.
29535
29536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29537 normal/completion.c.
29538 (normal_mod_SOURCES): Likewise.
29539 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29540 (normal_mod_SOURCES): Likewise.
29541
29542 * normal/command.c (grub_iterate_commands): If ITERATE returns
29543 non-zero, return one immediately.
29544
e85e144b 295452005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
29546
29547 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
29548 * kern/i386/pc/startup.S: Updated Global Descriptor table's
29549 descriptions.
29550 (grub_vbe_get_controller_info): New function.
29551 (grub_vbe_get_mode_info): Likewise.
29552 (grub_vbe_set_mode): Likewise.
29553 (grub_vbe_get_mode): Likewise.
29554 (grub_vbe_set_memory_window): Likewise.
29555 (grub_vbe_get_memory_window): Likewise.
29556 (grub_vbe_set_scanline_length): Likewise.
29557 (grub_vbe_get_scanline_length): Likewise.
29558 (grub_vbe_set_display_start): Likewise.
29559 (grub_vbe_get_display_start): Likewise.
29560 (grub_vbe_set_palette_data): Likewise.
29561 * include/grub/i386/pc/vbe.h: New file.
29562
c46153d2 295632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29564
29565 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29566 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
29567 * DISTLIST: Likewise.
29568 * kern/ieee1275/of.c: Moved to ...
29569 * kern/ieee1275/ieee1275.c: ... here.
29570
0cb90c45 295712005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29572
29573 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
29574 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
29575 Pass 0 as `end' parameter to grub_strtoul().
29576
a19fb360 295772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
29578
29579 * include/grub/powerpc/ieee1275/console.h: Do not include
29580 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
29581 ifdef.
29582 (grub_console_cur_color): Remove i386-specific prototype.
29583 (grub_console_real_putchar): Likewise.
29584 (grub_console_checkkey): Likewise.
29585 (grub_console_getkey): Likewise.
29586 (grub_console_getxy): Likewise.
29587 (grub_console_gotoxy): Likewise.
29588 (grub_console_cls): Likewise.
29589 (grub_console_setcursor): Likewise.
29590 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
29591 Include <grub/machine/console.h>.
29592 * term/ieee1275/ofconsole.c: Likewise.
29593
4ac9bd04 295942005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
29595
29596 * Makefile.in (LIBLZO): New variable.
29597
29598 * configure.ac: Check for LZO version 2.
29599
29600 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
29601 lzo/lzo1x.h instead of lzo1x.h.
29602
29603 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
29604 of -llzo.
29605
29606 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
29607 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
29608
29609 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
29610 copying the data from PARTITION to P.
29611
f4917dfd 296122005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29613
29614 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
29615 negative, unload the module.
29616
29617 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
29618 map is "pc_partition_map" but not "pc".
29619 (usage): Fix the description. The options are --boot-image and
29620 --core-image but not --boot-file or --core-file.
29621 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
29622 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
29623 DEFAULT_DIRECTORY.
29624
29625 * util/i386/pc/grub-install.in: Do not specify --boot-file or
29626 --core-file. Specify INSTALL_DEVICE as an argument.
29627
29628 * util/console.c: Include config.h.
29629 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
29630 [HAVE_NCURSES_H]: Include ncurses.h.
29631 [HAVE_CURSES_H]: Include curses.h.
29632 [!A_NORMAL] (A_NORMAL): Defined as zero.
29633 [!A_STANDOUT] (A_STANDOUT): Likewise.
29634
29635 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
29636 -lncurses.
29637 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
29638
29639 * configure.ac: Check for curses libraries and headers.
29640
29641 * Makefile.in (LIBCURSES): New variable.
29642
29643 * genmk.rb (Script::rule): Set the executable bits.
29644
29645 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
29646 name of the PC partition map is "pc_partition_map" but not "pc".
29647
0e143073 296482005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29649
29650 * util/i386/pc/grub-install.in (grub_probefs): New variable.
29651 (modules): Likewise.
29652 (usage): Added descriptions for --modules and --grub-probefs.
29653 Handle --modules and --grub-probefs. Save the arguments in MODULES
29654 and GRUB_PROBEFS, respectively.
29655 Auto-detect a filesystem module against GRUBDIR. If the result is
29656 empty and modules are not specified explicitly, abort the
29657 installation. Add the result to MODULES.
29658
29659 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
29660 disk/powerpc/ieee1275/ofdisk.c,
29661 include/grub/powerpc/ieee1275/init.h and
29662 term/powerpc/ieee1275/ofconsole.c.
29663 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
29664 term/ieee1275/ofconsole.c.
29665
29666 * include/grub/powerpc/ieee1275/console.h: Resurrected.
29667
29668 * COPYING: Upgraded to the latest version. Only the address of the
29669 FSF office has changed.
f19dbdb7 29670
efd6e6d5 296712005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
29672
29673 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
29674 kern/ieee1275.c with kern/ieee1275/of.c.
29675
29676 * kern/ieee1275.c: Moved to ...
29677 * kern/ieee1275/of.c: ... here.
29678
8ceafda2 296792005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
29680
29681 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 29682 readability.
8ceafda2 29683
29684 * config.guess: Updated to the latest version from gnulib.
29685 * config.sub: Likewise.
29686 * install.sh: Likewise.
29687 * mkinstalldirs: Likewise.
29688
29689 * include/grub/console.h: Removed. This file is arch-specific. Do
29690 not put this in include/grub.
29691
29692 * include/grub/i386/pc/console.h: Resurrected.
29693
29694 * util/console.c: Include grub/machine/console.h instead of
29695 grub/console.h.
29696 * util/grub-emu.c: Likewise.
29697
267f6cd9 296982005-08-04 Marco Gerards <metgerards@student.han.nl>
29699
29700 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
29701 hardcoded value.
f19dbdb7 29702
267f6cd9 29703 From Vincent Pelletier <subdino2004@yahoo.fr>
29704 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
29705 Redefined to use grub_getwh.
29706 (grub_term): New member named getwh.
29707 (grub_getwh): New prototype.
29708 * kern/term.c (grub_getwh): New function.
29709 * term/i386/pc/console.c (grub_console_getwh): New function.
29710 (grub_console_term): New member `getwh'.
29711 * term/i386/pc/vga.c (grub_vga_getwh): New function.
29712 (grub_vga_term): New member `getwh'.
0b5abe02 29713 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 29714 grub_ssize_t.
29715 (grub_ofconsole_getw): New function.
29716 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
29717 (grub_ofconsole_term): New field named getwh and new initial
29718 value.
29719
3be7266d 297202005-08-03 Hollis Blanchard <hollis@penguinppc.org>
29721
29722 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
29723 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
29724 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
29725 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
29726 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
29727 of <grub/machine/ieee1275.h>.
29728 * commands/ieee1275/reboot.c: Likewise.
29729 * boot/powerpc/ieee1275/ieee1275.c: Move ...
29730 * kern/ieee1275.c: ... to here. All users updated. Change all
29731 parameter structs to use new type `grub_ieee1275_cell_t'.
29732 * term/powerpc/ieee1275/ofconsole.c: Move ...
29733 * term/ieee1275/ofconsole.c: ... to here. All users updated.
29734 * disk/powerpc/ieee1275/ofdisk.c: Move ...
29735 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
29736 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
29737 to return int.
29738 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
29739 Remove unused prototypes. All users updated.
29740 * include/grub/powerpc/ieee1275/console.h: Removed.
29741 * include/grub/powerpc/ieee1275/ieee1275.h: Define
29742 `grub_ieee1275_cell_t'.
29743 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
29744 Cast comparisons with -1 to the correct type.
29745 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
29746 type to match `grub_ieee1275_entry_fn'.
29747
8b5f3938 297482005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
29749
29750 * DISTLIST: Added util/i386/pc/grub-probefs.c.
29751
29752 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
29753 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
29754 partmap/sun.c.
29755 (grub_probefs_SOURCES): New variable.
29756
29757 * util/i386/pc/grub-probefs.c: New file.
29758
29759 * util/i386/pc/grub-setup.c (main): Call
29760 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
29761 grub_hfs_init and grub_jfs_init to initialize the system. Call
29762 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
29763 grub_pc_partition_map_fini to finish the system.
29764
ea409713 297652005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
29766
29767 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
29768 function.
29769 (grub_multiboot_load_elf32): Likewise.
29770 (grub_multiboot_is_elf64): Likewise.
29771 (grub_multiboot_load_elf64): Likewise.
29772 (grub_multiboot_load_elf): Likewise.
29773 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
29774 an ELF32 or ELF64 file.
29775 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
29776
29777 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
29778 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
29779 NULL before calling FS->LABEL.
29780 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
29781 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
29782 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
29783 before calling FS->LABEL.
29784
141a288b 297852005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
29786
29787 * util/i386/pc/grub-install.in (datadir): New variable.
29788 (libdir): Removed.
29789 (pkgdatadir): New variable.
29790 (pkglibdir): Removed.
29791
0d5f8a54 297922005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
29793
29794 * DISTLIST: Added util/i386/pc/grub-install.in.
29795
29796 * util/i386/pc/grub-install.in: New file.
29797
29798 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
29799 (grub_install_SOURCES): Likewise.
29800
29801 * genmk.rb: Added support for scripts.
29802 (Script): New class.
29803 (scripts): New variable.
29804
29805 * Makefile.in (install-local): Install sbin_SCRIPTS by
29806 INSTALL_SCRIPT.
29807 (uninstall): Remove sbin_SCRIPTS.
29808
29809 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
29810 device, try to get a GRUB device by
29811 grub_util_biosdisk_get_grub_dev.
29812 Free DEST_DEV.
29813
29814 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
29815 description for --device-map.
29816
5f968e1e 298172005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
29818
29819 Change the semantics of variable hooks. They now return strings
29820 instead of error values.
f19dbdb7 29821
5f968e1e 29822 * util/i386/pc/grub-setup.c: Include grub/env.h.
29823 (setup): Use grub_device_set_root instead of grub_env_set.
29824
29825 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
29826 grub_env_get instead of grub_device_set_root and
29827 grub_device_get_root, respectively.
29828
29829 * kern/main.c (grub_env_write_root): New function.
29830 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
29831 grub_env_set instead of grub_device_set_root.
29832
29833 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
29834 many variables.
29835 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
29836 rather than calling ENV->WRITE_HOOK afterwards.
29837 (grub_env_get): Return the result of ENV->READ_HOOK rather than
29838 passing a pointer of a pointer.
29839 (grub_register_variable_hook): Change the types of "read_hook" and
29840 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
29841 respectively.
29842 Allocate the default empty string on the heap, because this string
29843 may be freed later.
29844
29845 * kern/device.c: Include grub/env.h.
29846 (grub_device_set_root): Removed.
29847 (grub_device_get_root): Likewise.
29848 (grub_device_open): Use grub_env_get instead of
29849 grub_device_get_root.
29850
29851 * include/grub/env.h (grub_env_read_hook_t): New type.
29852 (grub_env_write_hook_t): Likewise.
29853 (grub_env_var): Change the types of "read_hook" and "write_hook"
29854 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
29855 (grub_register_variable_hook): Likewise.
29856
29857 * include/grub/device.h (grub_device_set_root): Removed.
29858 (grub_device_set_root): Likewise.
29859
29860 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
29861 make sure that DIRNAME terminates with '/', so that
29862 grub_fat_find_dir will fail if PATH is not a directory.
29863
29864 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
29865 from DIRNAME.
29866 Use the qualifier auto for print_files and print_files_long.
29867 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
29868 as a regular file.
29869 Put a newline only if there is no error.
29870 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
29871 used.
29872
896f0afd 298732005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
29874
29875 * kern/partition.c (grub_partition_probe): Initialize PART to
29876 NULL. Otherwise, when no partition map is registered, this returns
29877 a garbage.
29878
b28b81b2 298792005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
29880
29881 * partmap/apple.c (apple_partition_map_iterate): Check if POS
29882 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
29883 valid.
29884
5f3607e0 298852005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
29886
29887 * commands/ls.c (grub_ls_list_disks): Print the filesystem
29888 information on each device, if it does not have partitions. Print
29889 "Device" instead of "Disk", because this function is not specific
29890 to disk devices.
29891
29892 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
29893 static to ensure that it is put on the memory rather than a
29894 register.
29895
502c87e8 298962005-07-17 Yoshinori Okuji <okuji@enbug.org>
29897
29898 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
29899 (grub_cat_init): Likewise.
29900 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
29901 (options): Likewise.
29902 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
29903 (grub_configfile_init): Likewise.
29904 * font/manager.c (GRUB_MOD_INIT): Likewise.
29905 * commands/help.c (GRUB_MOD_INIT): Likewise.
29906 (grub_help_init): Likewise.
29907 * normal/command.c (grub_command_init): Likewise.
29908 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
29909 * disk/loopback.c (grub_loop_init): Likewise.
29910 (GRUB_MOD_INIT): Likewise.
29911 * commands/ls.c (grub_ls_init): Likewise.
29912 (GRUB_MOD_INIT): Likewise.
29913 (options): Likewise.
29914 * commands/boot.c (grub_boot_init): Likewise.
29915 (GRUB_MOD_INIT): Likewise.
29916 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
29917 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
29918 (GRUB_MOD_INIT): Likewise.
29919 * commands/cmp.c (grub_cmp_init): Likewise.
29920 (GRUB_MOD_INIT): Likewise.
29921
29922 * normal/arg.c: Use <> instead of "" to include header files.
29923 (SHORT_ARG_HELP): New macro.
29924 (SHORT_ARG_USAGE): Likewise.
29925 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
29926 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
29927 descriptions.
29928 (find_short): Check if C is 'h' or 'u' explicitly.
29929 (grub_arg_show_help): Use space characters instead of tabs. Treat
29930 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
29931 are shown with --help and --usage only if they are not used for
29932 the command itself.
29933 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
29934 'h' and 'u'.
29935
29936 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
29937 const into "longarg". Change the type of "shortarg" to int.
29938
f806d18e 299392005-07-17 Yoshinori Okuji <okuji@enbug.org>
29940
29941 * boot/i386/pc/boot.S (boot_drive_check): New label.
29942
29943 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
29944 macro.
29945
29946 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
29947 which do not pass a boot drive correctly. Copied from GRUB Legacy.
29948
e293232b 299492005-07-17 Yoshinori Okuji <okuji@enbug.org>
29950
29951 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
29952 When turning off Gate A20, skip the check and return immediately,
29953 because this is not fatal usually.
29954
ebedfd00 299552005-07-17 Yoshinori Okuji <okuji@enbug.org>
29956
29957 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
29958 be 0x7C00 instead of 0x8000.
29959
29960 * boot/i386/pc/pxeboot.S: Rewritten.
29961
29962 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
29963 EXT_C.
29964 (gate_a20_check_state): Read a byte from 0x108000. Invert the
29965 result.
29966
654fc59f 299672005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
29968
29969 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
29970 robustness. This routine now supports a BIOS call and System
29971 Control Port A to modify the gate A20.
29972
29973 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29974 Increased to 0x440.
29975
09f9923f 299762005-07-12 Hollis Blanchard <hollis@penguinppc.org>
29977
29978 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
29979 device path and resulting ihandle.
29980 (grub_ofdisk_close): dprintf the ihandle being closed.
29981 (grub_ofdisk_read): dprintf function parameters.
29982 * kern/mm.c (grub_mm_init_region): Likewise.
29983 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
29984 (grub_linux_boot): dprintf the Linux entry point, initrd address and
29985 size, and boot arguments.
29986 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
29987 before loading into memory.
29988 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
29989 before loading into memory.
29990
7ef504d8 299912005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
29992
29993 * kern/mm.c: Added much documentation.
29994 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
29995 8, set to 5 instead of 8.
29996
e0f050c2 299972005-07-10 Yoshinori Okuji <okuji@enbug.org>
29998
29999 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30000
30001 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30002 (grub_mkdevicemap_SOURCES): New variable.
30003
30004 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30005 lib/device.c of GRUB Legacy.
30006
7224189a 300072005-07-10 Yoshinori Okuji <okuji@enbug.org>
30008
30009 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30010 instead of PATH is NULL.
30011
68c864eb 300122005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30013
30014 * commands/cmp.c (BUFFER_SIZE): New macro.
30015 (grub_cmd_cmp): Close the right file at the right time. Compare
30016 only data just read. Don't report files of different size as
30017 identical. Dynamically allocate buffers. Move variable
30018 declarations at the beginning of function.
30019
e6f3e614 300202005-07-09 Yoshinori Okuji <okuji@enbug.org>
30021
30022 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30023 reverse.
30024
f8f1559a 300252004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30026
30027 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30028 when backspace is pressed at beginning of line.
30029
39c9d41d 300302005-07-03 Yoshinori Okuji <okuji@enbug.org>
30031
30032 * DISTLIST: Added genfslist.sh.
30033
30034 * normal/main.c (fs_module_list): New variable.
30035 (autoload_fs_module): New function.
30036 (read_fs_list): Likewise.
30037 (grub_normal_execute): Call read_fs_list.
30038
30039 * kern/fs.c (grub_fs_autoload_hook): New variable.
30040 (grub_fs_probe): Added support for auto-loading.
30041
30042 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30043 (grub_fs_module_list_t): New type.
30044
30045 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30046 (grub_fs_autoload_hook): New prototype.
30047
30048 * genfslist.sh: New file.
f19dbdb7 30049
39c9d41d 30050 * genmk.rb: Added a rule to generate a filesystem list.
30051
121c1d83 300522005-06-30 Marco Gerards <metgerards@student.han.nl>
30053
30054 * configure.ac: Fix the test for cross-compiling.
30055
30056 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30057 define GRUB_UTIL anymore.
30058
30059 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30060 so this function works on other systems than just big endian.
30061 (load_modules): Likewise.
30062 (add_segments): Likewise.
30063
e75d76e1 300642005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30065
30066 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30067 contains `l' modifier, get a long from va_arg().
30068
50b5a0a7 300692005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30070
30071 * kern/mm.c (grub_free): If the next free block which is being
30072 merged is the first free block, set the first block to the block
30073 being freed.
30074 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30075
89371b20 300762005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30077
30078 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30079 `grub_ieee1275_chosen'.
30080
168d6e58 300812005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30082
30083 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30084 (grub_ieee1275_chosen): New variable.
30085 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30086 `chosen'.
30087 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30088 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30089 Rename first argument to `phandle' for consistency.
30090 (grub_ieee1275_get_property_length): Likewise.
30091 (grub_ieee1275_next_property): Likewise. Change type of first argument
30092 to grub_ieee1275_phandle_t.
30093 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30094 Move export next to declaration.
30095 (grub_ieee1275_chosen): New variable.
30096 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30097 Correct cosmetic typo.
30098 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30099 `grub_ieee1275_chosen'.
30100 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30101 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30102 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30103 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30104 `grub_ieee1275_chosen'.
30105
ca5baa3f 301062005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30107
30108 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30109 /chosen/bootargs.
30110 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30111 /chosen/bootargs as "variable=value" pairs.
30112
708b345f 301132005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30114
30115 * include/grub/misc.h (grub_dprintf): New macro.
30116 (grub_real_dprintf): New prototype.
30117 (grub_strword): Likewise.
30118 (grub_iswordseparator): Likewise.
30119 * kern/misc.c (grub_real_dprintf): New function.
30120 (grub_strword): Likewise.
30121 (grub_iswordseparator): Likewise.
30122
f4c5e67c 301232005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30124
30125 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30126 (roundup): Remove macro.
30127 (grub_ieee1275_flags): Make static.
30128 (grub_ieee1275_realmode): Remove.
30129 (grub_ieee1275_test_flag): New function.
30130 (grub_ieee1275_set_flag): Likewise.
30131 (find_options): Rename to `grub_ieee1275_find_options'; update
30132 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30133 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30134 (cmain): New prototype.
30135 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30136 `grub_ieee1275_flags' directly.
30137 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30138 machine/biosdisk.h.
30139 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30140 Don't include grub/machine/init.h.
30141 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30142 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30143 Remove prototype.
30144 (grub_ieee1275_realmode): Likewise.
30145 (grub_ieee1275_flag): New enum.
30146 (grub_ieee1275_test_flag): New prototype.
30147 (grub_ieee1275_set_flag): New prototype.
30148 * include/grub/powerpc/ieee1275/init.h: Remove file.
30149 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30150 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30151 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30152 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30153 comment.
30154 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30155 `grub_ieee1275_test_flag'.
30156 (grub_ieee1275_encode_devname): Likewise.
30157
ed16607e 301582005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30159
30160 * include/grub/powerpc/ieee1275/ieee1275.h
30161 (grub_ieee1275_encode_devname): New prototype.
30162 (grub_ieee1275_get_filename): Likewise.
30163 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30164 function.
30165 (grub_set_prefix): Likewise.
30166 (grub_machine_init): Call grub_set_prefix.
30167 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30168 (grub_parse_type): New enum.
30169 (grub_ieee1275_get_devargs): New function.
30170 (grub_ieee1275_get_devname): Likewise.
30171 (grub_ieee1275_parse_args): Likewise.
30172 (grub_ieee1275_get_filename): Likewise.
30173 (grub_ieee1275_encode_devname): Likewise.
30174
be369920 301752005-03-30 Marco Gerards <metgerards@student.han.nl>
30176
30177 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30178 `grub_loader_unset'.
30179
a5ce3a4a 301802005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30181
30182 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30183 instead of grub_ieee1275_interpret.
30184 (grub_halt_init): New function.
30185 (grub_halt_fini): Likewise.
30186 (GRUB_MOD_INIT): Correct message grammar.
30187 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30188 instead of grub_ieee1275_interpret.
30189 (grub_reboot_init): New function.
30190 (grub_reboot_fini): Likewise.
30191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30192 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30193 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30194 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30195 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30196 function.
30197 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30198 Add prototype.
30199 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30200 prototype.
30201 (grub_halt): Likewise.
30202 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30203 (cmain): Remove __attribute__((unused)).
30204 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30205 (grub_heap_len): Likewise.
30206 (grub_machine_fini): New function.
30207 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30208 (grub_halt): Likewise.
30209 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30210 function.
30211 * util/powerpc/ieee1275/misc.c: New file.
30212
0058f771 302132005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30214
30215 * DISTLIST: New file.
30216 * gendistlist.sh: Likewise.
f19dbdb7 30217
0058f771 30218 * Makefile.in (COMMON_DISTFILES): Removed.
30219 (BOOT_DISTFILES): Likewise.
30220 (CONF_DISTFILES): Likewise.
30221 (DISK_DISTFILES): Likewise.
30222 (FS_DISTFILES): Likewise.
30223 (INCLUDE_DISTFILES): Likewise.
30224 (KERN_DISTFILES): Likewise.
30225 (LOADER_DISTFILES): Likewise.
30226 (TERM_DISTFILES): Likewise.
30227 (UTIL_DISTFILES): Likewise.
30228 (DISTFILES): Likewise.
30229 (uninstall): Uninstall files in $(pkgdata_DATA).
30230 (DISTLIST): New target.
30231 (distdir): Use the contents of the file DISTLIST to get a list of
30232 distributed files.
30233
46b3b8a5 302342005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30235
30236 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
30237 descriptor. This is ported from GRUB Legacy.
30238
30239 * gencmdlist.sh: Added an extra semicolon to make it work with
30240 old sed versions. Reported by Robert Bihlmeyer
30241 <robbe@orcus.priv.at>.
30242
5822ff87 302432005-03-08 Yoshinori Okuji <okuji@enbug.org>
30244
30245 Automatic loading of commands is supported.
f19dbdb7 30246
5822ff87 30247 * normal/main.c (read_command_list): New function.
30248 (grub_normal_execute): Call read_command_list.
30249
30250 * normal/command.c (grub_register_command): Return zero or CMD.
30251 Allocate CMD->NAME from the heap.
30252 Initialize CMD->MODULE_NAME to zero.
30253 Find the same name as well. If the same command is found and it is
30254 a dummy command, overwrite members. If it is not a dummy command,
30255 return zero.
30256 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
30257 (grub_command_find): If a dummy command is found, load a module
30258 and retry to find a command only once.
30259
30260 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
30261 make sure that each command is loaded.
30262
30263 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
30264 macro.
30265 (struct grub_command): Remove const from the member `name'.
30266 Add a new member `module_name'.
30267 (grub_register_command): Return grub_command_t.
30268
30269 * commands/help.c (grub_cmd_help): Call grub_command_find to make
30270 sure that each command is loaded.
30271
30272 * genmk.rb (PModule::rule): Specify a module name without the
30273 suffix ".mod" to gencmdlist.sh.
30274
7b1f4b57 302752005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30276
30277 * gencmdlist.sh: New file.
f19dbdb7 30278
7b1f4b57 30279 * genmk.rb (PModule::rule): Generate a rule for a command list.
30280 Clean command.lst.
30281 Generate command.lst from $(COMMANDFILES).
30282
30283 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
30284 (DATA): Added $(pkgdata_DATA).
30285 (install-local): Install files in $(pkgdata_DATA).
30286
062aaf39 302872005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
30288
30289 * term/i386/pc/vga.c (debug_command): Removed.
30290 (GRUB_MOD_INIT): Do not register the command "debug".
30291
30292 From Hollis Blanchard:
30293 * commands/configfile.c: New file.
30294 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30295 commands/configfile.c.
30296 (pkgdata_MODULES): Added configfile.mod.
30297 (configfile_mod_SOURCES): New variable.
30298 (configfile_mod_CFLAGS): Likewise.
30299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30300 commands/configfile.c.
30301 (pkgdata_MODULES): Added configfile.mod.
30302 (configfile_mod_SOURCES): New variable.
30303 (configfile_mod_CFLAGS): Likewise.
30304 * util/grub-emu.c (main): Call grub_configfile_init and
30305 grub_configfile_fini.
30306 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
30307 prototype.
30308 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 30309
cee01aa6 303102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30311
30312 * normal/arg.c (grub_arg_show_help): Do not show the bug report
30313 address.
30314
30315 * commands/help.c (grub_cmd_help): Do not print newlines after
30316 the last command in print_command_help.
30317
93f3a1d8 303182005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
30319
30320 * commands/default.h: New file.
30321 * commands/timeout.h: Likewise.
30322 * normal/context.c: Likewise.
f19dbdb7 30323
93f3a1d8 30324 * util/misc.c: Do not include sys/times.h.
30325 Include sys/time.h and grub/machine/time.h.
30326 (grub_get_rtc): Rewritten with gettimeofday.
30327
30328 * util/grub-emu.c (main): Call grub_default_init and
30329 grub_timeout_init before grub_normal_init, and call
30330 grub_timeout_fini and grub_default_fini after grub_main.
30331
30332 * util/console.c (grub_ncurses_checkkey): Return the read
30333 character or -1.
30334
30335 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
30336 timeouts.
30337
30338 * normal/main.c (read_config_file): Push MENU. If this fails,
30339 print an error and wait for a user input.
30340 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
30341 If a menu is empty or an error occurs, pop MENU.
30342 (grub_normal_execute): Pop and free MENU after grub_menu_run
30343 returns.
30344
30345 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
30346
30347 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
30348 include time.h.
30349 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30350 without GRUB_UTIL.
30351 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
30352 time.h.
30353 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
30354 without GRUB_UTIL.
30355
30356 * include/grub/normal.h (struct grub_menu_list): New struct.
30357 (grub_menu_list_t): New type.
30358 (struct grub_context): New struct.
30359 (grub_context_t): New type.
30360 (grub_register_command): Got rid of EXPORT_FUNC.
30361 (grub_unregister_command): Likewise.
30362 (grub_context_get): New prototype.
30363 (grub_context_get_current_menu): Likewise.
30364 (grub_context_push_menu): Likewise.
30365 (grub_context_pop_menu): Likewise.
30366 [GRUB_UTIL] (grub_default_init): Likewise.
30367 [GRUB_UTIL] (grub_default_fini): Likewise.
30368 [GRUB_UTIL] (grub_timeout_init): Likewise.
30369 [GRUB_UTIL] (grub_timeout_fini): Likewise.
30370
30371 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
30372 commands/timeout.c and normal/context.c.
30373 (pkgdata_MODULES): Added default.mod and timeout.mod.
30374 (normal_mod_SOURCES): Added normal/context.c.
30375 (default_mod_SOURCES): New variable.
30376 (default_mod_CFLAGS): Likewise.
30377 (timeout_mod_SOURCES): Likewise.
30378 (timeout_mod_CFLAGS): Likewise.
30379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
30380 conf/i386-pc.rmk.
30381 (pkgdata_MODULES): Added default.mod and timeout.mod.
30382 (normal_mod_SOURCES): Added normal/context.c.
30383 (default_mod_SOURCES): New variable.
30384 (default_mod_CFLAGS): Likewise.
30385 (timeout_mod_SOURCES): Likewise.
30386 (timeout_mod_CFLAGS): Likewise.
30387
30388 * Makefile.in (all-local): Added $(MKFILES).
30389
4ed2e1dd 303902005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
30391
30392 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
30393 (grub_emu_SOURCES): Likewise.
30394 (pkgdata_MODULES): Add `sun.mod'.
30395 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30397 `partmap/sun.c'.
30398 (pkgdata_MODULES): Add `sun.mod'.
30399 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
30400 * include/grub/partition.h (grub_sun_partition_map_init): New
30401 prototype.
30402 (grub_sun_partition_map_fini): Likewise.
30403 * partmap/sun.c: New file.
30404 * util/grub-emu.c (main): Initialize and de-initialize the sun
30405 partitionmap support.
30406
4d4e372e 304072005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
30408
30409 This implements an Emacs-like menu entry editor.
f19dbdb7 30410
4d4e372e 30411 * normal/menu_entry.c: New file.
f19dbdb7 30412
4d4e372e 30413 * util/console.c (grub_ncurses_putchar): Translate some Unicode
30414 characters to ASCII.
30415 (saved_char): New variable.
30416 (grub_ncurses_checkkey): Rewritten completely.
30417 (grub_ncurses_getkey): Likewise.
30418 (grub_ncurses_init): Call raw instead of cbreak.
30419
30420 * normal/menu.c (print_entry): Do not put a space.
30421 (init_page): Renamed to ...
30422 (grub_menu_init_page): ... this. All callers changed.
30423 (edit_menu_entry): Removed.
30424 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
30425
30426 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
30427
30428 * kern/misc.c (grub_vprintf): Call grub_refresh.
30429
30430 * normal/menu.c (DISP_LEFT): Renamed to ...
30431 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
30432 * normal/menu.c (DISP_UP): Renamed to ...
30433 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
30434 * normal/menu.c (DISP_RIGHT): Renamed to ...
30435 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
30436 * normal/menu.c (DISP_DOWN): Renamed to ...
30437 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
30438 * normal/menu.c (DISP_HLINE): Renamed to ...
30439 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
30440 * normal/menu.c (DISP_VLINE): Renamed to ...
30441 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
30442 * normal/menu.c (DISP_UL): Renamed to ...
30443 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
30444 * normal/menu.c (DISP_UR): Renamed to ...
30445 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
30446 * normal/menu.c (DISP_LL): Renamed to ...
30447 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
30448 * normal/menu.c (DISP_LR): Renamed to ...
30449 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
30450 * normal/menu.c (TERM_WIDTH): Renamed to ...
30451 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
30452 * normal/menu.c (TERM_HEIGHT): Renamed to ...
30453 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
30454 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
30455 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
30456 * normal/menu.c (TERM_MARGIN): Renamed to ...
30457 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
30458 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
30459 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
30460 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
30461 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
30462 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
30463 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
30464 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
30465 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
30466 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
30467 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
30468 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
30469 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
30470 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
30471 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
30472 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
30473 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
30474 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
30475 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
30476 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
30477 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
30478 All callers changed.
30479
30480 * include/grub/normal.h: New prototype.
30481
30482 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30483 normal/menu_entry.c.
30484 (normal_mod_SOURCES): Likewise.
30485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30486 (normal_mod_SOURCES): Likewise.
30487
e6b92c8a 304882005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
30489
30490 * include/grub/normal.h (grub_halt_init): New prototype.
30491 (grub_halt_fini): Likewise.
30492 (grub_reboot_init): Likewise.
30493 (grub_reboot_fini): Likewise.
30494
30495 * util/grub-emu.c: Include signal.h.
30496 (main_env): New global variable.
30497 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
30498 catch C-c.
30499 (grub_machine_fini): New function.
30500 (main): Call grub_halt_init and grub_reboot_init before
30501 grub_main, and grub_reboot_fini and grub_halt_fini after it.
30502 Call setjmp with MAIN_ENV to go back afterwards.
30503 Call grub_machine_fini right before return.
30504
30505 * include/grub/util/misc.h: Include setjmp.h.
30506 (main_env): New prototype.
30507
30508 * include/grub/kernel.h (grub_machine_fini): New prototype.
30509 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
30510 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
30511
30512 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
30513 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
30514 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 30515
e6b92c8a 30516 * util/i386/pc/misc.c: New file.
f19dbdb7 30517
e6b92c8a 30518 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30519 util/i386/pc/misc.c, commands/i386/pc/halt.c and
30520 commands/i386/pc/reboot.c.
30521
c642636f 305222005-02-14 Guillem Jover <guillem@hadrons.org>
30523
30524 * include/grub/dl.h (grub_dl_check_header): New prototype.
30525 (grub_arch_dl_check_header): Change return type to grub_err_t,
30526 remove size parameter and export function. Update all callers.
30527 * kern/dl.c (grub_dl_check_header): New function.
30528 (grub_dl_load_core): Use `grub_dl_check_header' instead of
30529 `grub_arch_dl_check_header'. Check ELF type. Check if sections
30530 are inside the core.
30531 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
30532 independent ELF header checks.
30533 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30534 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
30535 `grub_dl_check_header' instead of explicit checks. Check for the
30536 ELF type.
30537 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
30538 `grub_dl_check_header' instead of explicit checks. Remove arch
30539 specific ELF header checks.
30540
e6b92c8a 30541 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
30542 argument SIZE.
30543
5eabe94b 305442005-02-13 Hollis Blanchard <hollis@penguinppc.org>
30545
30546 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
30547 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
30548
1b14a681 305492005-02-12 Hollis Blanchard <hollis@penguinppc.org>
30550
30551 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 30552 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 30553 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 30554 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 30555 * partmap/amiga.c (amiga_partition_map_iterate): Return
30556 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
30557 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30558
aca108aa 305592005-02-01 Guillem Jover <guillem@hadrons.org>
30560
30561 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
30562 help info.
30563
c9f9c556 305642005-01-31 Marco Gerards <metgerards@student.han.nl>
30565
30566 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
30567 Removed prototype.
30568 (grub_rescue_cmd_linux): New prototype.
30569 (grub_rescue_cmd_initrd): Likewise.
30570 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
30571 `bi_rec'.
30572 (grub_linux_release_mem): Release the memory for the initrd.
30573 (grub_load_linux): Renamed from this...
30574 (grub_rescue_cmd_linux): ...To this. Changed all callers.
30575 Changed `entry' not to be static. Loop over memory regions to
30576 find another one when the default fails.
30577 (grub_rescue_cmd_initrd): New function.
30578 (grub_linux_init): Remove function.
30579 (grub_linux_fini): Likewise.
30580 (GRUB_MOD_INIT): Register `initrd'.
30581 (GRUB_MOD_FINI): Unregister `initrd'.
30582 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
30583 Function removed.
30584 (grub_linux_normal_fini): Likewise.
30585 (GRUB_MOD_INIT): Register `initrd'.
30586 (GRUB_MOD_FINI): Unregister `initrd'.
30587
990cf3aa 305882005-01-31 Marco Gerards <metgerards@student.han.nl>
30589
30590 * commands/help.c: New file.
30591 * normal/arg.c (show_help): Renamed to...
30592 (grub_arg_show_help): ... this.
30593 * commands/i386/pc/halt.c: New file.
30594 * commands/i386/pc/reboot.c: Likewise.
30595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
30596 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
30597 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
30598 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
30599 variables.
30600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30601 `commands/help.c'.
30602 (pkgdata_MODULES): Add `help.mod'.
30603 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
30604 * grub/i386/pc/init.h (grub_reboot): New prototype.
30605 (grub_halt): Likewise.
30606 * include/grub/normal.h (grub_arg_show_help): New prototype.
30607 (grub_help_init): Likewise.
30608 (grub_help_fini): Likewise.
30609 * util/grub-emu.c (main): Initialize and deinitialize the help
30610 command.
30611
30612 * normal/cmdline.c (grub_cmdline_get): Doc fix.
30613
30614 * normal/command.c (grub_command_init): Fixed the description of
30615 the `set' and `unset' commands.
30616
306172005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 30618
30619 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
30620 function.
30621 * commands/ieee1275/halt.c: New file.
30622 * commands/ieee1275/reboot.c: Likewise.
30623 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
30624 `__attribute__ ((unused))'. Some GCS related fixed.
30625 (grub_suspend_init) [GRUB_UTIL]: Function removed.
30626 (grub_suspend_fini): Likewise.
30627 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
30628 and `halt.mod'.
30629 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
30630 (halt_mod_CFLAGS): New variables.
30631 * include/grub/powerpc/ieee1275/ieee1275.h
30632 (grub_ieee1275_interpret): New prototype.
30633
1ab09cc7 306342005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
30635
30636 * include/grub/misc.h (memmove): New prototype.
30637 (memcpy): Likewise.
30638
8b8cbdb2 306392005-01-22 Hollis Blanchard <hollis@penguinppc.org>
30640
30641 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
30642 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
30643
e3741a27 306442005-01-22 Marco Gerards <metgerards@student.han.nl>
30645
30646 * kern/misc.c (grub_strndup): Function rewritten.
30647
776bd780 306482005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
30649
30650 * normal/menu.c (TERM_WIDTH): Macro redefined.
30651 (TERM_TOP_BORDER_Y): Likewise.
30652 (draw_border): Replaced while-loop by a for-loop. Make the number
30653 of lines consistent with the number of lines displayed in
30654 print_entries. Added a margin below the rectangle.
30655 (print_entry): Make the entry fit in the rectangle.
30656 (print_entries): Display the scroll arrows next to the right
30657 border.
30658
78026bce 306592005-01-21 Marco Gerards <metgerards@student.han.nl>
30660
30661 * fs/minix.c (grub_minix_find_file): Reserve more space for
30662 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
30663 `grub_strncpy' to copy `path' into it.
30664
67bbaf0f 306652005-01-21 Marco Gerards <metgerards@student.han.nl>
30666
30667 Add the loopback device, a device via which files can be accessed
30668 as devices.
f19dbdb7 30669
67bbaf0f 30670 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
30671 (pkgdata_MODULES): Add loopback.mod.
30672 (loopback_mod_SOURCES): New variable.
30673 (loopback_mod_CFLAGS): Likewise.
30674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30675 `disk/loopback.c'.
30676 (pkgdata_MODULES): Add loopback.mod.
30677 (loopback_mod_SOURCES): New variable.
30678 (loopback_mod_CFLAGS): Likewise.
30679 * disk/loopback.c: new file.
30680 * include/grub/normal.h (grub_loop_init): New prototype.
30681 (grub_loop_fini): New prototype.
30682 * util/grub-emu.c (main): Initialize and de-initialize loopback
30683 support.
30684 * include/grub/disk.h (grub_disk_dev_id): Add
30685 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
30686
6f1c18bd 306872005-01-20 Hollis Blanchard <hollis@penguinppc.org>
30688
30689 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
30690 function.
30691 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
30692 (suspend_mod_SOURCES): New variable.
30693 (suspend_mod_CFLAGS): Likewise.
30694 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
30695 New prototype.
30696 * commands/ieee1275/suspend.c: New file.
30697
b38551da 306982005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30699
30700 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 30701 ((unused))' to `__attribute__ ((used))'.
b38551da 30702 (GRUB_MOD_FINI): Likewise.
30703 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
30704 * genmk.rb (PModule): Assign space to common symbols when linking
30705 modules.
30706
777aff39 307072005-01-20 Marco Gerards <metgerards@student.han.nl>
30708
30709 * include/grub/mm.h (grub_mm_init_region): Change the type of the
30710 `unsigned' arguments to `grub_size_t'.
30711 (grub_malloc): Likewise.
30712 (grub_realloc): Likewise.
30713 (grub_memalign): Likewise.
30714 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
30715 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
30716 * util/misc.c (grub_malloc): Likewise.
30717 (grub_realloc): Likewise.
30718 * kern/mm.c (get_header_from_pointer): Change the casts to
30719 `unsigned' into a cast to `grub_size_t'.
30720
30721 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
30722 point to `currnode' when `currnode' is changed.
30723
30724 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
30725 Schottelius <nico-linux@schottelius.org>.
30726
d0ff18e1 307272005-01-09 Hollis Blanchard <hollis@penguinppc.org>
30728
30729 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
30730 (note_path): Remove variable.
30731 (GRUB_IEEE1275_NOTE_NAME): New macro.
30732 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
30733 (grub_ieee1275_note_hdr): New structure.
30734 (grub_ieee1275_note_desc): Likewise.
30735 (grub_ieee1275_note): Likewise.
30736 (load_note): Remove `dir' argument. All callers updated. Remove
30737 `note_img' and `path'. Do not load a file from `note_path'.
30738 Initialize a struct grub_ieee1275_note and write that to `out'.
30739 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
30740
4ca7004c 307412005-01-05 Marco Gerards <metgerards@student.han.nl>
30742
30743 * util/misc.c (grub_util_read_image): Revert last change. It
30744 called `grub_util_read_at', which seeks from the beginning of the
30745 file.
30746
0b412211 307472005-01-04 Hollis Blanchard <hollis@penguinppc.org>
30748
30749 * TODO: Add note about endianness in grub-mkimage.
30750 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
30751 section.
30752 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
30753 (grub_mkimage_SOURCES): New target.
30754 * include/grub/kernel.h (grub_start_addr): Remove variable.
30755 (grub_end_addr): Likewise.
30756 (grub_total_module_size): Likewise.
30757 (grub_kernel_image_size): Likewise.
30758 (GRUB_MODULE_MAGIC): New constant.
30759 (grub_module_info): New structure.
30760 (grub_arch_modules_addr): New prototype.
30761 (grub_get_end_addr): Remove prototype.
30762 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
30763 * include/grub/powerpc/ieee1275/kernel.h: New file.
30764 * include/grub/util/misc.h (grub_util_get_fp_size): New
30765 prototype.
30766 (grub_util_read_at): Likewise.
30767 (grub_util_write_image_at): Likewise.
30768 * kern/main.c (grub_get_end_addr): Remove function.
30769 (grub_load_modules): Call grub_arch_modules_addr instead of using
30770 grub_end_addr. Look for a grub_module_info struct in memory. Use
30771 the grub_module_info fields instead of calling grub_get_end_addr
30772 as loop conditions. Move grub_add_unused_region code here.
30773 (grub_add_unused_region): Remove function.
30774 * kern/i386/pc/init.c: Include grub/cache.h.
30775 (grub_machine_init): Remove call to grub_get_end_addr. Remove
30776 one call to add_mem_region.
30777 (grub_arch_modules_addr): New function.
30778 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
30779 (grub_total_module_size): Likewise.
30780 Include grub/machine/kernel.h.
30781 (grub_arch_modules_addr): New function.
30782 * util/grub-emu.c (grub_end_addr): Remove variable.
30783 (grub_total_module_size): Likewise.
30784 (grub_arch_modules_addr): New function.
30785 * util/misc.c: Include unistd.h.
30786 (grub_util_get_fp_size): New function.
30787 (grub_util_read_at): Likewise.
30788 (grub_util_write_image_at): Likewise.
30789 (grub_util_read_image): Call grub_util_read_at.
30790 (grub_util_write_image): Call grub_util_write_image_at.
30791 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
30792 additional memory in kernel_img for a struct grub_module_info.
30793 Fill in that grub_module_info.
30794 * util/powerpc/ieee1275/grub-mkimage.c: New file.
30795
458786f8 307962005-01-03 Hollis Blanchard <hollis@penguinppc.org>
30797
30798 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
30799 New function.
30800 * include/grub/powerpc/ieee1275/ieee1275.h
30801 (grub_ieee1275_milliseconds): New prototype.
30802 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
30803 Change to 1000.
30804 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
30805 grub_ieee1275_milliseconds.
30806
ac507d1b 308072005-01-03 Hollis Blanchard <hollis@penguinppc.org>
30808
30809 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
30810 variable.
30811 (find_options): New function.
30812 (cmain): Call find_options.
30813 * include/grub/powerpc/ieee1275/ieee1275.h
30814 (grub_ieee1275_realmode): New extern variable.
30815 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
30816 grub_map if grub_ieee1275_realmode is false.
30817
6b8fd1c4 308182004-12-29 Marco Gerards <metgerards@student.han.nl>
30819
30820 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
30821 lines are inserted and make it work like readline. Reported by
30822 Vincent Pelletier <subdino2004@yahoo.fr>.
30823
8514a1e0 308242004-12-28 Marco Gerards <metgerards@student.han.nl>
30825
30826 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
30827
30828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
30829 `kern/powerpc/cache.S'.
30830
924b6140 308312004-12-27 Marco Gerards <metgerards@student.han.nl>
30832
30833 * genmk.rb: Handle the `Program' class in the main loop. Written
30834 by Johan Rydberg <jrydberg@gnu.org>.
30835 (Program): New class.
30836 (programs): New variable.
30837 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
30838 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
30839 instead of "grub/kernel.h". Include <grub/machine/init.h>.
30840 (help_arch): Function removed.
30841 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
30842 `powerpc/libgcc.h' and `loader.h'.
30843 (pkgdata_PROGRAMS): New variable.
30844 (sbin_UTILITIES): Variable removed.
30845 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
30846 (grubof_SOURCES): Variable re-defined so it only includes the
30847 core functionality.
30848 (grubof_CFLAGS): Remove `-DGRUBOF'.
30849 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
30850 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
30851 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
30852 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
30853 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
30854 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
30855 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
30856 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
30857 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
30858 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
30859 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30860 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
30861 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
30862 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
30863 (pc_mod_CFLAGS): New variables.
30864 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
30865 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
30866 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
30867 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
30868 Moved from here...
30869 * include/grub/i386/pc/init.h (grub_os_area_addr)
30870 (rub_os_area_size): ... to here.
30871 * include/grub/powerpc/ieee1275/ieee1275.h
30872 (grub_ieee1275_entry_fn): Export symbol.
30873 * include/grub/powerpc/ieee1275/init.h: New file.
30874 * include/grub/powerpc/libgcc.h: Likewise.
30875 * include/grub/cache.h: Likewise.
30876 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
30877 <hollis@penguinppc.org>.
30878 * kern/dl.c: Include <grub/cache.h>.
30879 (grub_dl_flush_cache): New function.
30880 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
30881 for this module.
30882 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
30883 (grub_console_init): Removed prototypes.
30884 (grub_machine_init): Don't initialize the modules anymore.
30885 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
30886 static.
30887 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
30888 Macro undef removed.
30889 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
30890 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
30891 relocation `R_PPC_REL32'. Return an error when the relocation is
30892 unknown.
30893 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
30894 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
30895 * util/misc.c (grub_arch_sync_caches): Likewise.
30896
e4b47e0c 308972004-12-19 Marco Gerards <metgerards@student.han.nl>
30898
30899 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
30900 `symlist.c', add `grubof_symlist.c'.
30901 (symlist.c): Variable removed.
30902 (grubof_HEADERS): Variable added.
30903 (grubof_symlist.c): New target.
30904 (kernel_syms.lst): Use `grubof_HEADERS' instead of
30905 `kernel_img_HEADERS'.
30906 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
30907 * kern/powerpc/dl.c: New file.
30908 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
30909 Function removed.
30910 (grub_arch_dl_relocate_symbols): Likewise.
30911 (grub_register_exported_symbols): Likewise.
30912
4ceb3636 309132004-12-13 Marco Gerards <metgerards@student.han.nl>
30914
30915 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
30916 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
30917 to fail instead. Reported by Vincent Pelletier
30918 <subdino2004@yahoo.fr>.
30919
30920 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
30921 it is not allocated. Reported by Vincent Pelletier
30922 <subdino2004@yahoo.fr>.
30923
30924 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
30925 output so the output looks better.
f19dbdb7 30926
3f1578fe 309272004-12-04 Marco Gerards <metgerards@student.han.nl>
30928
30929 Modulize the partition map support and add support for the amiga
30930 partition map.
f19dbdb7 30931
3f1578fe 30932 * commands/ls.c: Include <grub/partition.h> instead of
30933 <grub/machine/partition.h>.
30934 * kern/disk.c: Likewise.
30935 * kern/rescue.c: Likewise.
30936 * loader/i386/pc/chainloader.c: Likewise.
30937 * normal/cmdline.c: Likewise.
30938 * kern/powerpc/ieee1275/init.c: Likewise.
30939 (grub_machine_init): Call `grub_pc_partition_map_init',
30940 `grub_amiga_partition_map_init' and
30941 `grub_apple_partition_map_init'.
30942 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
30943 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
30944 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
30945 `partition.h' and `pc_partition.h'.
30946 (grub_setup_SOURCES): Remove
30947 `disk/i386/pc/partition.c'. Add `kern/partition.c',
30948 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
30949 (grub_emu_SOURCES): Likewise.
30950 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
30951 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
30952 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
30953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
30954 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
30955 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
30956 (grubof_SOURCES): Likewise.
30957 * disk/i386/pc/partition.c: File removed.
30958 * disk/powerpc/ieee1275/partition.c: Likewise.
30959 * include/grub/powerpc/ieee1275/partition.h: Likewise.
30960 * include/grub/i386/pc/partition.h: Likewise.
30961 * kern/partition.c: New file.
30962 * partmap/amiga.c: Likewise.
30963 * partmap/apple.c: Likewise.
30964 * partmap/pc.c: Likewise.
30965 * include/grub/partition.h: Likewise..
30966 * include/grub/pc_partition.h: Likewise.
30967 * util/grub-emu.c: Include <grub/partition.h> instead of
30968 <grub/machine/partition.h>.
30969 (main): Call `grub_pc_partition_map_init',
30970 `grub_amiga_partition_map_init' and
30971 `grub_apple_partition_map_init' and deinitialize afterwards.
30972 * util/i386/pc/biosdisk.c: Include `#include
30973 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
30974 `<grub/machine/partition.h>'.
30975 * util/i386/pc/grub-setup.c: Likewise.
30976 * util/i386/pc/biosdisk.c: Likewise.
30977 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
30978 partition information in case of a PC partition.
30979 * util/i386/pc/grub-setup.c: Include `#include
30980 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
30981 `<grub/machine/partition.h>'.
30982 (setup): Only access the PC specific partition information in case
30983 of a PC partition.
30984
0ef4ced9 309852004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30986
0ef4ced9 30987 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
30988 (grub_longjmp): Likewise.
30989 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
30990 20.
30991 * normal/powerpc/setjmp.S: New file.
30992 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
30993 `normal/powerpc/setjmp.S'.
30994 (grubof_CFLAGS): Add `-DGRUBOF'.
30995 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
30996 [GRUB_UTIL && !GRUBOF].
f19dbdb7 30997
19950e29 309982004-11-16 Marco Gerards <metgerards@student.han.nl>
30999
31000 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31001 property named `name'. Correctly handle the error returned by
31002 `grub_ieee1275_finddevice' if a device can not be opened.
31003
a2fea427 310042004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31005
31006 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31007 `actual' for negativity.
31008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31009 kern/fshelp.c.
31010
41ea0ea3 310112004-11-01 Marco Gerards <metgerards@student.han.nl>
31012
31013 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31014 (PAGE_OFFSET): New macro.
31015 (CRTC_ADDR_PORT): Likewise.
31016 (CRTC_DATA_PORT): Likewise.
31017 (START_ADDR_HIGH_REGISTER): Likewise.
31018 (START_ADDR_LOW_REGISTER): Likewise.
31019 (GRAPHICS_ADDR_PORT): Likewise.
31020 (GRAPHICS_DATA_PORT): Likewise.
31021 (READ_MAP_REGISTER): Likewise.
31022 (INPUT_STATUS1_REGISTER): Likewise.
31023 (INPUT_STATUS1_VERTR_BIT): Likewise.
31024 (page): New variable.
31025 (wait_vretrace): New function.
31026 (set_read_map): Likewise.
31027 (set_start_address): Likewise.
31028 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31029 the right page.
31030 (check_vga_mem): Take the page into account.
31031 (write_char): Likewise.
31032 (write_cursor): Likewise.
31033 (scroll_up): Likewise. Copy the page to the page that is not
31034 shown and switch between both pages.
31035 (grub_vga_putchar): Fix off by one error.
31036 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31037 account.
31038
ad0bd20b 310392004-11-01 Marco Gerards <metgerards@student.han.nl>
31040
31041 Add support for iso9660 (including rockridge).
f19dbdb7 31042
ad0bd20b 31043 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31044 (iso9660_mod_SOURCES): New variable.
31045 (iso9660_mod_CFLAGS): Likewise.
31046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31047 * include/grub/fs.h (grub_iso9660_init): New prototype.
31048 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31049 * fs/iso9660.c: New file.
31050
31051 * include/grub/misc.h (grub_strncat): New prototype.
31052 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31053
ad0bd20b 31054 * fs/hfs.c (grub_hfs_mount): Translate the error
31055 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31056 * fs/jfs.c (grub_jfs_mount): Likewise.
31057 * fs/ufs.c (grub_ufs_mount): Likewise.
31058
a5477a59 310592004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31060
31061 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31062 which initialized BAT registers.
31063 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31064 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31065 Move from here...
31066 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31067 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31068 ... to here.
31069 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31070 (grub_mapclaim): Likewise.
31071 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31072 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31073 hand.
31074
9304c1f8 310752004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31076
31077 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31078 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31079 -ffreestanding and -msoft-float.
31080
86f4ae25 310812004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31082
31083 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31084 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31085 set in grub_ieee1275_flags.
31086
38912228 310872004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31088
31089 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31090 prototype.
31091 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31092 grub_console_init first.
31093 Change the memory range used for grub_ieee1275_claim and
31094 grub_mm_init_region.
31095 Print an error message if the claim fails.
31096 Include <grub/misc.h>.
31097
d1923dc8 310982004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31099
31100 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31101 Call grub_children_iterate for device nodes of type `scsi',
31102 `ide', or `ata'.
31103 (grub_ofdisk_open): Remove manual device alias resolution.
31104 Fix memory leak when device cannot be opened.
f19dbdb7 31105 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31106 (grub_children_iterate): New prototype.
31107 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31108 New function.
31109 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31110 Return -1 if args.size was -1.
31111
4512e4f3 311122004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31113
31114 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31115 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31116 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31117 Open Firmware's memory for it; claim memory from _start to _end.
31118 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31119 (_end): New extern.
31120 (_start): Zero BSS from __bss_start to _end.
31121 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31122 New extern.
31123 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31124
4d61feb0 311252004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31126
ad0bd20b 31127 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31128 -1 if args.base was -1.
4d61feb0 31129
026fa2f9 311302004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31131
31132 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31133 escape sequence instead of a literal ^L. Also call
31134 grub_ofconsole_gotoxy.
31135
9f2220ef 311362004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31137
31138 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31139 void * arguments to grub_addr_t. All callers updated. Also make
31140 the `result' argument optional.
31141 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31142 All callers updated.
31143
8a572cd7 311442004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31145
31146 * commands/ls.c (grub_ls_list_files): Use the string following the
31147 initial ')', if present, as the filesystem path.
31148 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31149
31150 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31151
18aa81f2 311522004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31153
31154 Make the source code of the menu interface more readable.
f19dbdb7 31155
18aa81f2 31156 * normal/menu.c: Include grub/mm.h.
31157 (TERM_WIDTH): New macro.
31158 (TERM_HEIGHT): Likewise.
31159 (TERM_INFO_HEIGHT): Likewise.
31160 (TERM_MARGIN): Likewise.
31161 (TERM_SCROLL_WIDTH): Likewise.
31162 (TERM_TOP_BORDER_Y): Likewise.
31163 (TERM_LEFT_BORDER_X): Likewise.
31164 (TERM_BORDER_WIDTH): Likewise.
31165 (TERM_MESSAGE_HEIGHT): Likewise.
31166 (TERM_BORDER_HEIGHT): Likewise.
31167 (TERM_NUM_ENTRIES): Likewise.
31168 (TERM_FIRST_ENTRY_Y): Likewise.
31169 (TERM_ENTRY_WIDTH): Likewise.
31170 (TERM_CURSOR_X): Likewise.
31171 (draw_border): Use macros instead of magic numbers.
31172 (print_entry): Likewise.
31173 (print_entries): Likewise.
31174 (run_menu): Likewise. Also, handle the key 'e'.
31175 (run_menu_entry): Ignore empty command lines.
31176 (print_message): Added a new argument EDIT. If EDIT is true,
31177 print a different message.
31178 (init_page): Likewise.
31179 (edit_menu_entry): New function. Not implemented yet.
31180
b47efe30 311812004-09-17 Marco Gerards <metgerards@student.han.nl>
31182
31183 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31184 can be loaded from normal mode.
f19dbdb7 31185
b47efe30 31186 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31187 `multiboot.mod'.
31188 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31189 (multiboot_mod_CFLAGS): New variables.
31190 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31191 * loader/i386/pc/multiboot_normal.c: Likewise.
31192
b47efe30 31193 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31194 attribute `unused'.
f19dbdb7 31195
b47efe30 31196 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31197 `fdiro' to read the mode information from instead of `diro'.
31198
31199 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31200 looking up a symlink.
31201
31202 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31203 macro.
31204 * normal/command.c (grub_command_execute): Don't parse the
31205 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31206 flags of the command.
31207
31208 * normal/menu.c (grub_menu_run): Fix typo.
31209
da75ac71 312102004-09-14 Hollis Blanchard <hollis@penguinppc.org>
31211
31212 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
31213
31214 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
31215 `y + 1' instead of `y - 1'.
31216
31217 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 31218
062b24c2 312192004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
31220
31221 From Hollis Blanchard <hollis@penguinppc.org>:
31222 * kern/misc.c (memmove): New alias for grub_memmove.
31223 (memcmp): New alias for grub_memcmp.
31224 (memset): New alias for grub_memset.
f19dbdb7 31225 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 31226 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 31227 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 31228 (grub_ieee1275_get_property): Likewise.
f19dbdb7 31229
8ddad845 312302004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
31231
31232 Added normal mode command `chainloader' as module chain.mod, which
31233 depends on normal.mod and _chain.mod.
f19dbdb7 31234
8ddad845 31235 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
31236 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
31237 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
31238 Deleted prototype.
31239 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
31240 but arguments parsing moved to ...
31241 (grub_chainloader_cmd): ... here. New function.
31242 * include/grub/i386/pc/chainloader.h: New file.
31243 * loader/i386/pc/chainloader_normal.c: Likewise.
31244
2c1f4ce3 312452004-09-11 Marco Gerards <metgerards@student.han.nl>
31246
31247 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
31248 (grub_mkimage_LDFLAGS): Likewise.
31249 (grub_emu_SOURCES): Likewise.
31250 (kernel_img_HEADERS): Added fshelp.h.
31251 * fs/ext2.c: Include <grub/fshelp.h>.
31252 (FILETYPE_REG): New macro.
31253 (FILETYPE_INO_REG): Likewise.
31254 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
31255 Changed all users.
31256 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
31257 all users.
31258 (grub_fshelp_node): New struct.
31259 (grub_ext2_data): Added member `diropen'. Changed member `inode'
31260 to a pointer.
31261 (grub_ext2_get_file_block): Removed function.
31262 (grub_ext2_read_block): New function.
31263 (grub_ext2_read_file): Replaced parameter `data' by `node'.
31264 This function was written.
31265 (grub_ext2_mount): Read the root inode. Create a diropen struct.
31266 (grub_ext2_find_file): Removed function.
31267 (grub_ext2_read_symlink): New function.
31268 (grub_ext2_iterate_dir): Likewise.
31269 (grub_ext2_open): Rewritten.
31270 (grub_ext2_dir): Rewritten.
31271 * include/grub/fshelp.h: New file.
31272 * fs/fshelp.c: Likewise.
31273
3c52136a 312742004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
31275
31276 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
31277 (print_message): Add a missing newline.
31278 (run_menu): Added timeout support.
31279 (run_menu_entry): New local function.
31280 (grub_menu_run): Added support for booting.
31281
31282 * kern/loader.c (grub_loader_is_loaded): New function.
31283
31284 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
31285 (grub_get_rtc): Exported.
31286
31287 * include/grub/i386/pc/time.h: Include grub/symbol.h.
31288 (grub_get_rtc): Exported.
31289
31290 * include/grub/normal.h (struct grub_command_list): Remove
31291 constant from the member `command'.
31292
31293 * include/grub/loader.h (grub_loader_is_loaded): Declared.
31294
31295 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
31296
31297 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
31298
aa033560 312992004-08-28 Marco Gerards <metgerards@student.han.nl>
31300
31301 Add support for the JFS filesystem.
31302
31303 * fs/jfs.c: New file.
31304 * include/grub/fs.h (grub_jfs_init): New prototype.
31305 (grub_jfs_fini): New prototype.
31306 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
31307 (grub_emu_SOURCES): Likewise.
31308 (pkgdata_MODULES): Add jfs.mod.
31309 (jfs_mod_SOURCES): New variable.
31310 (jfs_mod_CFLAGS): Likewise.
31311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
31312 (grubof_SOURCES): Likewise.
31313 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
31314
31315 * fs/fat.c (grub_fat_find_dir): Convert the filename little
31316 endian to the host endian.
31317 (grub_fat_utf16_to_utf8): Move function from there...
31318 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 31319 the endianness of the source string anymore.
aa033560 31320 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
31321
94bc45af 313222004-08-24 Marco Gerards <metgerards@student.han.nl>
31323
31324 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
31325 (grub_boot_fini) [GRUB_UTIL]: Likewise.
31326 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
31327 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 31328
94bc45af 31329 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
31330 (grub_hfs_iterate_dir): Make the function static. Add prototypes
31331 for `node_found' and `it_dir'.
31332 (grub_hfs_dir): Add prototype for `dir_hook'.
31333
31334 * fs/minix.c (grub_minix_get_file_block): Add prototype for
31335 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
31336 and `indir32' to silence a gcc warning.
31337
31338 * include/grub/fs.h (grub_hfs_init): New prototype.
31339 (grub_hfs_fini): Likewise.
f19dbdb7 31340
31341
97543f08 313422004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31343
31344 Each disk device has its own id now. This is useful to make use
31345 of multiple disk devices.
f19dbdb7 31346
97543f08 31347 * include/grub/disk.h (grub_disk_dev_id): New enum.
31348 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
31349 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
31350
31351 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
31352 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31353
31354 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
31355 GRUB_DISK_DEVICE_OFDISK_ID as an id.
31356
31357 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
31358 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
31359
31360 * include/grub/disk.h (struct grub_disk_dev): Added a new member
31361 "id" which is used by the cache manager.
31362
31363 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
31364 of just "GRUB".
31365
64372eb4 313662004-08-18 Marco Gerards <metgerards@student.han.nl>
31367
31368 * fs/hfs.c: New file.
31369 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
31370 (grub_emu_SOURCES): Likewise.
31371 (pkgdata_MODULES): Add hfs.mod.
31372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
31373 (grubof_SOURCES): Likewise.
31374 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
31375
31376 * include/grub/misc.h (grub_strncasecmp): Add prototype.
31377 * kern/misc.c (grub_strncasecmp): Add function.
31378
cc61b58f 313792004-08-14 Marco Gerards <metgerards@student.han.nl>
31380
31381 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
31382 with parentheses.
31383
31384 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
31385 (grub_ext2_dir): In case the directory entry type is unknown, read
31386 it from the inode.
31387
0ef123f6 313882004-08-02 Peter Bruin <pjbruin@dds.nl>
31389
31390 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
31391 grub_load_linux instead of grub_rescue_cmd_linux as second
31392 argument of grub_rescue_register_command.
31393
31394 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
31395
a447c5df 313962004-07-27 Marco Gerards <metgerards@student.han.nl>
31397
31398 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
31399 function.
31400 * commands/boot.c: Remove the check for `GRUB_UTIL'.
31401 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31402 `loader/powerpc/ieee1275/linux.c',
31403 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
31404 * include/grub/powerpc/ieee1275/ieee1275.h
31405 (grub_ieee1275_release): New prototype.
31406 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
31407 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
31408 normal, boot, linux and linux_normal.
31409 * loader/powerpc/ieee1275/linux.c: New file.
31410 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31411
5a9e3546 314122004-07-12 Marco Gerards <metgerards@student.han.nl>
31413
31414 * normal/arg.c (grub_arg_parse): Correct error handling after
31415 reallocating the argumentlist (check if `argl' is not null instead
31416 of checking if `args' is not null).
31417 * kern/mm.c (grub_realloc): Return the same pointer when using the
31418 same region, instead of returning the header address.
31419
e15199cb 314202004-07-11 Marco Gerards <metgerards@student.han.nl>
31421
31422 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
31423 one block instead of two when looking for the initial partition.
31424 (grub_partition_probe): Initialize the local variable `p' with 0.
31425 Use base 10 for the grub_strtoul call.
31426 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
31427 need for one local variable.
31428 (grub_strtoul): Don't add the new value to `num', instead of that
31429 just assign it.
31430
020616c2 314312004-07-11 Marco Gerards <metgerards@student.han.nl>
31432
31433 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
31434 (pxeboot_img_SOURCES): New variable.
31435 (pxeboot_img_ASFLAGS): Likewise.
31436 (pxeboot_img_LDFLAGS): Likewise.
31437 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
31438 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
31439 <lode_leroy@hotmail.com>.
31440
6c51eb64 314412004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31442
31443 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
31444 there was no input.
31445
cfb12aff 314462004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31447
31448 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
31449 the history buffer logic.
31450
6eabba74 314512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
31452
31453 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
31454 (FILETYPE_INO_SYMLINK): New macros.
31455 (grub_ext2_find_file): Check if the node is a directory using the
31456 inode stat information instead of using the filetype in the
31457 dirent. Exclude the first character of an absolute symlink.
31458 (grub_ext2_dir): Mask out the filetype part of the mode member of
31459 the inode.
31460
66e19ef8 314612004-05-24 Marco Gerards <metgerards@student.han.nl>
31462
31463 Add support for UFS version 1 and 2. Add support for the minix
31464 filesystem version 1 and 2, both the variants with 14 and 30 long
31465 filenames.
f19dbdb7 31466
66e19ef8 31467 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
31468 fs/minix.c.
31469 (grub_emu_SOURCES): Likewise.
31470 (pkgdata_MODULES): Add ufs.mod and minix.mod.
31471 (ufs_mod_SOURCES): New variable.
31472 (ufs_mod_CFLAGS): Likewise.
31473 (minix_mod_SOURCES): Likewise.
31474 (minix_mod_CFLAGS): Likewise.
31475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
31476 fs/minix.c.
31477 (grubof_SOURCES): Likewise.
31478 * fs/ufs.c: New file.
31479 * fs/minix.c: New file.
31480 * include/grub/fs.h (grub_ufs_init): New prototype.
31481 (grub_ufs_fini): Likewise.
31482 (grub_minix_init): Likewise.
31483 (grub_minix_fini): Likewise.
31484 * util/grub-emu.c (main): Initialize and deinitialize UFS and
31485 minix fs.
31486
cc2e748a 314872004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
31488
31489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
31490 commands/ls.c, commands/terminal.c, commands/boot.c,
31491 commands/cmp.c and commands/cat.c.
31492 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
31493
31494 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
31495 "env.h"
31496
4b13b216 314972004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31498
31499 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
31500 and grub_, respectively. Because the conversion is trivial and
31501 mechanical, I omit the details here. Please refer to the CVS
31502 if you need more information.
31503
6a142551 315042004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31505
31506 * include/pupa: Renamed to ...
31507 * include/grub: ... this.
31508 * util/i386/pc/pupa-mkimage.c: Renamed to ...
31509 * util/i386/pc/grub-mkimage.c: ... this.
31510 * util/i386/pc/pupa-setup.c: Renamed to ...
31511 * util/i386/pc/grub-setup.c: ... this.
31512 * util/pupa-emu.c: Renamed to ...
31513 * util/grub-emu.c: ... this.
31514
e56cdf21 315152004-03-29 Marco Gerards <metgerards@student.han.nl>
31516
31517 Add support for the newworld apple macintosh (PPC). This has been
31518 tested on the powerbook 2000 only. It only adds support for
31519 generic ieee1275 functions, console and disk support. This should
31520 be easy to port to other architectures with support for Open
31521 Firmware.
f19dbdb7 31522
e56cdf21 31523 * configure.ac: Accept the powerpc as host_cpu. In the case of
31524 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
31525 specific tests are only executed while building for the i386.
31526 Inverse test for crosscompile.
31527 * genmk.rb (Utility): Allow assembler files.
31528 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
31529 * conf/powerpc-ieee1275.rmk: New file.
31530 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
31531 * disk/powerpc/ieee1275/partition.c: Likewise.
31532 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
31533 * include/pupa/powerpc/ieee1275/console.h: Likewise.
31534 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
31535 * include/pupa/powerpc/ieee1275/time.h: Likewise.
31536 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
31537 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
31538 * include/pupa/powerpc/ieee1275/loader.h
31539 * include/pupa/powerpc/setjmp.h: Likewise.
31540 * include/pupa/powerpc/types.h: Likewise.
31541 * kern/powerpc/ieee1275/init.c: Likewise.
31542 * kern/powerpc/ieee1275/openfw.c: Likewise.
31543 * term/powerpc/ieee1275/ofconsole.c: Likewise.
31544
31545 These files were written by Johan Rydberg
31546 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 31547
e56cdf21 31548 * boot/powerpc/ieee1275/cmain.c: New file.
31549 * boot/powerpc/ieee1275/crt0.S: Likewise.
31550 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
31551 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
31552
8c8cc205 315532004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
31554
31555 * Makefile.in: Update copyright.
31556 * genmodsrc.sh: Likewise.
31557 * gensymlist.sh: Likewise.
31558 * term/i386/pc/vga.c: Indent correctly.
31559
31560 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
31561 bugreporting address.
31562 * util/i386/pc/pupa-setup.c (usage): Likewise,
31563 (main): Call pupa_ext2_init and pupa_ext2_fini.
31564
f19dbdb7 31565 * fs/fat.c (log2): Renamed to ...
8c8cc205 31566 (fat_log2): ... this.
31567 All callers changed.
31568 * kern/misc.c (memcpy): Alias to pupa_memmove.
31569 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
31570 lvalue cast.
31571 * util/console.c (pupa_ncurses_fini): Return 0.
31572
31573 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
31574 Move fail label here.
31575 [__GNU__]: Don't warn when using stat.
31576 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
31577 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
31578 long int. Use strtol instead of strtoul.
f19dbdb7 31579
db1771cf 315802004-03-14 Marco Gerards <metgerards@student.han.nl>
31581
31582 * commands/boot.c: New file.
31583 * commands/cat.c: Likewise.
31584 * commands/cmp.c: Likewise.
31585 * commands/ls.c: Likewise.
31586 * commands/terminal.c: Likewise.
31587 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
31588 (pupa_register_command): Changed interface to match the new
31589 argument parser.
31590 (pupa_command_execute): Changed (almost rewritten) so it uses
31591 pupa_split_command. Added support for setting variables using the
31592 syntax `foo=bar'.
31593 (rescue_command): Changed to work with the new argument parser.
31594 (terminal_command): Moved from here to commands/terminal.c.
31595 (set_command): New function.
31596 (unset_command): New function.
31597 (insmod_command): New function.
31598 (rmmod_command): New function.
31599 (lsmod_command): New function.
31600 (pupa_command_init): Don't initialize the command terminal
31601 anymore. Initialize the commands set, unset, insmod, rmmod and
31602 lsmod.
31603 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
31604 (kernel_img_HEADERS): Add arg.h and env.h.
31605 (pupa_mkimage_LDFLAGS): Add kern/env.c.
31606 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
31607 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
31608 normal/arg.c.
31609 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
31610 terminal.mod.
31611 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
31612 (boot_mod_SOURCES): New variable.
31613 (terminal_mod_SOURCES): Likewise.
31614 (ls_mod_SOURCES): Likewise.
31615 (cmp_mod_SOURCES): Likewise.
31616 (cat_mod_SOURCES): Likewise.
31617
31618 * normal/arg.c: New file.
31619 * kern/env.c: Likewise.
31620 * include/pupa/arg.h: Likewise.
31621 * include/pupa/env.h: Likewise.
31622 * font/manager.c (font_command): Changed to match argument parsing
31623 interface changes.
31624 (PUPA_MOD_INIT): Likewise.
31625 * hello/hello.c (pupa_cmd_hello): Likewise.
31626 (PUPA_MOD_INIT): Likewise.
31627 * include/pupa/disk.h: Include <pupa/device.h>.
31628 (pupa_print_partinfo): New prototype.
31629 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
31630 (pupa_dl_get_prefix): Likewise.
31631 * include/pupa/misc.h: Include <pupa/err.h>.
31632 (pupa_isgraph): New prototype.
31633 (pupa_isdigit): Likewise.
31634 (pupa_split_cmdline): Likewise.
31635 * include/pupa/normal.h: Include <pupa/arg.h>.
31636 (pupa_command): Changed the prototype of the member `func' to
31637 match the argument parsing interface. Added member `options'.
31638 (pupa_register_command): Updated to match function.
31639 (pupa_arg_parse): New prototype.
31640 (pupa_hello_init) [PUPA_UTIL]: New prototype.
31641 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
31642 (pupa_ls_init) [PUPA_UTIL]: Likewise.
31643 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
31644 (pupa_cat_init) [PUPA_UTIL]: Likewise.
31645 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
31646 (pupa_boot_init) [PUPA_UTIL]: Likewise.
31647 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
31648 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
31649 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
31650 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
31651 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
31652 * kern/disk.c: Include <pupa/file.h>.
31653 (pupa_print_partinfo): New function.
31654 * kern/dl.c: Include <pupa/env.h>.
31655 (pupa_dl_dir): Variable removed.
31656 (pupa_dl_load): Use the environment variable `prefix' instead of
31657 the variable pupa_dl_dir.
31658 (pupa_dl_set_prefix): Function removed.
31659 (pupa_dl_get_prefix): Likewise.
31660 * kern/i386/pc/init.c: Include <pupa/env.h>.
31661 (pupa_machine_init): Use the environment variable `prefix' instead of
31662 using pupa_dl_set_prefix to set the prefix.
31663 * kern/main.c: Include <pupa/env.h>.
31664 (pupa_set_root_dev): Use the environment variable `prefix' instead of
31665 using pupa_dl_get_prefix to get the prefix.
31666 * kern/misc.c: Include <pupa/env.h>.
31667 (pupa_isdigit): New function.
31668 (pupa_isgraph): Likewise.
31669 (pupa_ftoa): Likewise.
31670 (pupa_vsprintf): Added support for printing values of the type
31671 `double'. Make it possible to format variable output when using
31672 formatting like `%1.2%f'.
31673 (pupa_split_cmdline): New function.
31674 * kern/rescue.c: Include <pupa/env.h>.
31675 (next_word): Removed function.
31676 (pupa_rescue_cmd_prefix): Likewise.
31677 (pupa_rescue_cmd_set): New function.
31678 (pupa_rescue_cmd_unset): New function.
31679 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
31680 split the command line instead of splitting it here. Added
31681 support for setting variables using the syntax `foo=bar'. Don't
31682 initialize the prefix command anymore. Initialized the set and
31683 unset commands.
31684 * normal/cmdline.c: Include <pupa/env.h>.
31685 (pupa_tab_complete): Added prototypes for print_simple_completion,
31686 print_partition_completion, add_completion, iterate_commands,
31687 iterate_dev, iterate_part and iterate_dir. Moved code to print
31688 partition information from here to kern/disk.c.
fe6b695a 31689 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 31690 * normal/main.c: Include <pupa/env.h>.
31691 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
31692 instead of using pupa_dl_get_prefix to get the prefix.
31693 * term/i386/pc/vga.c: Include <pupa/arg.h>.
31694 (check_vga_mem): Cast pointers to `void *' to silence a gcc
31695 warning.
31696 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
31697 (pupa_vga_setcolor): Declare unused variables with `__attribute__
31698 ((unused))' to silence a gcc warning.
31699 (pupa_vga_setcolor): Likewise.
31700 (debug_command): Changed to match argument parsing
31701 interface changes.
31702 * util/pupa-emu.c: Include <pupa/env.h>.
31703 (options): Added 0's for unused fields to silence a gcc warning.
31704 (argp): Likewise.
31705 (main): Use the environment variable `prefix' instead of using
31706 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
31707 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
31708 and terminal.
31709
31710 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
31711 * util/misc.c: Include <malloc.h>.
31712 (pupa_malloc): Rewritten so errors are correctly reported.
31713 (pupa_realloc): Likewise.
31714 (pupa_memalign): Likewise.
31715 (pupa_mm_init_region): Declare unused variables with
31716 `__attribute__ ((unused))' to silence a gcc warning.
31717 * normal/i386/setjmp.S: Remove tab at the end of the file to
31718 silence a gcc warning.
31719 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
31720 variables with `__attribute__ ((unused))' to silence a gcc
31721 warning.
31722 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
31723 local variable i unsigned to silence a gcc warning.
31724
31725 * kern/term.c: Include <pupa/misc.h>.
31726 (pupa_more_lines): New variable.
31727 (pupa_more): Likewise.
31728 (pupa_putcode): When the pager is active pause at the end of every
31729 screen.
31730 (pupa_set_more): New function.
31731 * include/pupa/term.h (pupa_set_more): New prototype.
31732
31733
3b1139cb 317342004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
31735
31736 Now this project is GRUB 2 rather than PUPA. The location of
31737 the CVS repository was moved to GRUB's.
f19dbdb7 31738
3b1139cb 31739 * configure.ac: Use bug-grub as the reporting address.
31740 Use GRUB instead of PUPA.
31741 Change the version number to 1.90.
31742
8367695c 317432004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
31744
31745 * genkernsyms.sh: Updated copyright information.
31746 * genmk.rb: Likewise.
31747 * genmodsrc.sh: Likewise.
31748 * gensymlist.sh: Likewise.
31749 * boot/i386/pc/boot.S: Likewise.
31750 * boot/i386/pc/diskboot.S: Likewise.
31751 * disk/i386/pc/biosdisk.c: Likewise.
31752 * disk/i386/pc/partition.c: Likewise.
31753 * font/manager.c: Likewise.
31754 * fs/ext2.c: Likewise.
31755 * fs/fat.c: Likewise.
31756 * include/pupa/boot.h: Likewise.
31757 * include/pupa/device.h: Likewise.
31758 * include/pupa/disk.h: Likewise.
31759 * include/pupa/dl.h: Likewise.
31760 * include/pupa/elf.h: Likewise.
31761 * include/pupa/err.h: Likewise.
31762 * include/pupa/file.h: Likewise.
31763 * include/pupa/font.h: Likewise.
31764 * include/pupa/fs.h: Likewise.
31765 * include/pupa/kernel.h: Likewise.
31766 * include/pupa/loader.h: Likewise.
31767 * include/pupa/misc.h: Likewise.
31768 * include/pupa/mm.h: Likewise.
31769 * include/pupa/net.h: Likewise.
31770 * include/pupa/normal.h: Likewise.
31771 * include/pupa/rescue.h: Likewise.
31772 * include/pupa/setjmp.h: Likewise.
31773 * include/pupa/symbol.h: Likewise.
31774 * include/pupa/term.h: Likewise.
31775 * include/pupa/types.h: Likewise.
31776 * include/pupa/i386/setjmp.h: Likewise.
31777 * include/pupa/i386/types.h: Likewise.
31778 * include/pupa/i386/pc/biosdisk.h: Likewise.
31779 * include/pupa/i386/pc/boot.h: Likewise.
31780 * include/pupa/i386/pc/console.h: Likewise.
31781 * include/pupa/i386/pc/init.h: Likewise.
31782 * include/pupa/i386/pc/kernel.h: Likewise.
31783 * include/pupa/i386/pc/linux.h: Likewise.
31784 * include/pupa/i386/pc/loader.h: Likewise.
31785 * include/pupa/i386/pc/memory.h: Likewise.
31786 * include/pupa/i386/pc/multiboot.h: Likewise.
31787 * include/pupa/i386/pc/partition.h: Likewise.
31788 * include/pupa/i386/pc/time.h: Likewise.
31789 * include/pupa/i386/pc/vga.h: Likewise.
31790 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
31791 * include/pupa/util/getroot.h: Likewise.
31792 * include/pupa/util/misc.h: Likewise.
31793 * include/pupa/util/resolve.h: Likewise.
31794 * kern/device.c: Likewise.
31795 * kern/disk.c: Likewise.
31796 * kern/dl.c: Likewise.
31797 * kern/err.c: Likewise.
31798 * kern/file.c: Likewise.
31799 * kern/fs.c: Likewise.
31800 * kern/loader.c: Likewise.
31801 * kern/main.c: Likewise.
31802 * kern/misc.c: Likewise.
31803 * kern/mm.c: Likewise.
31804 * kern/rescue.c: Likewise.
31805 * kern/term.c: Likewise.
31806 * kern/i386/dl.c: Likewise.
31807 * kern/i386/pc/init.c: Likewise.
31808 * kern/i386/pc/lzo1x.S: Likewise.
31809 * kern/i386/pc/startup.S: Likewise.
31810 * loader/i386/pc/chainloader.c: Likewise.
31811 * loader/i386/pc/linux.c: Likewise.
31812 * loader/i386/pc/multiboot.c: Likewise.
31813 * normal/cmdline.c: Likewise.
31814 * normal/command.c: Likewise.
31815 * normal/main.c: Likewise.
31816 * normal/menu.c: Likewise.
31817 * normal/i386/setjmp.S: Likewise.
31818 * term/i386/pc/console.c: Likewise.
31819 * term/i386/pc/vga.c: Likewise.
31820 * util/console.c: Likewise.
31821 * util/genmoddep.c: Likewise.
31822 * util/misc.c: Likewise.
31823 * util/pupa-emu.c: Likewise.
31824 * util/resolve.c: Likewise.
31825 * util/unifont2pff.rb: Likewise.
31826 * util/i386/pc/biosdisk.c: Likewise.
31827 * util/i386/pc/getroot.c: Likewise.
31828 * util/i386/pc/pupa-mkimage.c: Likewise.
31829 * util/i386/pc/pupa-setup.c: Likewise.
31830
e6eced71 318312004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
31832
31833 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
31834 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
31835 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
31836 reading and reset it after reading.
31837 (pupa_ext2_close): Return PUPA_ERR_NONE.
31838
31839 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
31840 Correct value.
31841 (struct linux_kernel_header): Add kernel_version and
31842 initrd_addr_max.
31843 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
31844 pupa_file_read succeeds.
31845 (pupa_rescue_cmd_initrd): Implement.
31846
5aded270 318472003-12-03 Marco Gerards <metgerards@student.han.nl>
31848
31849 * fs/ext2.c (pupa_ext2_label): New function.
31850 (pupa_ext2_fs): Added label.
31851 * fs/fat.c (pupa_fat_label): New function.
31852 (pupa_fat_fs): Added label.
31853 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
31854
31855 * kern/misc.c (pupa_strndup): New function.
31856 * include/pupa/misc.h (pupa_strndup): New prototype.
31857
31858 * include/pupa/normal.h: Include <pupa/err.h>.
31859 (pupa_set_history): New prototype.
31860 (pupa_iterate_commands): New prototype.
31861 * normal/cmdline.c: Include <pupa/machine/partition.h>,
31862 <pupa/disk.h>, <pupa/file.h>.
31863 (hist_size): New variable.
31864 (hist_lines): Likewise.
31865 (hist_end): Likewise.
31866 (hist_used): Likewise.
31867 (pupa_set_history): New function.
31868 (pupa_history_get): Likewise.
31869 (pupa_history_add): Likewise.
31870 (pupa_history_replace): Likewise.
31871 (pupa_tab_complete): Likewise.
31872 (pupa_cmdline_run): Added tab completion and history buffer. Tab
31873 completion shows partitionnames while completing partitions, this
31874 feature was suggested by Jeff Bailey.
31875 * normal/command.c (pupa_iterate_commands): New function.
31876 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
31877 (pupa_normal_init): Initialize history buffer.
31878 (PUPA_MOD_INIT): Likewise.
31879 (pupa_normal_fini): Free the history buffer.
31880 (PUPA_MOD_FINI): Likewise.
31881
31882 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
31883 key.
31884
31885 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
31886 * configure.ac [i386]: Check for regparam bug.
31887 (NESTED_FUNC_ATTR) [! i386]: Defined.
31888
1f7315a3 318892003-11-17 Marco Gerards <metgerards@student.han.nl>
31890
31891 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
31892 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
31893 (pupa_emu_SOURCES): New variable.
31894 (pupa_emu_LDFLAGS): Likewise.
31895 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
31896 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
31897 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
31898 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
31899 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
31900 (pupa_jmp_buf): New typedef.
31901 (pupa_setjmp) [PUPA_UTIL]: New macro.
31902 (pupa_longjmp) [PUPA_UTIL]: Likewise.
31903 * include/pupa/term.h (struct pupa_term): New member `refresh'.
31904 (pupa_refresh): New prototype.
31905 * include/pupa/util/getroot.h: New file.
31906 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
31907 it.
31908 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
31909 (pupa_rescue_cmd_cat): Likewise.
31910 (pupa_rescue_cmd_ls): Likewise.
31911 (pupa_rescue_cmd_testload): Likewise.
31912 (pupa_rescue_cmd_lsmod): Likewise.
31913 * normal/cmdline.c (pupa_cmdline_get): Likewise.
31914 * normal/menu.c (run_menu): Likewise.
31915 * kern/term.c (pupa_cls): Likewise.
31916 (pupa_refresh): New function.
31917 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
31918 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
31919 * util/console.c: New file.
f19dbdb7 31920
1f7315a3 31921 * util/i386/pc/getroot.c: New file.
31922 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
31923 (pupa_putchar): New function.
31924 (pupa_refresh): Likewise.
31925 (xgetcwd): Function moved to ...
31926 (strip_extra_slashes): Likewise.
31927 (get_prefix): Likewise.
f19dbdb7 31928 * util/i386/pc/getroot.c: ... here.
1f7315a3 31929 (find_root_device): Function moved and renamed to...
31930 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
31931 Changed all callers.
31932 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
31933 and renamed to...
31934 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
31935 Changed all callers.
31936 * util/misc.c (pupa_memalign): New function.
31937 (pupa_mm_init_region): Likewise.
31938 (pupa_register_exported_symbols): Likewise.
31939 (pupa_putchar): Function removed.
31940 * util/pupa-emu.c: New file.
31941
9a5c1ade 319422003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
31943
31944 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
31945 (_multiboot_mod_SOURCES): New variable.
31946 (_multiboot_mod_CFLAGS): Likewise.
31947 * loader/i386/pc/multiboot.c: New file.
31948 * include/pupa/i386/pc/multiboot.h: Likewise.
31949 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
31950 (pupa_multiboot_real_boot): New function.
31951 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
31952 (pupa_multiboot_real_boot): New prototype.
31953 (pupa_rescue_cmd_multiboot): Likewise
31954 (pupa_rescue_cmd_module): Likewise.
31955
31956 * kern/loader.c (pupa_loader_set): Continue when
31957 pupa_loader_unload_func() fails.
31958 (pupa_loader_unset): New function.
31959 * include/pupa/loader.h (pupa_loader_unset): New prototype.
31960
31961 * kern/misc.c (pupa_stpcpy): New function.
31962 * include/pupa/misc.h (pupa_stpcpy): New prototype.
31963
8e72a9c0 319642003-11-12 Marco Gerards <metgerards@student.han.nl>
31965
31966 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
31967 for available extensions.
31968
31969 * include/pupa/i386/pc/time.h: New file.
31970 * kern/disk.c: Include <pupa/machine/time.h>.
31971 (PUPA_CACHE_TIMEOUT): New macro.
31972 (pupa_last_time): New variable.
31973 (pupa_disk_open): Flush the cache when there was a timeout.
31974 (pupa_disk_close): Reset the timer.
31975 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
31976 pupa_currticks.
31977 * util/misc.c: Include <sys/times.h>
31978 (pupa_get_rtc): New function.
31979
c4adbd32 319802003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
31981
31982 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
31983 as blocks.
31984 (pupa_ext2_get_file_block): Use blocks member.
31985
31986 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
31987 first block. Return -1 instead of pupa_errno on error.
31988
bfd30f06 319892003-10-27 Marco Gerards <metgerards@student.han.nl>
31990
31991 * README: In the pupa-mkimage example use _chain instead of chain
31992 and ext2 instead of fat.
31993 * TODO: Replace ext2fs with jfs as an example. Add an item for
31994 adding journal playback for ext2fs.
31995 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
31996 (pkgdata_MODULES): Added ext2.mod.
31997 (ext2_mod_SOURCES): New variable.
31998 (ext2_mod_CFLAGS): Likewise.
31999 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32000 * include/pupa/misc.h (pupa_strncpy): New prototype.
32001 (pupa_strcat): Likewise.
32002 (pupa_strncmp): Likewise.
32003 * kern/misc.c (pupa_strcat): Enable function.
32004 (pupa_strncpy): New function.
32005 (pupa_strncmp): Likewise.
32006 * fs/ext2.c: New file.
f19dbdb7 32007
bfd30f06 32008 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32009 when the read failed before retrying.
32010 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32011 (_FILE_OFFSET_BITS): Likewise.
32012 * configure.ac: Added AC_SYS_LARGEFILE.
32013
98d15063 320142003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32015
32016 * genmk.rb (PModule#rule): Make sure to get only symbol names
32017 from the output of nm.
59cad637 32018 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32019
18d9c7cd 320202003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32021
32022 I forgot to check in these changes for a long time. This adds
32023 incomplete support for VGA console, and this is still very
32024 buggy. Also, a lot of consideration is required for I18N,
32025 UNICODE, and VGA font issues. Therefore, assume that this is
32026 such that "better than nothing".
f19dbdb7 32027
18d9c7cd 32028 * font/manager.c: New file.
32029 * include/pupa/font.h: Likewise.
32030 * include/pupa/i386/pc/vga.h: Likewise.
32031 * term/i386/pc/vga.c: Likewise.
32032 * util/unifont2pff.rb: Likewise.
32033
32034 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32035 (pkgdata_MODULES): Added vga.mod and font.mod.
32036 (vga_mod_SOURCES): New variables.
32037 (vga_mod_CFLAGS): Likewise.
32038 (font_mod_SOURCES): Likewise.
32039 (font_mod_CFLAGS): Likewise.
32040
32041 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32042
32043 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32044 (struct pupa_term): Added init and fini.
18d9c7cd 32045 Changed the argument of putchar to pupa_uint32_t.
32046
32047 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32048 (pupa_console_real_putchar): New prototype.
32049 (pupa_console_putchar): Removed.
32050 (pupa_console_checkkey): Exported.
32051 (pupa_console_getkey): Likewise.
32052
32053 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32054 characters.
32055
32056 * kern/term.c (pupa_term_set_current): Rewritten.
32057 (pupa_putchar): Likewise.
32058 (pupa_putcode): New function.
32059
32060 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32061 (pupa_console_real_putchar): ... this.
32062 (pupa_vga_set_mode): New function.
32063 (pupa_vga_get_font): Likewise.
32064
32065 * normal/command.c: Include pupa/term.h.
32066 (terminal_command): New function.
32067 (pupa_command_init): Register the command "terminal".
32068
32069 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32070 (DISP_UP): Likewise.
32071 (DISP_RIGHT): Likewise.
32072 (DISP_DOWN): Likewise.
32073 (DISP_HLINE): Likewise.
32074 (DISP_VLINE): Likewise.
32075 (DISP_UL): Likewise.
32076 (DISP_UR): Likewise.
32077 (DISP_LL): Likewise.
32078 (DISP_LR): Likewise.
32079
32080 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32081
977329f5 320822003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32083
32084 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32085 FIX. Reverse the path_list.
32086
32087 * include/pupa/normal.h: Export pupa_register_command and
32088 pupa_unregister_command.
32089
32090 * hello/hello.c (pupa_cmd_hello): New module.
32091 * conf/i386-pc.rmk: Added hello.mod.
32092
1f5ab428 320932003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32094
32095 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32096
1f5ab428 32097 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32098 (compress_kernel): New variable.
32099 (generate_image): Heavily modified to support compressing a
32100 large part of the core image.
32101
32102 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32103 leak.
32104 (pupa_util_load_image): New function.
32105
32106 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32107 (pupa_compressed_size): New variable.
32108 (codestart): Enable Gate A20 here.
32109 Decompress the compressed part of the core image.
32110 Rearrange the code to put functions and variables which are
32111 required for initialization in the non-compressed part.
32112 Include lzo1x.S.
32113
32114 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32115 here.
32116
32117 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32118
f19dbdb7 32119 * include/pupa/i386/pc/kernel.h
1f5ab428 32120 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32121 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32122 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32123 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32124 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32125
32126 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32127
32128 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32129 (Utility#rule): Likewise.
32130
32131 * configure.ac: Check if LZO is available.
32132
ce5bf700 321332003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32134
32135 * include/pupa/normal.h: New file.
32136 * include/pupa/setjmp.h: Likewise.
32137 * include/pupa/i386/setjmp.h: Likewise.
32138 * normal/cmdline.c: Likewise.
32139 * normal/command.c: Likewise.
32140 * normal/main.c: Likewise.
32141 * normal/menu.c: Likewise.
32142 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32143
ce5bf700 32144 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32145 (pupa_rescue_cmd_initrd): Likewise.
32146
32147 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32148 Likewise.
32149
32150 * kern/i386/pc/startup.S (translation_table): New variable.
32151 (translate_keycode): New function.
32152 (pupa_console_getkey): Call translate_keycode.
32153
32154 * kern/rescue.c (attempt_normal_mode): New function.
32155 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32156 it failed, print a message.
32157
32158 * kern/mm.c (pupa_real_malloc): Print more information when a
32159 free magic is broken.
32160 (pupa_free): If the first free header is not free actually, set
32161 it to P.
32162
32163 * kern/main.c (pupa_load_normal_mode): Just load the module
32164 "normal".
32165 (pupa_main): Don't print the message
32166 "Entering into rescue mode..." here.
32167
32168 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32169 Declared.
32170 (pupa_rescue_cmd_initrd): Likewise.
32171 (pupa_rescue_cmd_initrd): Likewise.
32172
32173 * include/pupa/symbol.h (FUNCTION): Specify the type.
32174 (VARIABLE): Likewise.
32175
32176 * include/pupa/err.h (pupa_err_t): Added
32177 PUPA_ERR_UNKNOWN_COMMAND.
32178
32179 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32180 (pupa_dl_get_prefix): Likewise.
32181
32182 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32183 Added _chain.mod and _linux.mod instead of chain.mod and
32184 linux.mod.
32185 (chain_mod_SOURCES): Renamed to ...
32186 (_chain_mod_SOURCES): ... this.
32187 (chain_mod_CFLAGS): Renamed to ...
32188 (_chain_mod_CFLAGS): ... this.
32189 (linux_mod_SOURCES): Renamed to ...
32190 (_linux_mod_SOURCES): ... this.
32191 (linux_mod_CFLAGS): Renamed to ...
32192 (_linux_mod_CFLAGS): ... this.
32193 (normal_mod_SOURCES): New variable.
32194 (normal_mod_CFLAGS): Likewise.
32195 (normal_mod_ASFLAGS): Likewise.
32196
321972003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32198
32199 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32200 possible.
32201
fe6b695a 32202 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32203 recursively.
32204 (pupa_dl_unref): Unrefer depending modules recursively.
32205 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32206 a module is unloaded before one depending on that module is
32207 unloaded.
32208 (pupa_dl_unload): Unload depending modules explicitly,
32209 if possible.
32210
c04da074 322112003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
32212
32213 * include/pupa/i386/pc/linux.h: New file.
32214 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 32215
c04da074 32216 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
32217 Removed.
32218 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
32219 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
32220 of PUPA_CHAINLOADER_BOOT_SECTOR.
32221
32222 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
32223 (pupa_linux_prot_size): New variable.
32224 (pupa_linux_tmp_addr): Likewise.
32225 (pupa_linux_real_addr): Likewise.
32226 (pupa_linux_boot_zimage): New function.
32227 (pupa_linux_boot_bzimage): Likewise.
32228
32229 * kern/i386/pc/init.c (struct mem_region): New structure.
32230 (MAX_REGIONS): New macro.
32231 (mem_regions): New variable.
32232 (num_regions): Likewise.
32233 (pupa_os_area_addr): Likewise.
32234 (pupa_os_area_size): Likewise.
32235 (pupa_lower_mem): Likewise.
32236 (pupa_upper_mem): Likewise.
32237 (add_mem_region): New function.
32238 (compact_mem_regions): Likewise.
32239 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
32240 the size of the conventional memory and that of so-called upper
32241 memory (before the first memory hole).
32242 Instead of adding each found region to free memory, use
32243 add_mem_region and add them after removing overlaps.
32244 Also, add only 1/4 of the upper memory to free memory. The rest
32245 is used for loading OS images. Maybe this is ad hoc, but this
32246 makes it much easier to relocate OS images when booting.
32247
32248 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
32249 (pupa_enter_rescue_mode): Don't register initrd and module.
32250
32251 * kern/mm.c: Include pupa/dl.h.
32252
32253 * kern/main.c: Include pupa/file.h and pupa/device.h.
32254
32255 * kern/loader.c (pupa_loader_load_module_func): Removed.
32256 (pupa_loader_load_module): Likewise.
32257
32258 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
32259 ``.o''.
32260
32261 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
32262 (pupa_linux_tmp_addr): Likewise.
32263 (pupa_linux_real_addr): Likewise.
32264 (pupa_linux_boot_zimage): Likewise.
32265 (pupa_linux_boot_bzimage): Likewise.
32266
32267 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
32268 (pupa_upper_mem): Likewise.
32269 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
32270 module is too dangerous.
32271
32272 * include/pupa/loader.h (pupa_os_area_addr): Declared.
32273 (pupa_os_area_size): Likewise.
32274 (pupa_loader_set): Remove the first argument. Loader doesn't
32275 manage modules or initrd any longer.
32276 (pupa_loader_load_module): Removed.
32277
32278 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
32279 (linux_mod_SOURCES): New variable.
32280 (linux_mod_CFLAGS): Likewise.
32281
a13f9237 322822003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
32283
32284 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
32285 the length of a blocklist correctly.
32286
32287 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
32288 Use ioctl only if the OS file is a block device.
32289 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
32290 not very useful for normal files.
32291
32292 * kern/main.c (pupa_set_root_dev): New function.
32293 (pupa_load_normal_mode): Likewise.
32294 (pupa_main): Call those above.
32295
32296 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
32297 pupa_uint16_t.
32298
32299 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
32300
a5ffe966 323012003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32302
32303 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
32304 (setup): Configure the installed partition information and the
32305 dl prefix.
32306
32307 * loader/i386/pc/chainloader.c (my_mod): New variable.
32308 (pupa_chainloader_unload): New function.
32309 (pupa_rescue_cmd_chainloader): Refer itself.
32310 (PUPA_MOD_INIT): Save its own module in MY_MOD.
32311
32312 * kern/i386/pc/startup.S (install_partition): Removed.
32313 (version_string): Likewise.
32314 (config_file): Likewise.
32315 (pupa_install_dos_part): New variable.
32316 (pupa_install_bsd_part): Likewise.
32317 (pupa_prefix): Likewise.
32318 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
32319
32320 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
32321 and pupa/misc.h.
32322 (make_install_device): New function.
32323 (pupa_machine_init): Set the dl prefix.
32324
32325 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
32326 (buf): Renamed to ...
32327 (linebuf): ... this.
32328 (pupa_rescue_cmd_prefix): New function.
32329 (pupa_rescue_cmd_insmod): Likewise.
32330 (pupa_rescue_cmd_rmmod): Likewise.
32331 (pupa_rescue_cmd_lsmod): Likewise.
32332 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
32333 rmmod and lsmod.
32334
32335 * kern/mm.c (pupa_memalign): If failed even after invalidating
32336 disk caches, unload unneeded modules and retry.
32337
32338 * kern/misc.c (pupa_memmove): New function.
32339 (pupa_memcpy): Removed.
32340 (pupa_strcpy): New function.
32341 (pupa_itoa): Made static.
32342
32343 * kern/dl.c (pupa_dl_iterate): New function.
32344 (pupa_dl_ref): Likewise.
32345 (pupa_dl_unref): Likewise.
32346 (pupa_dl_unload): Return if succeeded or not.
32347 (pupa_dl_unload_unneeded): New function.
32348 (pupa_dl_unload_all): Likewise.
32349 (pupa_dl_init): Renamed to ...
32350 (pupa_dl_set_prefix): ... this.
32351 (pupa_dl_get_prefix): New function.
32352
32353 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
32354 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
32355 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32356 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32357 (pupa_install_dos_part): Declared.
32358 (pupa_install_bsd_part): Likewise.
32359 (pupa_prefix): Likewise.
32360 (pupa_boot_drive): Likewise.
32361
32362 * include/pupa/types.h: Fix a typo.
32363
32364 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
32365 pupa_memmove.
32366 (pupa_memmove): Declared.
32367 (pupa_strcpy): Likewise.
32368
32369 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
32370 pupa_mod_init takes one argument, its own module.
32371 (pupa_dl_unload_unneeded): Declared.
32372 (pupa_dl_unload_all): Likewise.
32373 (pupa_dl_ref): Likewise.
32374 (pupa_dl_unref): Likewise.
32375 (pupa_dl_iterate): Likewise.
32376 (pupa_dl_init): Renamed to ...
32377 (pupa_dl_set_prefix): ... this.
32378 (pupa_dl_get_prefix): Declared.
32379
32380 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 32381 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 32382 unloaded.
32383 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
32384 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
32385
32386 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
32387 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
32388
012d7999 323892003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32390
32391 * util/i386/pc/pupa-setup.c (setup): Define the internal
32392 function find_first_partition_start at the top level, because GCC
32393 3.0.x cannot compile internal functions in deeper scopes
32394 correctly.
32395 (find_root_device): Use lstat instead of stat.
32396 Don't follow symbolic links.
32397 Fix the path-constructing code.
32398
32399 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
32400 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
32401 by a BLKGETSIZE ioctl first, because block devices don't fill
32402 the member st_mode of the structure stat on Linux.
32403 [__linux__] (linux_find_partition): Use a temporary buffer
32404 REAL_DEV for the working space. Copy it to DEV before returning.
32405 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
32406 buffer cache consistent.
32407 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
32408 strncmp. The previous value was merely wrong.
32409 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
32410
32411 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
32412 FAT size is 12. The previous value was merely wrong.
32413
32414 * kern/main.c (pupa_main): Don't split the starting message from
32415 newlines.
32416
32417 * kern/term.c (pupa_putchar): Put CR after LF instead of before
32418 LF, because BIOS goes crazy about character attributes in this
32419 case.
32420
1cc73a62 324212003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
32422
32423 * include/i386/pc/util/biosdisk.h: New file.
32424 * util/i386/pc/biosdisk.c: Likewise.
32425 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 32426
1cc73a62 32427 * Makefile.in (INCLUDE_DISTFILES): Added
32428 include/pupa/i386/pc/util/biosdisk.h.
32429 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
32430 directory util/i386/pc.
32431 (install-local): Added a rule for sbin_UTILITIES.
32432 (uninstall): Likewise.
32433
32434 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
32435
32436 * util/misc.c (xrealloc): New function.
32437 (pupa_malloc): Likewise.
32438 (pupa_free): Likewise.
32439 (pupa_realloc): Likewise.
32440 (pupa_stop): Likewise.
32441 (pupa_putchar): Likewise.
32442
32443 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
32444
32445 * include/pupa/util/misc.h (xrealloc): Declared.
32446
32447 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
32448 macro.
32449 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
32450 (PUPA_BOOT_MACHINE_BPB_END): ... this.
32451
32452 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
32453 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32454
32455 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
32456 way should be implemented.
32457 [PUPA_UTIL] (pupa_fat_fini): Likewise.
32458
32459 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
32460 the size of NAME for safety.
32461 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
32462 0x88.
32463
32464 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
32465 (pupa_setup_SOURCES): Likewise.
32466
32467 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
32468
08b70fe8 324692002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32470
32471 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
32472 bunch of pushl's from pusha, because this destroys the return
32473 value.
32474
62ddcc8f 324752002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
32476
32477 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
32478 This means that any missing prototypes could be fatal. Also, you
32479 must take care when writing assembly code. See the comments at
32480 the beginning of startup.S, for more details.
f19dbdb7 32481
62ddcc8f 32482 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
32483 compilation mechanism.
32484 (pupa_chainloader_real_boot): Likewise.
32485 (pupa_biosdisk_rw_int13_extensions): Likewise.
32486 (pupa_biosdisk_rw_standard): Likewise.
32487 (pupa_biosdisk_check_int13_extensions): Likewise.
32488 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
32489 (pupa_biosdisk_get_diskinfo_standard): Likewise.
32490 (pupa_get_memsize): Likewise.
32491 (pupa_get_mmap_entry): Likewise.
32492 (pupa_console_putchar): Likewise.
32493 (pupa_console_setcursor): Likewise.
32494 (pupa_getrtsecs): Use pushl instead of push.
32495
32496 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
32497 memory instead of the stack for a mmap entry, because some
32498 BIOSes may ignore the maximum size and overflow.
32499
32500 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
32501
32502 * genmk.rb (PModule#rule): Compile automatically generated
32503 sources with module-specific CFLAGS as well as other sources.
32504
9962ed99 325052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32506
32507 * configure.ac: Check ld.
32508 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
32509 respectively, before checking endianness and sizes.
32510
32511 * Makefile.in (LD): New variable.
f19dbdb7 32512
abdfc3c5 325132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32514
32515 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
32516
6a161fa9 325172002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
32518
32519 * Changelog: New file.
32520