]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
7ad12f43
VS
12009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4
c1129f03
RM
52009-11-09 Robert Millan <rmh.grub@aybabtu.com>
6
7 * util/i386/coreboot/grub-mkrescue.in: New file.
8 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
9 variables.
10
11 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
13 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14 requirements.
15 * util/mkisofs/defaults.h: New file.
16 * util/mkisofs/eltorito.c: Likewise.
17 * util/mkisofs/exclude.h: Likewise.
18 * util/mkisofs/fnmatch.c: Likewise.
19 * util/mkisofs/getopt.c: Likewise.
20 * util/mkisofs/getopt1.c: Likewise.
21 * util/mkisofs/hash.c: Likewise.
22 * util/mkisofs/include/fctldefs.h: Likewise.
23 * util/mkisofs/include/mconfig.h: Likewise.
24 * util/mkisofs/include/prototyp.h: Likewise.
25 * util/mkisofs/include/statdefs.h: Likewise.
26 * util/mkisofs/iso9660.h: Likewise.
27 * util/mkisofs/joliet.c: Likewise.
28 * util/mkisofs/match.c: Likewise.
29 * util/mkisofs/match.h: Likewise.
30 * util/mkisofs/mkisofs.c: Likewise.
31 * util/mkisofs/mkisofs.h: Likewise.
32 * util/mkisofs/multi.c: Likewise.
33 * util/mkisofs/name.c: Likewise.
34 * util/mkisofs/rock.c: Likewise.
35 * util/mkisofs/tree.c: Likewise.
36 * util/mkisofs/write.c: Likewise.
37
ec8bb77d
VS
382009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
41 being insecure.
42
3716b12c
RM
432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
44
45 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
46 `grub-mkimage' (and use $0 when possible).
47
b97b7b91
RM
482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
49
50 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
51 error message for excessively large memory map.
52
04114812
RM
532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
54
55 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
56 executable bit.
57
e4eb2373
RM
582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
59
60 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
61 message for coreboot users.
62
c926e1d5 632009-11-07 Robert Millan <rmh.grub@aybabtu.com>
64
65 Fix build with GNU gold.
66
67 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
68 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
69 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
70 link addresses.
71 * aclocal.m4: Likewise.
72
86e5b1db 732009-11-04 Felix Zielcke <fzielcke@z-51.de>
74
75 * configure.ac (AC_PREREQ): Bump to 2.59d.
76 * INSTALL: Make it more clear when Autoconf and Ruby are
77 needed and when to run `./autogen.sh'.
78
246cd78f 792009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
80
81 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
82 OSes.
83
4f9dfb37 842009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
85
86 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
87
b82bd5e1 882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
89
90 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
91 giving it to GNU Mach.
92
ff1a9bca 932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
94
95 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
96 GNU partition number to get internal GRUB partition number.
97
61697d9c 982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
99
100 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
101 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
102
a50569e1 1032009-11-01 Robert Millan <rmh.grub@aybabtu.com>
104
105 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
106 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
107 case.
108
5b153867 1092009-11-01 Felix Zielcke <fzielcke@z-51.de>
110
111 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
112
d9e2cd70 1132009-10-30 Robert Millan <rmh.grub@aybabtu.com>
114
115 Fix build problem.
116
117 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
118 `-isystem=$(srcdir)/include'.
119
805111a4 1202009-10-30 Robert Millan <rmh.grub@aybabtu.com>
121
122 * util/i386/pc/grub-install.in: Remove hint that device.map should be
123 checked (grub-install doesn't currently rely on it).
124
fa6e945f 1252009-10-29 Robert Millan <rmh.grub@aybabtu.com>
126
127 Revert SVN r2660.
128
129 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
130 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
131 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
132 * conf/i386-ieee1275.rmk: Likewise.
133 * conf/i386-pc.rmk: Likewise.
134 * conf/powerpc-ieee1275.rmk: Likewise.
135 * conf/sparc64-ieee1275.rmk: Likewise.
136 * conf/x86_64-efi.rmk: Likewise.
137
cee15086 1382009-10-28 Robert Millan <rmh.grub@aybabtu.com>
139
140 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
141
95b9239e 1422009-10-28 Robert Millan <rmh.grub@aybabtu.com>
143
144 * include/grub/misc.h: Stop checking for APPLE_CC.
145
2ed19dfd 1462009-10-28 Robert Millan <rmh.grub@aybabtu.com>
147
148 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
149 doesn't cause an infinite call loop.
150
fdcdde19 1512009-10-28 Felix Zielcke <fzielcke@z-51.de>
152
153 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
154 strings.
155
cefabfe1 1562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
157
158 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
159 variable.
160 * Makefile.in: Likewise.
161
ed96ab6d 1622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
163
164 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
165
0579b753 1662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
167
168 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
169
478df409 1702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
171
172 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
173
083d1679 1742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
175
176 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
177 from here ...
178 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
179
5947ae32 1802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
181
182 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
183 in $(MAKEINFO) invocation. This makes it clear in output that
184 errors are being ignored.
185
94180ff6 1862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
187
188 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
189 from here ...
190 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
191 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
192 * conf/i386-ieee1275.rmk: Likewise.
193 * conf/i386-pc.rmk: Likewise.
194 * conf/powerpc-ieee1275.rmk: Likewise.
195 * conf/sparc64-ieee1275.rmk: Likewise.
196 * conf/x86_64-efi.rmk: Likewise.
197
9031b03a 1982009-10-26 Colin Watson <cjwatson@ubuntu.com>
199
200 * util/grub-editenv.c (main): If only a command is given, use
201 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
202 (usage): FILENAME is now optional and has a default.
203
e4f6809b 2042009-10-26 Colin Watson <cjwatson@ubuntu.com>
205
206 Improve grub-mkconfig performance when there are several menu
207 entries on a single filesystem.
208
209 * util/grub.d/10_linux.in (linux_entry): Cache the output of
210 prepare_grub_to_access_device.
211 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
212 * util/grub.d/30_os-prober.in: Likewise.
213
67937d4d 2142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
215
216 * util/grub.d/10_freebsd.in: Remove.
217 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
218 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
219
ee3756cc 2202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
221
5c35048e 222 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 223
4dea1c6f 2242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
225
226 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
227 grub_util_error() call.
228
042484d7 2292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
230
231 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
232 `reserved_first_sector' member.
233 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
234 `reserved_first_sector' to 1.
235 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
236 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
237 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
238 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
239 filesystems which begin at first sector.
240 (options): New option --skip-fs-probe.
241 (main): Handle --skip-fs-probe and pass it to setup().
242
d64448a7 2432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
244
245 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
246 (memset): Fix function prototype.
247
508d42ec 2482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
2492009-10-25 Vasily Averin <vvs@parallels.com>
250
251 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
252 `dirent.direntlen == 0'.
253
b240e30c 2542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
255
256 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
257 `cpio'.
258 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
259
346e7fbe 2602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
261
262 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
263 `__trampoline_setup' and `__ucmpdi2'.
264 * include/grub/powerpc/libgcc.h: Only export symbols for functions
265 that libgcc provides.
266
cdb308b0 2672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
268
269 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
270 * include/grub/sparc64/libgcc.h (memset): Likewise.
271 * include/grub/misc.h (memset, memcmp): New function prototypes.
272
fb26abc2 2732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
274
275 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
276 `cpio'.
277 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
278
f6693890 2792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
280
281 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
282 * docs/grub.cfg: Compensate for recent change in multiboot
283 loader (since 2009-08-14 it won't pass filename to payload).
284 * util/grub.d/10_hurd.in: Likewise.
285
0933cdc0 2862009-10-21 Felix Zielcke <fzielcke@z-51.de>
287
288 * config.guess: Update to latest version from config git
289 repository.
290 * config.sub: Likewise.
291
3b2fe8c2 2922009-10-20 Robert Millan <rmh.grub@aybabtu.com>
293
294 Fix build on sparc64.
295
296 * configure.ac: Perform checks for libgcc symbols before
297 adding `-nostdlib' to LDFLAGS.
298
46695a62 2992009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
300
301 Let user specify OpenBSD root device.
302
303 * loader/i386/bsd.c (openbsd_root): New variable.
304 (openbsd_opts): New option 'root'.
305 (OPENBSD_ROOT_ARG): New macro.
306 (grub_openbsd_boot): Use 'openbsd_root'.
307 (grub_cmd_openbsd): Fill 'openbsd_root'.
308
d2b6b7fc 3092009-10-16 Robert Millan <rmh.grub@aybabtu.com>
310
311 * NEWS: Misc adjustments.
312
421bd7ac 3132009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
316
f1d29d87 3172009-10-16 Robert Millan <rmh.grub@aybabtu.com>
318
319 * configure.ac: Bump version to 1.97.
320
6f3cd880 3212009-10-16 Colin Watson <cjwatson@ubuntu.com>
322
323 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
324 -mno-3dnow on x86 architectures. Some toolchains enable these
325 features by default, but they rely on registers that aren't enabled
326 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
327
035f7122 3282009-10-15 Robert Millan <rmh.grub@aybabtu.com>
329
330 Make entry text a bit more readable.
331
332 * util/grub.d/10_linux.in: Add `with' before `Linux'.
333
44998e58 3342009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
337
cd2851b3 3382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
341 operations.
342
c6f3b249 3432009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * configure.ac: Add missing dollar.
346
6b5886ba 3472009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
348
349 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
350
351 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
352 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
353 exports.
354 * include/grub/sparc64/libgcc.h: Likewise. Use
355 preprocessor conditionals.
356
e9d66f6d 3572009-10-14 Robert Millan <rmh.grub@aybabtu.com>
358
359 * conf/common.rmk (grub-dumpbios): Remove rule.
360 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
361 * util/grub-dumpbios.in: Remove file.
362
9155bc17 3632009-10-14 Robert Millan <rmh.grub@aybabtu.com>
364
365 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
366 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
367
368 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
369 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
370 users.
371
372 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
373 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
374 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
375 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
376 users.
377
bf7f7a18 3782009-10-12 Robert Millan <rmh.grub@aybabtu.com>
379
380 * term/tparm.c: Switch to GPLv3.
381
86564c26 3822009-10-09 Robert Millan <rmh.grub@aybabtu.com>
383
384 * include/grub/i386/cpuid.h: Add header protection.
385
5c936493 3862009-10-09 Robert Millan <rmh.grub@aybabtu.com>
387
388 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
389
390 * include/grub/i386/cpuid.h: New file.
391 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
392 (has_longmode): Rename to ...
393 (grub_cpuid_has_longmode): ... this. Update all users. Remove
394 `static' attribute.
395 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
396 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
397 on a CPU that doesn't implement AMD64 instruction set.
398
186e7cf2 3992009-10-06 Colin Watson <cjwatson@ubuntu.com>
400
401 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
402 that version.texi is rebuilt on version number changes.
403
83b65c4a 4042009-10-06 Colin Watson <cjwatson@ubuntu.com>
405
406 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
407 Fixes bug #27602.
408
d244281c 4092009-10-06 Colin Watson <cjwatson@ubuntu.com>
410
411 * util/i386/pc/grub-install.in: Source
412 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
413 that the --grub-probe option will work.
414 * util/sparc64/ieee1275/grub-install.in: Likewise.
415
da25306d 4162009-10-05 Robert Millan <rmh.grub@aybabtu.com>
417
418 * configure.ac: Bump version to 1.97~beta4.
419
e8ee83c0 4202009-10-03 Robert Millan <rmh.grub@aybabtu.com>
421
422 Resync grub-mkdevicemap in x86_64-efi.
423
424 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
425 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
426 `util/devicemap.c'.
427
50dcabcf 4282009-10-01 Colin Watson <cjwatson@ubuntu.com>
429
430 * util/grub-editenv.c (create_envblk_file): Write new block with a
431 .new suffix and then rename it into place, to ensure atomic
432 creation.
433
0e51c3a7 4342009-09-28 Robert Millan <rmh.grub@aybabtu.com>
435
436 Do not automatically install headers.
437
438 * Makefile.in (include_DATA): Remove. Update all users.
439
31299a95 4402009-09-26 Robert Millan <rmh.grub@aybabtu.com>
441
442 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
443 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
444
445 * util/osdetect.lua: Remove.
446 * script/lua/lauxlib.c: Likewise.
447 * script/lua/ldebug.c: Likewise.
448 * script/lua/grub_main.c: Likewise.
449 * script/lua/lauxlib.h: Likewise.
450 * script/lua/ldebug.h: Likewise.
451 * script/lua/ltablib.c: Likewise.
452 * script/lua/liolib.c: Likewise.
453 * script/lua/lstrlib.c: Likewise.
454 * script/lua/lualib.h: Likewise.
455 * script/lua/ldo.c: Likewise.
456 * script/lua/ldump.c: Likewise.
457 * script/lua/ldo.h: Likewise.
458 * script/lua/loslib.c: Likewise.
459 * script/lua/lundump.c: Likewise.
460 * script/lua/grub_lib.c: Likewise.
461 * script/lua/ldblib.c: Likewise.
462 * script/lua/lundump.h: Likewise.
463 * script/lua/lmem.c: Likewise.
464 * script/lua/grub_lib.h: Likewise.
465 * script/lua/lmathlib.c: Likewise.
466 * script/lua/lstate.c: Likewise.
467 * script/lua/ltm.c: Likewise.
468 * script/lua/lvm.c: Likewise.
469 * script/lua/lmem.h: Likewise.
470 * script/lua/lstate.h: Likewise.
471 * script/lua/ltm.h: Likewise.
472 * script/lua/ltable.c: Likewise.
473 * script/lua/lvm.h: Likewise.
474 * script/lua/llex.c: Likewise.
475 * script/lua/lgc.c: Likewise.
476 * script/lua/grub_lua.h: Likewise.
477 * script/lua/loadlib.c: Likewise.
478 * script/lua/lfunc.c: Likewise.
479 * script/lua/lopcodes.c: Likewise.
480 * script/lua/lparser.c: Likewise.
481 * script/lua/ltable.h: Likewise.
482 * script/lua/llex.h: Likewise.
483 * script/lua/lgc.h: Likewise.
484 * script/lua/lfunc.h: Likewise.
485 * script/lua/lbaselib.c: Likewise.
486 * script/lua/lopcodes.h: Likewise.
487 * script/lua/lparser.h: Likewise.
488 * script/lua/lzio.c: Likewise.
489 * script/lua/linit.c: Likewise.
490 * script/lua/lobject.c: Likewise.
491 * script/lua/llimits.h: Likewise.
492 * script/lua/lstring.c: Likewise.
493 * script/lua/lzio.h: Likewise.
494 * script/lua/lapi.c: Likewise.
495 * script/lua/lcode.c: Likewise.
496 * script/lua/lua.h: Likewise.
497 * script/lua/lobject.h: Likewise.
498 * script/lua/lstring.h: Likewise.
499 * script/lua/lapi.h: Likewise.
500 * script/lua/lcode.h: Likewise.
501 * script/lua/luaconf.h: Likewise.
502
cb8a2c38 5032009-09-26 Colin Watson <cjwatson@ubuntu.com>
504
505 * docs/grub.texi (Command-line and menu entry commands): Document
506 date and echo commands.
507
6b9b6276 5082009-09-24 Pavel Roskin <proski@gnu.org>
509
510 * include/grub/kernel.h (struct grub_module_header): Remove
511 `grub_module_header_types'. Make `type' unsigned. Make `size'
512 32-bit on all platforms.
513 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
514 8-bit field. Use grub_host_to_target32() for `size'.
515 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
516 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
517 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
518
4e5a02a7 5192009-09-24 Robert Millan <rmh.grub@aybabtu.com>
520
521 Fix "lost keypress" bug in at_keyboard.
522
523 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
524 Checks for readyness of input buffer (without flushing it).
525 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
526 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
527
c6dcedf6 5282009-09-24 Robert Millan <rmh.grub@aybabtu.com>
529
530 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
531 size check within GRUB_MACHINE_PCBIOS section.
532
74c958b1 5332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
534
535 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
536 return value.
537 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
538 KEYBOARD_ISREADY check.
539 (grub_at_keyboard_checkkey): Rename to ...
540 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
541 Remove gratuitous cast.
542
ff420223 5432009-09-23 Colin Watson <cjwatson@ubuntu.com>
544
545 * configure.ac: Call AC_PROG_MKDIR_P.
546 * Makefile.in (docs/stamp-vti): Create docs directory. Create
547 version.texi in $(builddir) rather than $(srcdir).
548 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
549 to makeinfo's @include search path.
550
d96875df 5512009-09-23 Felix Zielcke <fzielcke@z-51.de>
552
553 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
554
9b3f8365 5552009-09-23 Felix Zielcke <fzielcke@z-51.de>
556
557 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
558 for `*.dpkg-new'.
559
c44c90db 5602009-09-21 Colin Watson <cjwatson@ubuntu.com>
561
562 Build info documentation. Some code borrowed from Automake.
563
564 * configure.ac: Check for makeinfo.
565 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
566 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
567 docs/version.texi.
568 (MOSTLYCLEANFILES): Add vti.tmp.
569 (docs/version.texi, docs/stamp-vti): Update automatically.
570 (docs/grub.info): Build info documentation. Use --force and ignore
571 errors for now.
572 (all-local): Add $(INFOS).
573 (install-local): Install info files.
574 (uninstall): Uninstall info files.
575 * docs/version.texi: Remove from revision control. This file is
576 automatically generated on build now.
577 * gendistlist.sh: Add `*.info'.
578
e0b37bb5 5792009-09-21 Felix Zielcke <fzielcke@z-51.de>
580
581 * kern/term.c: Fix indentation.
582
5a78865b 5832009-09-21 Felix Zielcke <fzielcke@z-51.de>
584
585 * util/hostdisk.c: Fix a comment.
586
dace7e8a 5872009-09-20 Robert Millan <rmh.grub@aybabtu.com>
588
589 Fix regression introduced in r2539.
590
591 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
592 to 0xA1.
593
a83d079b 5942009-09-19 Colin Watson <cjwatson@ubuntu.com>
595
596 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 597 os-prober. Under normal operation, it does not print anything to
598 stderr; if it does, we need to debug it, and throwing away stderr
599 makes that excessively difficult.
a83d079b 600
be94a509 6012009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
604
63f745e8 6052009-09-16 Robert Millan <rmh.grub@aybabtu.com>
606
607 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
608 AC_LANG_PROGRAM from autoconf.
609 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
610 prototypes (fixes warning).
611
612 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
613 `--disable-werror' was used.
614
bbb2a70f 6152009-09-16 Robert Millan <rmh.grub@aybabtu.com>
616
617 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
618 uninitialized `lastaddr'.
619
77c24f1d 6202009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
621
0f0b8c87 622 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 623
07197f23 6242009-09-14 Colin Watson <cjwatson@ubuntu.com>
625
626 * commands/test.c (get_fileinfo): Return immediately if
627 grub_fs_probe fails.
628
dabf1798 6292009-09-14 José Martínez <xosemp@gmail.com>
630
631 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
632
d52109a7 6332009-09-14 Colin Watson <cjwatson@ubuntu.com>
634
635 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
636 output.
637
56532179 6382009-09-13 Robert Millan <rmh.grub@aybabtu.com>
639
640 * configure.ac: Remove --enable-grub-pe2elf. Only build
641 grub-pe2elf when needed by the build system itself.
642 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
643
8ef070f5 6442009-09-12 Robert Millan <rmh.grub@aybabtu.com>
645
646 * configure.ac: Bump version to 1.97~beta3.
647 * docs/version.texi: Likewise.
648
61229557 6492009-09-12 Robert Millan <rmh.grub@aybabtu.com>
650
651 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
652 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
653 from here ...
654 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
655 (grub_linux_setup_video): ... to here (with some adjustments).
656
5c9f8d84 6572009-09-12 Robert Millan <rmh.grub@aybabtu.com>
658
659 Fix memory corruption issue (spotted by Colin Watson).
660
661 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
662 causing returned size to be stored in an incorrect memory location.
663 Fix use of uninitialized value when storing the returned size.
664
e8f5d6e9 6652009-09-12 Yves Blusseau <blusseau@zetam.org>
666
667 Change clean rules to properly remove files
668
669 * genmk.rb: add new clean rules
670 * Makefile.in (clean): add the new targets
671 (mostlyclean): likewise
672
cda2a409 6732009-09-11 Colin Watson <cjwatson@ubuntu.com>
674
675 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
676 to grub_uint64_t.
677 * fs/ntfs.c (init_file): Understand 64-bit sizes for
678 non-resident files.
679
86695375 6802009-09-11 Colin Watson <cjwatson@ubuntu.com>
681
682 * configure.ac: Don't look for help2man when cross-compiling. Fixes
683 part of bug #27349.
684
8aa1541a 6852009-09-10 Felix Zielcke <fzielcke@z-51.de>
686
687 * util/grub-mkconfig.in: Make the created config mode 400 and
688 print a warning if it fails.
689
48d9bb0a 6902009-09-10 Robert Millan <rmh.grub@aybabtu.com>
691
692 * util/grub.d/40_custom.in: Ask user to type custom entries below
693 comment, rather than below 'exec tail' line.
694
3b0521be 6952009-09-10 Colin Watson <cjwatson@ubuntu.com>
696
697 * util/grub.d/40_custom.in: Make sure that the explanatory text is
698 visible in grub.cfg.
699
50051d55 7002009-09-10 Colin Watson <cjwatson@ubuntu.com>
701
702 * util/grub.d/40_custom.in: Make it a little clearer how to use this
703 file.
704
c0d34387 7052009-09-10 Felix Zielcke <fzielcke@z-51.de>
706
707 * docs/grub.cfg: Add an example menu entry for memtest86+.
708
80a608f3 7092009-09-09 Felix Zielcke <fzielcke@z-51.de>
710
a2094832 711 * config.guess: Update to latest version from config git.
80a608f3 712 * config.sub: Likewise.
713
99423078 7142009-09-08 Colin Watson <cjwatson@ubuntu.com>
715
716 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
717 unknown-command case. Fixes bug #27320.
718
44454e4c 7192009-09-08 Felix Zielcke <fzielcke@z-51.de>
720
721 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
722 `help' if the command exists.
723
e30d87ad 7242009-09-06 Robert Millan <rmh.grub@aybabtu.com>
725
726 * INSTALL: Require GCC 4.1.3 or later.
727
9a86f1ec 7282009-09-06 Yves Blusseau <blusseau@zetam.org>
729
730 * Makefile.in (RMKFILES): add i386-qemu.rmk
731 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
732 $(srcdir)/stamp-h.in
733
7f26d466 7342009-09-05 Robert Millan <rmh.grub@aybabtu.com>
735
736 * util/grub-probe.c (probe): Comment out buggy codepath, which
737 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
738 should be re-enabled after 1.97.
739
3a613259 7402009-09-05 Felix Zielcke <fzielcke@z-51.de>
741
742 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
743 find searches for.
744
197f76c7 7452009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
748 unnecessary calls to grub_error.
749
70ba68ce 7502009-09-04 Colin Watson <cjwatson@ubuntu.com>
751
752 * NEWS: Mention `keystatus' and Unicode fonts.
753
4ff0d7a4 7542009-09-04 Robert Millan <rmh.grub@aybabtu.com>
755
756 * configure.ac: Bump version to 1.97~beta2.
757 * docs/version.texi: Likewise.
758
77c55a87 7592009-09-03 Colin Watson <cjwatson@ubuntu.com>
760
761 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
762 containing unwind information in some cases where it previously did
763 not. Use -fno-dwarf2-cfi-asm if available to restore the old
764 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
765 discussion.
766
f79572cd 7672009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
768
769 Embedding loadenv module into grub-emu
770
771 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
772 commands/loadenv.c
773 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
775 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
777 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
778 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
779
93a81088 7802009-09-03 Magnus Granberg <zorry@ume.nu>
781
782 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
783 include -fPIE in the default specs.
784 * configure.ac: Check if pie_possible is yes and add -fno-PIE
785 to TARGET_CFLAGS.
786
160034b2 7872009-09-03 Felix Zielcke <fzielcke@z-51.de>
788
789 * INSTALL: Note that GNU Bison 2.3 or later is required.
790
087c07c4 7912009-09-03 Colin Watson <cjwatson@ubuntu.com>
792
793 * kern/i386/pc/startup.S: Fix typo.
794
cbf978c0 7952009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
798 according to GCS.
799
8002009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 801
802 * docs/grub.texi (Naming convention): Describe one-based partition
803 numbering.
804 (Device syntax): Likewise.
805 (File name syntax): Likewise.
806 (Block list syntax): Likewise.
807 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
808 menu.lst.
809 (File name syntax): Likewise.
810 (Command-line and menu entry commands): Document acpi, blocklist,
811 crc, export, insmod, keystatus, ls, set, and unset commands.
812
f3e8cdfd 8132009-09-02 Colin Watson <cjwatson@ubuntu.com>
814
815 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
816 to avoid implying that only one of --shift, --ctrl, or --alt may be
817 used.
818
c0bc232b 8192009-09-02 Colin Watson <cjwatson@ubuntu.com>
820
821 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
822 rather than comparing against S_IFREG, which will almost never work.
823
aa0f752d 8242009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
827 (write_blocklists): Likewise.
828
ecb3166a 8292009-09-01 Colin Watson <cjwatson@ubuntu.com>
830
831 * script/lua/grub_lua.h (fputs): Supply a format string as the first
832 argument to grub_printf.
833
c403a125 8342009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 835
836 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 837 non GNU test.
31aba781 838
b5e7312c 8392009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * kern/file.c (grub_file_read): Spelling fix
842
fe00f472 8432009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
846 loading of headers in some cases.
847
cc55302e 8482009-08-30 Robert Millan <rmh.grub@aybabtu.com>
849
850 * configure.ac: Bump version to 1.97~beta1.
851 * docs/version.texi: Likewise.
852
5c90cdd2 8532009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 854
855 * include/grub/i386/xnu.h: Add license header.
856 include grub/err.h explicitly.
857
c90edae4 8582009-08-29 Robert Millan <rmh.grub@aybabtu.com>
859
860 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
861 to `ufs' in the vfs.root.mountfrom kernel parameter.
862
d8888b5c 8632009-08-29 Robert Millan <rmh.grub@aybabtu.com>
864
865 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
866
867 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
868 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
869
870 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
871 `ARRAY_SIZE' macro.
872
6f07b921 8732009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * kern/file.c (grub_file_read): Check offset.
876 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
877 * fs/jfs.c (grub_jfs_read_file): Likewise.
878 * fs/ntfs.c (grub_ntfs_read): Likewise.
879 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
880 * fs/minix.c (grub_minix_read_file): Correct offset check.
881 * fs/ufs.c (grub_ufs_read_file): Likewise.
882
b4f34077 8832009-08-28 Colin Watson <cjwatson@ubuntu.com>
884
885 * term/i386/pc/console.c (bios_data_area): Cast
886 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
887
e7c69859 8882009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
889
890 1-bit optimised blitters.
891
892 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
893 prototype.
894 (grub_video_fbblit_replace_24bit_1bit): Likewise.
895 (grub_video_fbblit_replace_16bit_1bit): Likewise.
896 (grub_video_fbblit_replace_8bit_1bit): Likewise.
897 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
898 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
899 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
900 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
901 function.
902 (grub_video_fbblit_replace_24bit_1bit): Likewise.
903 (grub_video_fbblit_replace_16bit_1bit): Likewise.
904 (grub_video_fbblit_replace_8bit_1bit): Likewise.
905 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
906 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
907 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
908 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
909 when possible.
910 * video/video.c (grub_video_get_blit_format): Return
911 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
912
a57da43f 9132009-08-28 Colin Watson <cjwatson@ubuntu.com>
914
915 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
916 the first argument to grub_printf.
917
4cbe67e5 9182009-08-28 Colin Watson <cjwatson@ubuntu.com>
9192009-08-28 Robert Millan <rmh.grub@aybabtu.com>
920
921 Add `getkeystatus' terminal method. Add a new `keystatus' command
922 to query it.
923
924 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
925 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
926 modifier key bitmasks.
927 (struct grub_term_input): Add `getkeystatus' member.
928 (grub_getkeystatus): Add prototype.
929 * kern/term.c (grub_getkeystatus): New function.
930
931 * include/grub/i386/pc/memory.h
932 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
933 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
934 Data Area layout.
935 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
936 (grub_console_term_input): Set `getkeystatus' member.
937 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
938 constants.
939 (grub_usb_keyboard_getreport): Likewise.
940 (grub_usb_keyboard_checkkey): Likewise.
941 (grub_usb_keyboard_getkeystatus): New function.
942 (grub_usb_keyboard_term): Set `getkeystatus' member.
943
944 * commands/keystatus.c: New file.
945 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
946 (keystatus_mod_SOURCES): New variable.
947 (keystatus_mod_CFLAGS): Likewise.
948 (keystatus_mod_LDFLAGS): Likewise.
949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
950 commands/keystatus.c.
951 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
952 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
953 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
955 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
956 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 957
6e2a9085 9582009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
959
960 Split befs.mod and afs.mod into *_be.mod and *.mod
961
962 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
963 (grub_fstest_SOURCES): Likewise.
964 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
965 (afs_be_mod_SOURCES): New variable.
966 (afs_be_mod_CFLAGS): Likewise.
967 (afs_be_mod_LDFLAGS): Likewise.
968 (befs_be_mod_SOURCES): Likewise.
969 (befs_be_mod_CFLAGS): Likewise.
970 (befs_be_mod_LDFLAGS): Likewise.
971 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
972 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
973 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
974 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
975 (grub_emu_SOURCES): Likewise.
976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
977 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
978 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
979 * fs/afs_be.c: New file.
980 * fs/befs_be.c: New file.
981 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
982 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
983 (U16): Replaced with ...
984 (grub_afs_to_cpu16): ...this. All users updated.
985 (U32): Replaced with ...
986 (grub_afs_to_cpu32): ...this. All users updated.
987 (U64): Replaced with ...
988 (grub_afs_to_cpu64): ...this. All users updated.
989 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
990 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 991 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 992 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
993 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
994 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
995 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
996 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
997 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
998 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
999 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
1000
32a71655 10012009-08-26 Bean <bean123ch@gmail.com>
1002
1003 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
1004 64-bit number.
1005 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1006 (grub_xfs_inode_block): Change return type to grub_uint64_t.
1007 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
1008
552bf6c5 10092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 NetBSD memory map support.
1012
1013 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
1014 (grub_netbsd_btinfo_mmap_header): New structure.
1015 (grub_netbsd_btinfo_mmap_entry): Likewise.
1016 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
1017
1ae2078c 10182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 Enable bsd.mod on coreboot.
1021
1022 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
1023 (bsd_mod_SOURCES): New variable.
1024 (bsd_mod_CFLAGS): Likewise.
1025 (bsd_mod_LDFLAGS): Likewise.
1026 (bsd_mod_ASFLAGS): Likewise.
1027 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
1028 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
1029
beefc598 10302009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Cleanup NetBSD root support.
1033
1034 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
1035 grub_bsd_get_device.
1036 Fix typo.
1037
3b76e68b 10382009-08-25 Felix Zielcke <fzielcke@z-51.de>
1039
1040 * util/grub.d/00_header.in: Move check for the video backend of
1041 gfxterm from here ...
1042 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
1043 a suitable video backend.
1044
aea664ea 10452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 Fix breakage in grub-setup.
1048
1049 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
1050 "msdos_partition_map".
1051
ff747d50 10522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Fix breakage in normal/auth.c.
1055
1056 * normal/auth.c (grub_iswordseparator): New function.
1057
e7e1f93f 10582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Authentication support.
1061
1062 * commands/password.c: New file.
1063 * conf/common.rmk (pkglib_MODULES): Add password.mod.
1064 (password_mod_SOURCES): New variable.
1065 (password_mod_CFLAGS): Likewise.
1066 (password_mod_LDFLAGS): Likewise.
1067 (normal_mod_SOURCES): Add normal/auth.c.
1068 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
1069 normal/auth.c.
1070 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1072 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1074 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1075 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
1076 * include/grub/auth.h: New file.
1077 * include/grub/err.h (grub_err_t): New enum value
1078 GRUB_ERR_ACCESS_DENIED.
1079 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
1080 'users'.
1081 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
1082 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
1083 users updated.
1084 * normal/auth.c: New file.
1085 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
1086 (grub_cmdline_run): Don't allow to go to command line without
1087 authentication.
1088 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
1089 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
1090 menuentry without superuser rights.
1091 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
1092 user isn't a superuser.
1093
70f1161d 10942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 Save space by inlining misc.c functions.
1097
1098 * kern/misc.c (grub_iswordseparator): Made static.
1099 * kern/misc.c (grub_strcat): Moved from here ...
1100 * include/grub/misc.h (grub_strcat): ... here. Inlined.
1101 * kern/misc.c (grub_strncat): Moved from here ...
1102 * include/grub/misc.h (grub_strncat): ... here. Inlined.
1103 * kern/misc.c (grub_strcasecmp): Moved from here ...
1104 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
1105 * kern/misc.c (grub_strncasecmp): Moved from here ...
1106 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
1107 * kern/misc.c (grub_isalpha): Moved from here ...
1108 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
1109 * kern/misc.c (grub_isdigit): Moved from here ...
1110 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
1111 * kern/misc.c (grub_isgraph): Moved from here ...
1112 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
1113 * kern/misc.c (grub_tolower): Moved from here ...
1114 * include/grub/misc.h (grub_tolower): ... here. Inlined.
1115
48e40bff 11162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * script/sh/function.c (grub_script_function_find): Cut error message
1119 not to flood terminal.
1120 * script/sh/lexer.c (grub_script_yylex): Remove command line length
1121 limit.
1122 * script/sh/script.c (grub_script_arg_add): Duplicate string.
1123
c385bfc3 11242009-08-24 Colin Watson <cjwatson@ubuntu.com>
1125
1126 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
1127 `report' grub_uint8_t *.
1128 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
1129 Use a 50-millisecond timeout rather than just repeating
1130 grub_usb_keyboard_getreport 50 times.
1131 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
1132
2d21e3e8 11332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 Rename *_partition_map to part_*
1136
1137 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
1138 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
1139 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
1140 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
1141 All users updated.
1142 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
1143 All users updated.
1144 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
1145 * util/grub-probe.c (probe_partmap): Don't transform partition name
1146 to get module name.
1147
dd103c4e 11482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 Fix OpenBSD and NetBSD support.
1151
1152 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
1153 memory address conflict.
1154 (OPENBSD_MMAP_ACPI): New definition.
1155 (OPENBSD_MMAP_NVS): Likewise.
1156 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
1157 and OPENBSD_MMAP_NVS.
1158 Add memory map terminator
1159 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 1160 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 1161
16c84d74 11622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Let user specify NetBSD root device.
1165
1166 * loader/i386/bsd.c (netbsd_root): New variable.
1167 (netbsd_opts): New option 'root'.
1168 (NETBSD_ROOT_ARG): New macro.
1169 (grub_netbsd_boot): Use 'netbsd_root'.
1170 (grub_bsd_unload): Free 'netbsd_root'.
1171 (grub_cmd_netbsd): Fill 'netbsd_root'.
1172
adb29902 11732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 Support for 64-bit NetBSD.
1176
1177 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
1178 point when booting non-FreeBSD.
1179
f5ae9f74 11802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 Support --no-smp and --no-acpi for NetBSD.
1183
1184 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
1185 (NETBSD_AB_NOACPI): Likewise.
1186 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
1187 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
1188
de74f136 11892009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
1192 errors.
1193 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
1194 errors. Call grub_error when needed.
1195
e9a925da 11962009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * commands/search.c (search_fs): Try searching without autoload first.
1199 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1200 filesystem module explicitly for faster booting.
1201
5174302b 12022009-08-23 Colin Watson <cjwatson@ubuntu.com>
1203
1204 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
1205
c8c80635 12062009-08-23 Colin Watson <cjwatson@ubuntu.com>
1207
1208 * util/grub.d/30_os-prober.in: Disable os-prober if
1209 `GRUB_DISABLE_OS_PROBER' was set to true.
1210
71acf5e5 12112009-08-23 Robert Millan <rmh.grub@aybabtu.com>
1212
1213 * partmap/pc.c: Rename to ...
1214 * partmap/msdos.c: ... this. Update all users.
1215 (grub_pc_partition_map): Rename to ...
1216 (grub_msdos_partition_map): ... this. Update all users.
1217
1218 * parttool/pcpart.c: Rename to ...
1219 * parttool/msdospart.c: ... this. Update all users.
1220
1221 * include/grub/pc_partition.h: Rename to ...
1222 * include/grub/msdos_partition.h: ... this. Update all users.
1223 (grub_pc_partition_bsd_entry): Rename to ...
1224 (grub_msdos_partition_bsd_entry): ... this. Update all users.
1225 (grub_pc_partition_disk_label): Rename to ...
1226 (grub_msdos_partition_disk_label): ... this. Update all users.
1227 (grub_pc_partition_entry): Rename to ...
1228 (grub_msdos_partition_entry): ... this. Update all users.
1229 (grub_pc_partition_mbr): Rename to ...
1230 (grub_msdos_partition_mbr): ... this. Update all users.
1231 (grub_pc_partition): Rename to ...
1232 (grub_msdos_partition): ... this. Update all users.
1233 (grub_pc_partition_is_empty): Rename to ...
1234 (grub_msdos_partition_is_empty): ... this. Update all users.
1235 (grub_pc_partition_is_extended): Rename to ...
1236 (grub_msdos_partition_is_extended): ... this. Update all users.
1237 (grub_pc_partition_is_bsd): Rename to ...
1238 (grub_msdos_partition_is_bsd): ... this. Update all users.
1239
1240 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
1241 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
1242 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
1243 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
1244 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
1245 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
1246 (gpt_mod_LDFLAGS): Rename to ...
1247 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
1248 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
1249 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
1250 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
1251 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
1252 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
1253 (part_gpt_mod_LDFLAGS): ... this.
1254 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
1255 `pcpart.mod' to `msdospart.mod'.
1256 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
1257 to ...
1258 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
1259 (msdospart_mod_LDFLAGS): ... this.
1260
c11fded5 12612009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
1264 (openbsd_opts): Likewise.
1265 (netbsd_opts): Likewise.
1266 (freebsd_flags): Added 0 terminator.
1267 (openbsd_flags): Likewise.
1268 (netbsd_flags): Likewise.
1269 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
1270 (grub_cmd_freebsd): Transformed into extended command.
1271 (grub_cmd_openbsd): Likewise.
1272 (grub_cmd_netbsd): Likewise.
1273 (cmd_freebsd): Changed type to grub_extcmd_t.
1274 (cmd_openbsd): Likewise.
1275 (cmd_netbsd): Likewise.
1276 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
1277 grub_cmd_openbsd as extended commands.
1278 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
1279 cmd_netbsd and cmd_openbsd
1280
11d1c769 12812009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
1284
7a9094e5 12852009-08-21 Pavel Roskin <proski@gnu.org>
1286
5496c37e 1287 * Makefile.in (install-local): When checking if a file is in the
1288 build directory, use "test -e" to detect symlinks.
1289
7a9094e5 1290 * Makefile.in (install-local): Remove all files in
1291 $(DESTDIR)$(pkglibdir) before installing new files there.
1292
e53cea11 12932009-08-18 Felix Zielcke <fzielcke@z-51.de>
1294
1295 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
1296 grub-mkelfimage.
1297
9aced544 12982009-08-18 Felix Zielcke <fzielcke@z-51.de>
1299
1300 * util/grub-mkconfig.in: Don't use gfxterm by default if not
1301 explicitly specified by the user.
1302
b7da6bab 13032009-08-18 Pavel Roskin <proski@gnu.org>
1304
1305 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
1306 grub_uint8_t pointer for data.
1307 * include/grub/fbutil.h (struct grub_video_fbblit_info):
1308 Likewise.
1309 * video/fb/fbutil.c: Remove unnecessary casts.
1310
19f1b335 13112009-08-17 Michal Suchanek <hramrach@centrum.cz>
1312
1313 VBE cleanup.
1314
1315 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
1316 (grub_vbe_set_video_mode): Save active mode info
1317 only after setting the mode.
1318 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
1319 second argument.
1320
2f467aa9 13212009-08-17 Michal Suchanek <hramrach@centrum.cz>
1322
1323 Rename variables for clarity.
1324
1325 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
1326 (active_vbe_mode_info): ... this. All users updated.
1327 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
1328 All users updated.
1329 (initial_mode): Rename to ...
1330 (initial_vbe_mode): ... this. All users updated.
1331 (mode_in_use): Rename to ..
1332 (vbe_mode_in_use): ... this. All users updated.
1333 (mode_list): Rename to ..
1334 (vbe_mode_list): ... this. All users updated.
1335 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
1336 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
1337 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
1338 'mode_list_size' to 'vbe_mode_list_size'.
1339 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
1340 'best_mode_info' to 'best_vbe_mode_info' and
1341 'best_mode' to 'best_vbe_mode'
1342
6025fcd7 13432009-08-17 Michal Suchanek <hramrach@centrum.cz>
1344
1345 Remove duplicate grub_video_fb_get_video_ptr.
1346
1347 * include/grub/fbutil.h (get_data_ptr): Rename to ...
1348 (grub_video_fb_get_video_ptr): ... this.
1349 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
1350 * video/fb/fbutil.c: Add comment about addressing.
1351 (get_data_ptr): Rename to ...
1352 (grub_video_fb_get_video_ptr): ... this. All users updated.
1353 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
1354
cc8c6faf 13552009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1356
1357 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
1358 grub_dprintf() that was just added.
1359
08aa61f0 13602009-08-17 Robert Millan <rmh.grub@aybabtu.com>
1361
1362 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
1363 (DEFAULT_VIDEO_MODE): Remove macros.
1364 (grub_linux_boot): Remove assumption that Linux has FB support,
1365 and use "text" as default video mode.
1366
7cef4f75 13672009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
1370 grub_dprintf.
1371 * fs/fat.c (grub_fat_read_data): Likewise.
1372
e1f39873 13732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
1376 payload.
1377 (grub_module): Likewise.
1378
c166d79e 13792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
1382 mbi->cmdline but free playground.
1383
c60cee8e 13842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Handle group offset on UFS1.
1387
1388 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
1389 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
1390
c0d8b5d4 13912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 Split ufs.mod into ufs1.mod and ufs2.mod.
1394
1395 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
1396 (grub_fstest_SOURCES): Likewise.
1397 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
1398 (ufs_mod_SOURCES): Remove.
1399 (ufs_mod_CFLAGS): Likewise.
1400 (ufs_mod_LDFLAGS): Likewise.
1401 (ufs1_mod_SOURCES): New variable.
1402 (ufs1_mod_CFLAGS): Likewise.
1403 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 1404 (ufs2_mod_SOURCES): New variable.
1405 (ufs2_mod_CFLAGS): Likewise.
1406 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 1407 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
1408 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1409 Likewise.
1410 (grub_emu_SOURCES): Likewise.
1411 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1412 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1413 (grub_setup_SOURCES): Likewise.
1414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1415 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
1416 (grub_setup_SOURCES): Likewise.
1417 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
1418 Likewise.
1419 * fs/ufs2.c: New file.
1420 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
1421
d3539132 14222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 Framebuffer split.
1425
1426 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
1427 subsystem at the end.
1428 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
1429 (video_fb_mod_SOURCES): New variable.
1430 (video_fb_mod_CFLAGS): Likewise.
1431 (video_fb_mod_LDFLAGS): Likewise.
1432 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
1433 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
1434 * video/i386/pc/vbeblit.c: Moved from here ...
1435 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
1436 * video/i386/pc/vbefill.c: Moved from here ...
1437 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
1438 * video/i386/pc/vbeutil.c: Moved from here ...
1439 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
1440 * include/grub/i386/pc/vbeblit.h: Moved from here ...
1441 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
1442 * include/grub/i386/pc/vbefill.h: Moved from here ...
1443 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
1444 * include/grub/i386/pc/vbeutil.h: Moved from here ...
1445 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
1446 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
1447 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
1448 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
1449 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
1450 (grub_video_adapter): Added 'get_info_and_fini'.
1451 (grub_video_get_info_and_fini): New prototype.
1452 (grub_video_set_mode): make modestring const char *.
1453 * loader/i386/linux.c (grub_linux_setup_video): Use
1454 grub_video_get_info_and_fini.
1455 (grub_linux_boot): Move modesetting just before booting.
1456 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
1457 grub_video_get_info_and_fini.
1458 * video/i386/pc/vbe.c: Moved framebuffer part ...
1459 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
1460 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
1461 grub_video_fbstd_colors and grub_video_fb_set_palette.
1462 (grub_video_vbe_init): Clear 'framebuffer' variable and use
1463 grub_video_fb_init.
1464 (grub_video_vbe_fini): Use grub_video_fb_fini.
1465 (grub_video_vbe_setup): Use framebuffer.render_target instead of
1466 render_target and use grub_video_fb_set_active_render_target and
1467 grub_video_fb_set_palette.
1468 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
1469 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
1470 (grub_video_vbe_adapter): Use framebuffer.
1471 * video/video.c (grub_video_get_info_and_fini): New function.
1472 (grub_video_set_mode): Make modestring const char *.
1473 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
1474 values are already initialised.
1475
d404ee56 14762009-08-14 Pavel Roskin <proski@gnu.org>
1477
1478 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
1479 ABS and APPLE_CC.
1480 * boot/i386/pc/diskboot.S: Likewise.
1481 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
1482 sectors allow compilation on MacOSX.
1483 * conf/i386-pc.rmk: Enable unconditional compilation of
1484 lnxboot.img.
1485
9a10df16 14862009-08-13 Colin Watson <cjwatson@ubuntu.com>
1487
1488 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
1489 * util/grub.d/00_header.in: Enter interruptible sleep if
1490 GRUB_HIDDEN_TIMEOUT is set.
1491
be3c9ca7 14922009-08-13 Yves Blusseau <blusseau@zetam.org>
1493
1494 * include/grub/symbol.h: Add the LOCAL macro.
1495 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
1496 starting with "L_".
1497
1f9e557e 14982009-08-13 Pavel Roskin <proski@gnu.org>
1499
9ca62843 1500 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
1501 any modern compilers we support.
1502
1f9e557e 1503 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
1504 Use local labels starting with "L_" so that Apple assembler
1505 knows they are local.
1506
81623db6 15072009-08-10 Robert Millan <rmh.grub@aybabtu.com>
1508
1509 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
1510 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
1511 (bsd_kernel_types): ... this enum.
1512
1513 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
1514 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
1515 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
1516
1517 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
1518 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
1519 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
1520 messages.
1521
f5d35e7a 15222009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1523
1524 * util/grub-dumpdevtree: Moved from here ...
1525 * util/i386/efi/grub-dumpdevtree: ... to here.
1526 (hexify): New function. Converts a string to its hex version.
1527 Generate hex versions of "efi" and "device-properties" by calling
1528 hexify() on the ASCII strings rather than by hardcoding numbers.
1529
d1e1d527 15302009-08-08 Robert Millan <rmh.grub@aybabtu.com>
1531
1532 * fs/jfs.c: Update copyright year.
1533
1ebbe064 15342009-08-08 Felix Zielcke <fzielcke@z-51.de>
1535
1536 * util/grub.d/00_header.in: Fix a comment.
1537 * util/grub.d/10_linux.in: Likewise.
1538 * util/grub.d/10_windows.in: Likewise.
1539 * util/grub.d/10_hurd.in: Likewise.
1540
a78c8d24 15412009-08-08 Felix Zielcke <fzielcke@z-51.de>
1542
1543 * util/grub-mkconfig.in: Allow the user to specify the used font
1544 with GRUB_FONT.
1545
29a6b9e8 15462009-08-08 Pavel Roskin <proski@gnu.org>
1547
b5f16cc4 1548 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
1549 available, xfs.mod needs it now.
1550
2f5cb827 1551 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
1552 the "g" modifier in sed when the intention is to strip something
1553 once. This fixes comparison of kernels with multiple dashes.
1554
29a6b9e8 1555 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
1556 on it. Add missing space before closing bracket. Fix
1557 misleading formatting.
1558
892a3d98 15592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1560
1561 * docs/grub.texi: Major overhaul. Remove all sections that are
1562 specific to GRUB Legacy, or mostly composed of Legacy-specific
1563 information.
1564
ed94253f 15652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1566
1567 * docs/version.texi: New file. Provides version information for
1568 grub.texi.
1569
126d6628 15702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1571
1572 * docs/grub.texi: Update CVS information to SVN.
1573 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
1574
998b5aa9 15752009-08-07 Felix Zielcke <fzielcke@z-51.de>
1576
1577 * util/grub-mkconfig.in: Remove a wrong `fi'.
1578
818e094a 15792009-08-07 Felix Zielcke <fzielcke@z-51.de>
1580
1581 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
1582 (grub_jfs_uuid): New function.
1583 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
1584
b969c52f 15852009-08-07 Felix Zielcke <fzielcke@z-51.de>
1586
1587 * util/grub-mkconfig_lib.in (font_path): Move the functionality
1588 of it to ...
1589 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
1590 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
1591
7a4894cc 15922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1593
1594 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
1595 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
1596 Update all users.
1597
1598 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
1599 not just "vmlinu[zx]".
1600 Moved from here ...
1601 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
1602 all users.
1603
1604 * util/grub.d/10_linux.in (find_latest): Moved from here ...
1605 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
1606 all users.
1607
4e2171f8 16082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
1609
1610 * util/grub.d/10_freebsd.in: Use an absolute device path for
1611 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
1612
6dcfcb32 16132009-08-06 Felix Zielcke <fzielcke@z-51.de>
1614
1615 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1616 handling of multiple abstraction modules.
1617
f56a8756 16182009-08-04 Robert Millan <rmh.grub@aybabtu.com>
1619
1620 Fix a bug resulting in black screen when loading Linux using a
1621 packed video mode.
1622
1623 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
1624 function.
1625
1626 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
1627 (grub_vbe_bios_getset_dac_palette_width): New function.
1628 (grub_vbe_bios_get_dac_palette_width)
1629 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
1630 grub_vbe_bios_getset_dac_palette_width()).
1631
1632 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
1633 check for return status.
1634 (grub_vbe_get_video_mode_info): When getting information for a packed
1635 mode (<= 8 bpp), obtain DAC palette width using
1636 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
1637 {red,green,blue}_mark_size.
1638
222671b2 16392009-08-04 Felix Zielcke <fzielcke@z-51.de>
1640
ecb1a6d9 1641 * commands/search.c (options): Fix help output to match actual code.
222671b2 1642
f84114f5 16432009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
1646 of homegrown code.
1647
bd288a20 16482009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 1649
1650 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
1651 on XFS or ReiserFS.
1652
8aab5e25 16532009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Support Apple partition map with sector size different from 512 bytes.
1656
1657 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
1658 (apple_partition_map_iterate): Respect 'aheader.blocksize'
1659 and 'apart.partmap_size'.
1660
6ad6258a 16612009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16622009-08-01 Robert Millan <rmh.grub@aybabtu.com>
1663
1664 Fix cpuid command.
1665
1666 * commands/i386/cpuid.c (options): New variable.
1667 (grub_cmd_cpuid): Return real error.
1668 (GRUB_MOD_INIT(cpuid)): Declare options.
1669
67459bc6 16702009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
1673 valid.
1674
fbc6ab54 16752009-07-31 Bean <bean123ch@gmail.com>
1676
1677 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
1678 log2_inode.
1679 (grub_fshelp_node): Move inode field to the end.
1680 (grub_xfs_data): Remove inode field.
1681 (grub_xfs_inode_block): Calculate inode size using sblock.
1682 (grub_xfs_inode_offset): Likewise.
1683 (grub_xfs_read_inode): Calculate inode size using sblock.
1684 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
1685 (grub_xfs_iterate_dir): Calculate inode size using sblock.
1686 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
1687 to match inode size.
1688 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
1689 not accessible when data is null.
1690 (grub_xfs_open): Likewise.
1691
f45d6cfc 16922009-07-31 Bean <bean123ch@gmail.com>
1693
1694 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
1695 Don't change pv->disk if it's already set.
1696
1697 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
1698 (grub_raid_register): ... here.
1699 (grub_raid_rescan): Removed.
1700
1701 * include/grub/raid.h (grub_raid_rescan): Removed.
1702
1703 * util/grub-fstest.c: Remove include file <grub/raid.h>.
1704 (fstest): Replace grub_raid_rescan with module fini function followed
1705 by init function.
1706
1707 * util/grub-probe.c: Add include file <grub/raid.h>.
1708 (probe_raid_level): New function.
1709 (probe): Detect abstraction by walking the disk device, support two
1710 level of abstraction (LVM on RAID) when detecting partition map.
1711
24443b5a 17122009-07-31 Pavel Roskin <proski@gnu.org>
1713
1714 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
1715 to grub_zalloc(), it was erroneous.
1716 Reported by Bean <bean123ch@gmail.com>
1717
a275d9e7 17182009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 1721 embedding zone, not only the first one.
a275d9e7 1722
56c5a47f 17232009-07-29 Joe Auricchio <jauricchio@gmail.com>
1724
1725 * term/gfxterm.c (clear_char): New function.
1726 (grub_virtual_screen_setup): Use clear_char.
1727 (scroll_up): Likewise.
1728 (grub_virtual_screen_cls): Likewise.
1729
67bb323a 17302009-07-29 Felix Zielcke <fzielcke@z-51.de>
1731
1732 * util/deviceiter.c (get_acceleraid_disk_name): New static
1733 function.
1734 (grub_util_iterate_devices): Handle Accelraid devices.
1735 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
1736
388a7c75 17372009-07-28 Robert Millan <rmh.grub@aybabtu.com>
1738
1739 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
1740 separator for the suggested gfxpayload string (';' collides with the
1741 parser and needs escaping).
1742
3bb7abcf 17432009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
1746 Clear direction flag before jumping to OS.
1747 (grub_multiboot2_real_boot): Likewise.
1748
2ddd36d7 17492009-07-28 Felix Zielcke <fzielcke@z-51.de>
1750
1751 * util/i386/pc/grub-install: Fix parsing of --disk-module
1752 option.
1753
c521b62b 17542009-07-28 Felix Zielcke <fzielcke@z-51.de>
1755
1756 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
1757 when embedding.
1758
880e0a0c 17592009-07-26 Felix Zielcke <fzielcke@z-51.de>
1760
1761 * util/grub-mkconfig.in (package_version): New variable.
1762 Use it do display the version.
1763
2366e356 17642009-07-25 Felix Zielcke <fzielcke@z-51.de>
1765
1766 * kern/file.c (grub_file_open): Revert to previous check with
1767 grub_errno.
1768
7ad8c80e 17692009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
1772 from help line. It's out of sync with code.
1773
72b9658b 17742009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
1777 entries on failed boot.
1778
77435277 17792009-07-25 Felix Zielcke <fzielcke@z-51.de>
1780
1781 * kern/file.c (grub_file_open): Fix an error check.
1782
fcaa8b21 17832009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
1784
35d16c74 1785 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
1786 partition map couldn't be identified.
fcaa8b21 1787
48904cd1 17882009-07-23 Pavel Roskin <proski@gnu.org>
1789
ef3c317f 1790 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
1791 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
1792 case of little endian words becomes just an optimization.
1793 Respect const modifier.
ad8ea1f4 1794 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 1795
48904cd1 1796 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
1797 to avoid loss of upper bits if align is unsigned and shorter
1798 than addr.
1799
260c9a89 18002009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 UUID support for UFS
1803
1804 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
1805 (grub_ufs_uuid): New function.
1806 (grub_ufs_fs): add .uuid
1807
f76ce889 18082009-07-21 Pavel Roskin <proski@gnu.org>
1809
1810 * kern/dl.c (grub_dl_check_header): Make static.
1811
6a6cbcaf 18122009-07-21 Felix Zielcke <fzielcke@z-51.de>
1813
1814 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
1815 add drivemap for Vista. It breaks Windows 7.
1816
cffcddb2 18172009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
1820 128 bytes
1821
1ef44b80 18222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Add BFS support
1825
1826 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
1827 (grub_fstest_SOURCES): Likewise.
1828 (pkglib_MODULES): Add befs.mod.
1829 (befs_mod_SOURCES): New variable.
1830 (befs_mod_CFLAGS): Likewise.
1831 (befs_mod_LDFLAGS): Likewise.
1832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
1833 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1835 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1836 (grub_setup_SOURCES): Likewise.
1837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1838 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1839 (grub_setup_SOURCES): Likewise.
1840 * fs/befs.c: New file.
1841 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
1842 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
1843 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
1844 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
1845 (B_KEY_INDEX_ALIGN): New declaration.
1846 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
1847 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
1848 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
1849 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
1850 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
1851 (grub_afs_mount) [MODE_BFS]: Likewise.
1852 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
1853 (grub_afs_fs): Use GRUB_AFS_FSNAME
1854 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
1855 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
1856 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
1857 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
1858
4f253044 18592009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
1860
1861 * util/getroot.c (find_root_device): Add support for MacOSX.
1862 * util/hostdisk.c: Likewise.
1863
57a55913 18642009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * font/font.c (find_glyph): Check whether a font is present to avoid
1867 segmentation fault.
75421ca9 1868
18692009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 1870
1871 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
1872
e98cd0c2 18732009-07-20 Pavel Roskin <proski@gnu.org>
1874
1875 * configure.ac: Trim excessively wordy excuses.
1876
1d2d169a 18772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 Add symlink, mtime and label support to AtheFS.
1880
1881 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
1882 (grub_afs_iterate_dir): Handle symlinks.
1883 (grub_afs_open): Use grub_afs_read_symlink.
1884 (grub_afs_dir): Likewise.
1885 Pass mtime.
1886 (grub_afs_label): New function.
1887 (grub_afs_fs): Add grub_afs_label.
1888 (grub_afs_read_symlink): New function.
1889
186f3189 18902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 Fix AtheFS support.
1893
1894 * fs/afs.c: Fix comments style.
1895 (grub_afs_blockrun): Declare as packed.
1896 (grub_afs_datastream): Likewise.
1897 (grub_afs_bnode): Likewise.
1898 (grub_afs_btree): Likewise.
1899 (grub_afs_sblock): Likewise.
1900 Declare `name' as char.
1901 (grub_afs_inode): Declare as packed.
1902 Change void *vnode to grub_uint32_t unused.
1903 (grub_afs_iterate_dir): Check that key_size is positive.
1904 (grub_afs_mount): Don't read superblock twice.
75421ca9 1905 (grub_afs_dir): Don't free node in case of error,
186f3189 1906 grub_fshelp_find_file already handles this.
1907 (grub_afs_open): Likewise.
1908
5680109e 19092009-07-19 Pavel Roskin <proski@gnu.org>
1910
1911 * Makefile.in: Remove LIBLZO and enable_lzo.
1912 * conf/i386-pc.rmk: Remove lzo support.
1913 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
1914 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
1915 support.
1916 * kern/i386/pc/lzo1x.S: Remove.
1917 * kern/i386/pc/startup.S: Remove lzo support.
1918 * util/i386/pc/grub-mkimage.c: Likewise.
1919
ac70fa32 19202009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
1923 * fs/xfs.c (grub_xfs_dir): Likewise.
1924 * fs/afs.c (grub_afs_dir): Likewise.
1925 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1926 (grub_iso9660_open): Likewise.
1927 * fs/jfs.c (grub_jfs_open): Likewise.
1928 * fs/ext2.c (grub_ext2_dir): Likewise.
1929 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
1930 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 1931
eab58da2 19322009-07-16 Pavel Roskin <proski@gnu.org>
1933
d2838156 1934 * configure.ac: Never add "-c" to CFLAGS.
1935
55c70904 1936 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
1937
43e6200c 1938 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
1939 grub_cv_cc_efiemu should be used.
1940
ce7a733d 1941 * configure.ac: Typo fixes.
1942
eab58da2 1943 * kern/mm.c (grub_zalloc): New function.
1944 (grub_debug_zalloc): Likewise.
1945 * include/grub/mm.h: Declare grub_zalloc() and
1946 grub_debug_zalloc().
1947 * util/misc.c (grub_zalloc): New function.
1948 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
1949 instead of grub_malloc(), remove unneeded initializations.
1950 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
1951 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
1952 * commands/parttool.c (grub_cmd_parttool): Likewise.
1953 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1954 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
1955 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
1956 * disk/usbms.c (grub_usbms_finddevs): Likewise.
1957 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
1958 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
1959 (grub_cmd_efiemu_pnvram): Likewise.
1960 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
1961 * fs/iso9660.c (grub_iso9660_mount): Likewise.
1962 (grub_iso9660_iterate_dir): Likewise.
1963 * fs/jfs.c (grub_jfs_opendir): Likewise.
1964 * fs/ntfs.c (list_file): Likewise.
1965 (grub_ntfs_mount): Likewise.
1966 * kern/disk.c (grub_disk_open): Likewise.
1967 * kern/dl.c (grub_dl_load_core): Likewise.
1968 * kern/elf.c (grub_elf_file): Likewise.
1969 * kern/env.c (grub_env_context_open): Likewise.
1970 (grub_env_set): Likewise.
1971 (grub_env_set_data_slot): Likewise.
1972 * kern/file.c (grub_file_open): Likewise.
1973 * kern/fs.c (grub_fs_blocklist_open): Likewise.
1974 * loader/i386/multiboot.c (grub_module): Likewise.
1975 * loader/xnu.c (grub_xnu_create_key): Likewise.
1976 (grub_xnu_create_value): Likewise.
1977 * normal/main.c (grub_normal_add_menu_entry): Likewise.
1978 (read_config_file): Likewise.
1979 * normal/menu_entry.c (make_screen): Likewise.
1980 * partmap/sun.c (sun_partition_map_iterate): Likewise.
1981 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
1982 * script/sh/script.c (grub_script_parse): Likewise.
1983 * video/bitmap.c (grub_video_bitmap_create): Likewise.
1984 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
1985 * video/readers/png.c (grub_png_output_byte): Likewise.
1986 (grub_video_reader_png): Likewise.
1987
830afef7 19882009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 1989
1990 Enable all targets that can be built by default
1991
830afef7 1992 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 1993 grub-mkfont and grub-fstest if they can be built
1994
ee293aee 19952009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Fix hang and segmentation fault in grub-emu-usb
1998
1999 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
2000 * util/usb.c (grub_libusb_devices): likewise
2001 (grub_libusb_init): rename to ...
2002 (GRUB_MOD_INIT (libusb)):...this
2003 (grub_libusb_fini): rename to ..
2004 (GRUB_MOD_FINI (libusb)):...this
2005 * disk/usbms.c (grub_usbms_transfer): fix retry logic
2006 * include/grub/disk.h (grub_raid_init): removed, it's useless
2007 (grub_raid_fini): likewise
2008 (grub_lvm_init): likewise
2009 (grub_lvm_fini): likewise
2010 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
2011 by grub_init_all
2012
94414221 20132009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 Fix libusb
2016
2017 * Makefile.in (LIBUSB): new macro
2018 * genmk.rb (Utility/print_tail): new method
2019 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
2020 (top level): call util.print_tail at the end.
2021
59ade63d 20222009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 Make FreeBSD accept zpool.cache
2025
2026 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
2027 type is /boot/zfs/zpool.cache
2028
a58da8c7 20292009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Fix 64-bit efiemu
2032
2033 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
2034 correct wrong typedef
2035 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
2036
20591577 20372009-07-15 Pavel Roskin <proski@gnu.org>
2038
560ca572 2039 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
2040 * kern/disk.c (struct grub_disk_cache): Likewise.
2041
e8e8e4fd 2042 * commands/probe.c (options): Typo fix.
2043
fde24e10 2044 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
2045 Increase to 0x5a to accommodate FAT32. Adjust other offsets
2046 accordingly.
2047 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
2048
379c54c1 2049 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
2050 the end of "Error" to make the message more readable.
2051
7bd8f5bf 2052 * boot/i386/pc/boot.S (kernel_segment): Remove.
2053 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
2054 for destination.
2055
40b132c5 2056 * boot/i386/pc/boot.S (boot_version): Remove.
2057 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2058 Remove.
2059
20591577 2060 * include/grub/i386/pc/boot.h: Sort all offsets.
2061 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
2062 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
2063 * boot/i386/pc/boot.S: Assert location of every offset listed in
2064 include/grub/i386/pc/boot.h.
2065
2df32b2c 20662009-07-13 Pavel Roskin <proski@gnu.org>
2067
44b5d879 2068 * include/grub/i386/coreboot/machine.h: Rename
2069 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
2070 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
2071 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
2072
17dc3751 2073 * kern/dl.c: Force native word size to suppress warnings when
2074 compiling grub-emu.
2075
2df32b2c 2076 * kern/device.c (grub_device_iterate): Change struct part_ent to
2077 hold the name, not a pointer to it. Use one grub_malloc() per
2078 partition, not two. Free partition_name if grub_malloc() fails.
2079 Set ents to NULL only before grub_partition_iterate() is called.
2080
75c59f59 20812009-07-11 Bean <bean123ch@gmail.com>
2082
2083 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
2084 childname.
2085
0ae1bf88 20862009-07-10 Bean <bean123ch@gmail.com>
20872009-07-10 Robert Millan <rmh.grub@aybabtu.com>
2088
2089 * kern/ieee1275/openfw.c (grub_children_iterate)
2090 (grub_devalias_iterate): Fix size evaluation for property or path
2091 strings, which was broken since r2132.
2092
8279cade 20932009-07-07 Pavel Roskin <proski@gnu.org>
2094
7d8a52d3 2095 * commands/search.c (search_file): Merge into ...
2096 (search_fs): ... this. Accept search type as argument.
2097 (grub_cmd_search): Pass search type to search_fs().
2098
25f9a05a 2099 * include/grub/util/console.h: New file.
2100 * util/console.c: Use it instead of grub/machine/console.h.
2101 * util/grub-emu.c: Likewise.
2102
8279cade 2103 * lib/arg.c (find_long_option): Remove.
2104 (find_long): Add `len' argument, make `s' const char *.
2105 (grub_arg_parse): Parse long options in place, not in a
2106 temporary buffer.
2107
4a11b60f 21082009-07-06 Pavel Roskin <proski@gnu.org>
2109
99f68041 2110 * commands/search.c (search_fs): Fix potential NULL pointer
2111 dereference.
2112
4a11b60f 2113 * commands/search.c (search_fs): Replace QUID macro with quid_fn
2114 function pointer.
2115
e110f4de 21162009-07-06 Daniel Mierswa <impulze@impulze.org>
2117
2118 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
2119 comparison.
2120
46eeb6a2 21212009-07-05 Pavel Roskin <proski@gnu.org>
2122
bab74958 2123 * include/grub/i386/linux.h (struct linux_kernel_params):
2124 Restore padding3, it's still needed.
2125
46eeb6a2 2126 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
2127 FreeBSD.
2128 * util/osdetect.lua: Likewise.
2129
b4a1dc79 21302009-07-05 Bean <bean123ch@gmail.com>
2131
2132 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
2133
2134 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
2135 (grub_lua_getenv): Likewise.
2136 (grub_lua_setenv): Likewise.
2137 (save_errno): New function.
2138 (push_result): Likewise.
2139 (grub_lua_enum_device): Likewise.
2140 (grub_lua_enum_file): Likewise.
2141 (grub_lua_file_open): Likewise.
2142 (grub_lua_file_close): Likewise.
2143 (grub_lua_file_seek): Likewise.
2144 (grub_lua_file_read): Likewise.
2145 (grub_lua_file_getline): Likewise.
2146 (grub_lua_file_getsize): Likewise.
2147 (grub_lua_file_getpos): Likewise.
2148 (grub_lua_file_eof): Likewise.
2149 (grub_lua_file_exist): Likewise.
2150 (grub_lua_add_menu): Likewise.
2151
2152 * script/lua/grub_lua.h (isupper): New inline function.
2153 (islower): Likewise.
2154 (ispunct): Likewise.
2155 (isxdigit): Likewise.
2156 (strcspn): Change to normal function.
2157 (strpbkr): New function declaration.
2158 (memchr): Likewise.
2159
2160 * script/lua/grub_main.c (scan_str): New function.
2161 (strcspn): Likewise.
2162 (strpbrk): Likewise.
2163 (memchr): Likewise.
2164
2165 * script/lua/linit.c (lualibs): Enable the string library.
2166
2167 * util/osdetect.lua: New file.
2168
2da92295 21692009-07-04 Robert Millan <rmh.grub@aybabtu.com>
2170
2171 * include/grub/i386/linux.h (struct linux_kernel_params): Add
2172 `capabilities' member.
2173
b2582ec9 21742009-07-02 Pavel Roskin <proski@gnu.org>
2175
2176 * genparttoollist.sh: Add missing newline at the end.
2177
32622956 21782009-07-01 Pavel Roskin <proski@gnu.org>
2179
87a7339e 2180 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
2181
d23af54e 2182 * util/hostdisk.c (open_device): Remove `const' from
2183 `sysctl_size', as sysctlbyname() can change it (in this case it
2184 doesn't actually happen).
2185
c94b18a9 2186 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
2187 using signed long int constants.
2188
c6cd3ef0 2189 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
2190 constant to avoid a warning on FreeBSD.
2191
0df63420 2192 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
2193 where it's needed.
2194
999577f1 2195 * Makefile.in: Install include/grub/machine symlink.
2196
6f41557f 2197 * Makefile.in: When installing symlinks, use "cp -fR", which
2198 works on FreeBSD and MacOSX.
2199 From Yves Blusseau <cl7m42e02@sneakemail.com>
2200
c8d22988 2201 * kern/dl.c (grub_dl_resolve_symbol): Make static.
2202 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
2203
1b96e952 2204 * util/misc.c: Move grub_reboot() and grub_halt() ...
2205 * util/grub-emu.c: ... here. Make main_env static.
2206 * include/grub/util/misc.h: Remove main_env.
2207
2ef0084d 2208 * kern/mm.c: Use correct format to print size_t.
2209
32622956 2210 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
2211 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
2212 * kern/powerpc/dl.c: Likewise.
2213 * kern/sparc64/dl.c: Likewise.
2214 * kern/x86_64/dl.c: Likewise.
2215
3f7f0cd0 22162009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2217
2218 Fix grub-emu build on sparc64-ieee1275.
2219
75421ca9 2220 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 2221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
2222
211d06b5 22232009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2224
2225 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
2226 (grub_reboot, grub_halt): New functions.
2227
2228 * util/i386/pc/misc.c: Delete. Update all users.
2229 * util/sparc64/ieee1275/misc.c: Likewise.
2230 * util/powerpc/ieee1275/misc.c: Likewise.
2231
aaf53e3c 22322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2233
2234 * conf/i386.rmk (setjmp_mod_SOURCES)
2235 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
2236 * conf/common.rmk (setjmp_mod_SOURCES)
2237 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
2238 to use $(target_cpu).
2239 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
2240 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
2241 * conf/powerpc-ieee1275.rmk: Likewise.
2242 * conf/sparc64-ieee1275.rmk: Likewise.
2243
2244 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
2245 $(target_cpu) for kern/$(target_cpu)/dl.c.
2246 * conf/i386-efi.rmk: Likewise.
2247 * conf/i386-ieee1275.rmk: Likewise.
2248 * conf/x86_64-efi.rmk: Likewise.
2249 * conf/i386-coreboot.rmk: Likewise.
2250 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
2251 $(target_cpu) for kern/$(target_cpu)/dl.c and for
2252 kern/$(target_cpu)/cache.S.
2253 * conf/sparc64-ieee1275.rmk: Likewise.
2254
a337130b 22552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2256
2257 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
2258 type to `grub_uint8_t', and adjust `padding9' accordingly.
2259
c6fe4d53 22602009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2261
b09db61d 2262 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
2263
c6fe4d53 2264 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
2265 assembly in final jump, using register constraints.
2266
b09db61d 2267 (grub_linux_boot): For text mode, initialize `have_vga' using
2268 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
2269
2270 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
2271 right before the final jump.
2272
2273 Set `video_mode' to 0x3.
2274
2275 Document initialization of `video_page', `video_mode' and
2276 `video_ega_bx'.
2277
28333ad0 22782009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2279
2280 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
2281 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 2282 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 2283
02164e1b 22842009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2285
2286 Fix build on Debian / sparc.
2287
2288 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
2289
18b6c557 22902009-06-28 Pavel Roskin <proski@gnu.org>
2291
85f2aab6 2292 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
2293 fix a warning.
2294
18b6c557 2295 * util/grub.d/10_linux.in: Match SUSE style initrd names.
2296
ad760f81 22972009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2298
2299 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
2300 `err'.
2301
87a4623b 23022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2303
2304 Revert r2338.
2305
2306 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
2307 file can't be opened. grub_file_open() is already supposed to set
75421ca9 2308 grub_errno / grub_errmsg appropriately.
87a4623b 2309 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2310
8231fb77 23112009-06-27 Pavel Roskin <proski@gnu.org>
23122009-06-27 Robert Millan <rmh.grub@aybabtu.com>
2313
2314 * include/grub/dl.h: Include grub/elf.h.
2315 (struct grub_dl): Add symtab field.
2316 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
2317 GRUB_MODULES_MACHINE_READONLY.
2318 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
2319 of the header for read-only modules.
2320 (grub_dl_unload): Free mod->symtab for read-only modules.
2321 * kern/i386/dl.c: Use mod->symtab.
2322 * kern/powerpc/dl.c: Likewise.
2323 * kern/sparc64/dl.c: Likewise.
2324 * kern/x86_64/dl.c: Likewise.
2325
2326 * conf/i386-qemu.rmk: New file.
2327 * kern/i386/qemu/startup.S: Likewise.
2328 * kern/i386/qemu/mmap.c: Likewise.
2329 * boot/i386/qemu/boot.S: Likewise.
2330 * include/grub/i386/qemu/time.h: Likewise.
2331 * include/grub/i386/qemu/serial.h: Likewise.
2332 * include/grub/i386/qemu/kernel.h: Likewise.
2333 * include/grub/i386/qemu/console.h: Likewise.
2334 * include/grub/i386/qemu/boot.h: Likewise.
2335 * include/grub/i386/qemu/init.h: Likewise.
2336 * include/grub/i386/qemu/machine.h: Likewise.
2337 * include/grub/i386/qemu/loader.h: Likewise.
2338 * include/grub/i386/qemu/memory.h: Likewise.
2339
2340 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
2341 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
2342 [qemu] (pkglib_IMAGES): Add `boot.img'.
2343 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
2344 [qemu] (boot_img_FORMAT): New variables.
2345 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
2346 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
2347 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
2348 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2349 [qemu] (kernel_img_FORMAT): New variables.
2350
2351 * configure.ac: Recognise `i386-qemu'.
2352
2353 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
2354 (for no compression).
2355 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
2356 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
2357 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
2358 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
2359 ifdefs).
2360
97fe384e 23612009-06-27 Pavel Roskin <proski@gnu.org>
2362
2363 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
2364 read.
2365 * efiemu/prepare32.c: Likewise.
2366 * efiemu/prepare64.c: Likewise.
2367
c402ab17 23682009-06-26 Pavel Roskin <proski@gnu.org>
2369
2370 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
2371 * include/grub/elf.h: Define symbols without "32" or "64" based
2372 on GRUB_TARGET_WORDSIZE.
2373 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
2374 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
2375 ELF definitions.
2376 * efiemu/loadcore64.c: Likewise.
2377 * loader/i386/bsd32.c: Likewise.
2378 * loader/i386/bsd64.c: Likewise.
2379 * kern/dl.c: Remove own ELF definitions.
2380 * util/i386/efi/grub-mkimage.c: Likewise.
2381
9bbdfd4d 23822009-06-23 Robert Millan <rmh.grub@aybabtu.com>
2383
2384 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
2385 segment 0x0 unconditionally, because the reference generated by
2386 GAS is an absolute address.
2387
a42ce6e9 23882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2389
2390 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
2391 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
2392
c952cf92 23932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2394
2395 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
2396 indexes. Check for -f explicitly.
cc3752ad 2397 (search_file): Improve error message.
2398 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 2399
132a0a59 24002009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2401
2402 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
2403 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
2404
387a140c 24052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2406
2407 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
2408 * conf/i386-ieee1275.rmk: Likewise.
2409 * conf/i386-coreboot.rmk: Likewise.
2410
2411 * kern/i386/pc/startup.S (grub_stop): Remove function.
2412 * kern/i386/ieee1275/startup.S: Likewise.
2413 * kern/i386/coreboot/startup.S: Likewise.
2414 * kern/i386/misc.S (grub_stop): New function.
2415
41da9665 24162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2417
2418 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
2419 * kern/i386/realmode.S (real_to_prot): ... to here.
2420
bf337234 24212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
2422
2423 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
2424 with `kernel.img'.
2425 (kernel_elf_SOURCES): Rename to ...
2426 (kernel_img_SOURCES): ... this.
2427 (kernel_elf_HEADERS): Rename to ...
2428 (kernel_img_HEADERS): ... this. Update all users.
2429 (kernel_elf_ASFLAGS): Rename to ...
2430 (kernel_img_ASFLAGS): ... this.
2431 (kernel_elf_CFLAGS): Rename to ...
2432 (kernel_img_CFLAGS): ... this.
2433 (kernel_elf_LDFLAGS): Rename to ...
2434 (kernel_img_LDFLAGS): ... this.
2435 * conf/i386-coreboot.rmk: Likewise.
2436 * conf/powerpc-ieee1275.rmk: Likewise.
2437
2438 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
2439 with "kernel.img".
2440
f52196ff 24412009-06-21 Pavel Roskin <proski@gnu.org>
2442
c3cee413 2443 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
2444 to match nested functions.
2445 * loader/sparc64/ieee1275/linux.c: Likewise.
2446
f52196ff 2447 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
2448
58750afc 24492009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2450
2451 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
2452 all i386 platforms.
2453
15355c7d 24542009-06-21 Robert Millan <rmh.grub@aybabtu.com>
2455
2456 Fix asm file handling on ELF, and remove workarounds.
2457
2458 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 2459 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 2460 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
2461 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
2462
3f3ec72b 24632009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 Load BSD ELF modules
2466
2467 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
2468 and loader/i386/bsd64.c
2469 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
2470 (FREEBSD_MODTYPE_ELF_MODULE): New definition
2471 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
2472 (grub_freebsd_load_elfmodule32): New declaration
2473 (grub_freebsd_load_elfmoduleobj64): Likewise
2474 (grub_freebsd_load_elf_meta32): Likewise
2475 (grub_freebsd_load_elf_meta64): Likewise
2476 (grub_freebsd_add_meta): Likewise
2477 (grub_freebsd_add_meta_module): Likewise
2478 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
2479 (grub_freebsd_add_meta_module): Likewise and move module-specific
2480 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
2481 (grub_cmd_freebsd): Add elf-kernel specific parts
2482 based on grub_freebsd_add_meta_module
2483 (grub_cmd_freebsd_module): Add type parsing moved from
2484 grub_freebsd_add_meta_module
2485 (grub_cmd_freebsd_module_elf): New function
2486 (cmd_freebsd_module_elf): New variable
2487 (GRUB_MOD_INIT): Register freebsd_module_elf
2488 * loader/i386/bsd32.c: New file
2489 * loader/i386/bsd64.c: Likewise
2490 * loader/i386/bsdXX.c: Likewise
2491 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
2492 (grub_elf64_load): Likewise
2493 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
2494 All users updated
2495 (grub_elf64_load_hook_t): Likewise
2496
0db15301 24972009-06-21 Colin Watson <cjwatson@ubuntu.com>
2498
2499 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
2500 variable.
2501 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
2502 don't write a menu entry for recovery mode.
2503
546796c1 25042009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2505
2506 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
2507 after it's no longer needed.
2508
cd7310d5 25092009-06-20 Robert Millan <rmh.grub@aybabtu.com>
2510
2511 * include/grub/i386/loader.h (grub_linux_prot_size)
2512 (grub_linux_tmp_addr, grub_linux_real_addr)
2513 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
2514 GRUB_MACHINE_PCBIOS.
2515 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
2516 common grub_util_info() call to ...
2517 (generate_image): ... here.
2518 Fix use of uninitialized memory, comparison of signed with
2519 unsigned integers and memory leak.
2520 Remove bogus module address message.
2521
ab32d3b5 25222009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
2525 grub_raid_register
2526 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
2527
024ef597 25282009-06-19 Pavel Roskin <proski@gnu.org>
2529
2530 * configure.ac: Remove stray AC_MSG_CHECKING.
2531
3ac72b51 25322009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 2535
e14cd814 25362009-06-18 Pavel Roskin <proski@gnu.org>
2537
2538 * conf/common.rmk: Add fs_file.mod.
2539 * disk/fs_file.c: New file.
2540 * include/grub/disk.h (enum grub_disk_dev_id): Add
2541 GRUB_DISK_DEVICE_FILE_ID.
2542
26586d98 25432009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 Fix build with Apple's toolchain. Part 2
2546
2547 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
2548 a fake start
2549
26de2bcd 25502009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Fix build with Apple's toolchain. Part 1
2553
2554 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
2555 for long calls
2556 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 2557 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 2558 Apple's toolchain
2559
09b3490b 25602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 Fix warnings
2563
2564 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
2565 (decomp_block): initialize ch
2566 use grub_memcpy instead of memcpy
2567
c22a006a 25682009-06-17 Pavel Roskin <proski@gnu.org>
2569
d3638678 2570 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
2571 version, use declarations needed to use vga_text as the startup
2572 console.
2573
c22a006a 2574 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
2575 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
2576 the kernel.
2577 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
2578 and grub_at_keyboard_fini(), it's done on module load and
2579 unload.
2580
05b129e0 25812009-06-17 Felix Zielcke <fzielcke@z-51.de>
2582
2583 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
2584 file can't be found.
2585 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2586
cf24ed9e 25872009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 Fix newline handling
2590
2591 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 2592 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 2593 (grub_script_yylex): don't segfault on unterminated script
2594 newline terminates command and variable
2595
74aa8e4b 25962009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 avoid double grub_adjust_range call. Bug reported by David Simner
2599
2600 * kern/disk.c (grub_disk_write): change to raw disk access before
2601 calling disk_read
2602
1bd265f3 26032009-06-17 Colin Watson <cjwatson@ubuntu.com>
2604
2605 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
2606 spaces, for the benefit of help2man.
2607 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2608
a2d08c06 26092009-06-16 Pavel Roskin <proski@gnu.org>
2610
2611 * kern/i386/halt.c: Include grub/machine/init.h.
2612 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
2613
b97bcb19 26142009-06-16 Felix Zielcke <fzielcke@z-51.de>
2615
2616 * util/grub.d/30_os-prober.in: Use ${root} in the generated
2617 drivemap menuentry.
2618
0644f96c 26192009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
2620
2621 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
2622 `echo' command.
2623
3ef17a2e 26242009-06-16 Pavel Roskin <proski@gnu.org>
2625
2626 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
2627 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
2628 save %dx, we only need %dl and we never change it.
2629 * boot/i386/pc/cdboot.S: Don't set the root drive.
2630 * boot/i386/pc/pxeboot.S: Likewise.
2631 * include/grub/i386/pc/boot.h: Remove
2632 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
2633 GRUB_BOOT_MACHINE_DRIVE_CHECK.
2634 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
2635 * kern/i386/pc/init.c (make_install_device): Remove references
2636 to grub_root_drive.
2637 * kern/i386/pc/startup.S: Likewise.
2638 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
2639
693fe637 26402009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 xnu_uuid command
2643
2644 * commands/xnu_uuid.c: new file
2645 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
2646 (xnu_uuid_mod_SOURCES): new variable
2647 (xnu_uuid_mod_CFLAGS): likewise
2648 (xnu_uuid_mod_LDFLAGS): likewise
2649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2650 * conf/i386-ieee1275.rmk: likewise
2651 * conf/i386-pc.rmk: likewise
2652 * conf/powerpc-ieee1275.rmk: likewise
2653 * conf/sparc64-ieee1275.rmk: likewise
2654 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
2655
c9da87d0 26562009-06-16 Pavel Roskin <proski@gnu.org>
2657
2658 * configure.ac: Avoid '==' in test command, it's not portable.
2659
9c6f4596 26602009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 Probe command
2663
2664 * commands/probe.c: new file
2665 * conf/common.rmk (pkglib_MODULES): add probe.mod
2666 (probe_mod_SOURCES): new variable
2667 (probe_mod_CFLAGS): likewise
2668 (probe_mod_LDFLAGS): likewise
2669 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
2670 * conf/i386-ieee1275.rmk: likewise
2671 * conf/i386-pc.rmk: likewise
2672 * conf/powerpc-ieee1275.rmk: likewise
2673 * conf/sparc64-ieee1275.rmk: likewise
2674
70b7f9fd 26752009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Fix handling of string like \"hello\" and "a
2678 b"
2679
2680 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
2681 (grub_script_yylex): fix parsing of quoting, escaping and newline
2682
71c79a6b 26832009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2684
dd74360c 2685 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 2686 handling
dd74360c 2687
0644f96c 26882009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 2689
2690 * util/grub-mkconfig.in: Fix parsing of --output option.
2691
e40893c3 26922009-06-12 Pavel Roskin <proski@gnu.org>
2693
2694 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
2695 genmk.rb don't need to be generated or installed.
2696
3a1acfe2 26972009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * commands/i386/pc/drivemap_int13h.S: add more comments
2700
3a4575d4 27012009-06-11 Pavel Roskin <proski@gnu.org>
2702
0658e928 2703 * Makefile.in (uninstall): Uninstall manuals.
2704
ca0388f0 2705 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
2706 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
2707 and update-grub_lib in two places.
2708 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
2709
e3b27c39 2710 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
2711 a compiler warning.
2712
3a4575d4 2713 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
2714 `entry_lo' to fix variable shadowing.
2715
af1f4f55 27162009-06-11 Christian Franke <franke@computer.org>
2717
2718 * kern/misc.c (__enable_execute_stack): Add missing return type
2719 to prevent gcc warning.
2720
5225e649 27212009-06-11 Felix Zielcke <fzielcke@z-51.de>
2722
2723 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
2724
7d83bd47 27252009-06-11 Pavel Roskin <proski@gnu.org>
2726
c1cb63ba 2727 * Makefile.in: Don't rely on any scripts being executable.
2728 Always use $(SHELL) to run shell scripts.
2729
7d83bd47 2730 * configure.ac: Always define ___main if using -nostdlib. This
2731 fixes tests on Cygwin.
2732
948f48e7 27332009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
2734
2735 UDF fix
2736
7d83bd47 2737 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 2738 is in bytes and not in blocks
7d83bd47 2739
8ada9bc1 27402009-06-11 Pavel Roskin <proski@gnu.org>
2741
2742 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
2743 warning.
2744
25ad2323 27452009-06-11 Felix Zielcke <fzielcke@z-51.de>
2746
2747 * util/grub.d/30_os-prober.in: Fix a comment. Source
2748 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
2749 to set the root device. Place drivemap command in the generated
2750 chain entry.
2751
e65acb0c 27522009-06-11 Pavel Roskin <proski@gnu.org>
2753
2754 * configure.ac: Remove host_m32. Issues with 64-bit utilities
2755 have long been resolved.
2756
f285fe2d 27572009-06-11 Colin Watson <cjwatson@ubuntu.com>
2758
bd47b0b5 2759 * util/grub.d/10_linux.in: Capitalise "Linux".
2760
f285fe2d 2761 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
2762
a0c62e4e 27632009-06-11 Pavel Roskin <proski@gnu.org>
2764
b6783cb2 2765 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
2766 fix a gcc warning and ensure that the function won't ever exit.
2767
dde032e8 2768 * kern/i386/ieee1275/init.c: Add missing prototype for
2769 grub_stop_floppy().
2770
22cd079d 2771 * loader/ieee1275/multiboot2.c [__i386__]: Include
2772 grub/cpu/multiboot.h.
2773
a0c62e4e 2774 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
2775 casts to short - they are not portable and cause warnings. Fix
2776 use of uninitialized values in input_buf. Use ARRAY_SIZE.
2777
63963d17 27782009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Drivemap fixes
2781
2782 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
2783 new function
2784 (grub_get_root_biosnumber_saved): new variable
2785 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
2786 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 2787 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 2788 %dx after the call if necessary
2789 * conf/common.rmk (pkglib_MODULES): remove boot.mod
2790 (boot_mod_SOURCES): remove
2791 (boot_mod_CFLAGS): remove
2792 (boot_mod_LDFLAGS): remove
2793 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
2794 (boot_mod_SOURCES): new variable
2795 (boot_mod_CFLAGS): likewise
2796 (boot_mod_LDFLAGS): likewise
2797 * conf/i386-efi.rmk: likewise
2798 * conf/i386-ieee1275.rmk: likewise
2799 * conf/i386-pc.rmk: likewise
2800 * conf/powerpc-ieee1275.rmk: likewise
2801 * conf/sparc64-ieee1275.rmk: likewise
2802 * conf/x86_64-efi.rmk: likewise
2803 * include/grub/i386/pc/biosnum.h: new file
2804 * lib/i386/pc/biosnum.c: likewise
2805 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
2806 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
2807 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 2808
33abf7ae 28092009-06-10 Pavel Roskin <proski@gnu.org>
2810
5ac35b35 2811 * io/gzio.c (test_header): Don't reuse one buffer for all data.
2812 Use separate variables. Read only the file size at the end, but
2813 not the checksum that we don't use.
2814
5c5215d5 2815 * kern/file.c (grub_file_read): Use void pointer for the buffer.
2816 Adjust all callers.
2817
27d5fef7 2818 * kern/ieee1275/openfw.c: Remove libc includes.
2819 * kern/ieee1275/cmain.c: Likewise.
2820 * include/grub/ieee1275/ieee1275.h: Likewise.
2821
33abf7ae 2822 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
2823 compiler warnings.
2824
19d50c2b 28252009-06-10 Felix Zielcke <fzielcke@z-51.de>
2826
2827 * Makefile.in: Remove all trailing whitespace.
2828 * conf/i386-pc.rmk: Likewise.
2829 * conf/powerpc-ieee1275.rmk: Likewise.
2830 * conf/sparc64-ieee1275.rmk: Likewise.
2831 * docs/grub.texi: Likewise.
2832 * docs/texinfo.tex: Likewise.
2833 * disk/fs_uuid.c: Likewise.
2834 * disk/lvm.c: Likewise.
2835 * disk/scsi.c: Likewise.
2836 * disk/ata.c: Likewise.
2837 * disk/ieee1275/ofdisk.c: Likewise.
2838 * disk/i386/pc/biosdisk.c: Likewise.
2839 * disk/host.c: Likewise.
2840 * disk/raid.c: Likewise.
2841 * disk/efi/efidisk.c: Likewise.
2842 * disk/usbms.c: Likewise.
2843 * disk/memdisk.c: Likewise.
2844 * disk/loopback.c: Likewise.
2845 * kern/powerpc/dl.c: Likewise.
2846 * kern/device.c: Likewise.
2847 * kern/dl.c: Likewise.
2848 * kern/sparc64/dl.c: Likewise.
2849 * kern/ieee1275/ieee1275.c: Likewise.
2850 * kern/term.c: Likewise.
2851 * kern/fs.c: Likewise.
2852 * kern/i386/dl.c: Likewise.
2853 * kern/i386/pc/startup.S: Likewise.
2854 * kern/i386/pc/init.c: Likewise.
2855 * kern/i386/pc/mmap.c: Likewise.
2856 * kern/i386/pc/lzo1x.S: Likewise.
2857 * kern/i386/ieee1275/init.c: Likewise.
2858 * kern/i386/realmode.S: Likewise.
2859 * kern/i386/tsc.c: Likewise.
2860 * kern/partition.c: Likewise.
2861 * kern/corecmd.c: Likewise.
2862 * kern/file.c: Likewise.
2863 * kern/efi/efi.c: Likewise.
2864 * kern/efi/init.c: Likewise.
2865 * kern/efi/mm.c: Likewise.
2866 * kern/main.c: Likewise.
2867 * kern/err.c: Likewise.
2868 * kern/env.c: Likewise.
2869 * kern/disk.c: Likewise.
2870 * kern/generic/millisleep.c: Likewise.
2871 * kern/generic/rtc_get_time_ms.c: Likewise.
2872 * kern/misc.c: Likewise.
2873 * kern/parser.c: Likewise.
2874 * genmk.rb: Likewise.
2875 * configure.ac: Likewise.
2876 * boot/i386/pc/diskboot.S: Likewise.
2877 * boot/i386/pc/pxeboot.S: Likewise.
2878 * boot/i386/pc/boot.S: Likewise.
2879 * boot/i386/pc/lnxboot.S: Likewise.
2880 * boot/i386/pc/cdboot.S: Likewise.
2881 * parttool/pcpart.c: Likewise.
2882 * video/readers/tga.c: Likewise.
2883 * video/video.c: Likewise.
2884 * video/bitmap.c: Likewise.
2885 * lib/envblk.c: Likewise.
2886 * lib/i386/setjmp.S: Likewise.
2887 * fs/xfs.c: Likewise.
2888 * fs/afs.c: Likewise.
2889 * fs/fat.c: Likewise.
2890 * fs/ntfs.c: Likewise.
2891 * fs/udf.c: Likewise.
2892 * fs/affs.c: Likewise.
2893 * fs/iso9660.c: Likewise.
2894 * fs/hfs.c: Likewise.
2895 * fs/fshelp.c: Likewise.
2896 * fs/ext2.c: Likewise.
2897 * fs/jfs.c: Likewise.
2898 * fs/reiserfs.c: Likewise.
2899 * fs/hfsplus.c: Likewise.
2900 * fs/minix.c: Likewise.
2901 * fs/cpio.c: Likewise.
2902 * fs/sfs.c: Likewise.
2903 * fs/ufs.c: Likewise.
2904 * efiemu/prepare.c: Likewise.
2905 * efiemu/loadcore_common.c: Likewise.
2906 * efiemu/runtime/efiemu.sh: Likewise.
2907 * efiemu/runtime/efiemu.S: Likewise.
2908 * efiemu/runtime/efiemu.c: Likewise.
2909 * efiemu/pnvram.c: Likewise.
2910 * efiemu/main.c: Likewise.
2911 * efiemu/i386/pc/cfgtables.c: Likewise.
2912 * efiemu/i386/loadcore64.c: Likewise.
2913 * efiemu/i386/loadcore32.c: Likewise.
2914 * efiemu/loadcore.c: Likewise.
2915 * efiemu/symbols.c: Likewise.
2916 * efiemu/mm.c: Likewise.
2917 * include/grub/autoefi.h: Likewise.
2918 * include/grub/datetime.h: Likewise.
2919 * include/grub/term.h: Likewise.
2920 * include/grub/hfs.h: Likewise.
2921 * include/grub/lvm.h: Likewise.
2922 * include/grub/i386/tsc.h: Likewise.
2923 * include/grub/i386/linux.h: Likewise.
2924 * include/grub/i386/xnu.h: Likewise.
2925 * include/grub/i386/efiemu.h: Likewise.
2926 * include/grub/i386/pc/biosdisk.h: Likewise.
2927 * include/grub/i386/pc/memory.h: Likewise.
2928 * include/grub/i386/pc/vbe.h: Likewise.
2929 * include/grub/parttool.h: Likewise.
2930 * include/grub/video.h: Likewise.
2931 * include/grub/memory.h: Likewise.
2932 * include/grub/fs.h: Likewise.
2933 * include/grub/partition.h: Likewise.
2934 * include/grub/xnu.h: Likewise.
2935 * include/grub/efi/api.h: Likewise.
2936 * include/grub/efi/pe32.h: Likewise.
2937 * include/grub/efi/memory.h: Likewise.
2938 * include/grub/multiboot.h: Likewise.
2939 * include/grub/usbdesc.h: Likewise.
2940 * include/grub/multiboot2.h: Likewise.
2941 * include/grub/acpi.h: Likewise.
2942 * include/grub/efiemu/efiemu.h: Likewise.
2943 * include/grub/disk.h: Likewise.
2944 * include/grub/ieee1275/ieee1275.h: Likewise.
2945 * include/grub/net.h: Likewise.
2946 * include/grub/machoload.h: Likewise.
2947 * include/grub/macho.h: Likewise.
2948 * include/multiboot.h: Likewise.
2949 * genmoddep.awk: Likewise.
2950 * normal/main.c: Likewise.
2951 * normal/menu_entry.c: Likewise.
2952 * normal/menu_viewer.c: Likewise.
2953 * normal/completion.c: Likewise.
2954 * normal/cmdline.c: Likewise.
2955 * normal/misc.c: Likewise.
2956 * normal/datetime.c: Likewise.
2957 * bus/usb/usbtrans.c: Likewise.
2958 * bus/usb/ohci.c: Likewise.
2959 * bus/usb/uhci.c: Likewise.
2960 * bus/usb/usb.c: Likewise.
2961 * mmap/efi/mmap.c: Likewise.
2962 * mmap/i386/pc/mmap_helper.S: Likewise.
2963 * mmap/i386/pc/mmap.c: Likewise.
2964 * mmap/i386/mmap.c: Likewise.
2965 * mmap/i386/uppermem.c: Likewise.
2966 * mmap/mmap.c: Likewise.
2967 * commands/acpi.c: Likewise.
2968 * commands/echo.c: Likewise.
2969 * commands/blocklist.c: Likewise.
2970 * commands/loadenv.c: Likewise.
2971 * commands/usbtest.c: Likewise.
2972 * commands/boot.c: Likewise.
2973 * commands/parttool.c: Likewise.
2974 * commands/search.c: Likewise.
2975 * commands/cat.c: Likewise.
2976 * commands/i386/pc/play.c: Likewise.
2977 * commands/i386/pc/drivemap.c: Likewise.
2978 * commands/i386/pc/vbeinfo.c: Likewise.
2979 * commands/i386/pc/acpi.c: Likewise.
2980 * commands/i386/pc/vbetest.c: Likewise.
2981 * commands/ls.c: Likewise.
2982 * commands/cmp.c: Likewise.
2983 * commands/test.c: Likewise.
2984 * commands/efi/acpi.c: Likewise.
2985 * commands/gptsync.c: Likewise.
2986 * commands/help.c: Likewise.
2987 * partmap/amiga.c: Likewise.
2988 * partmap/apple.c: Likewise.
2989 * partmap/acorn.c: Likewise.
2990 * partmap/pc.c: Likewise.
2991 * partmap/sun.c: Likewise.
2992 * partmap/gpt.c: Likewise.
2993 * script/sh/lexer.c: Likewise.
2994 * script/sh/function.c: Likewise.
2995 * font/font.c: Likewise.
2996 * font/font_cmd.c: Likewise.
2997 * loader/powerpc/ieee1275/linux.c: Likewise.
2998 * loader/efi/chainloader.c: Likewise.
2999 * loader/multiboot_loader.c: Likewise.
3000 * loader/macho.c: Likewise.
3001 * loader/i386/multiboot.c: Likewise.
3002 * loader/i386/linux.c: Likewise.
3003 * loader/i386/pc/linux.c: Likewise.
3004 * loader/i386/pc/multiboot2.c: Likewise.
3005 * loader/i386/pc/chainloader.c: Likewise.
3006 * loader/i386/pc/xnu.c: Likewise.
3007 * loader/i386/bsd_trampoline.S: Likewise.
3008 * loader/i386/efi/linux.c: Likewise.
3009 * loader/i386/multiboot_elfxx.c: Likewise.
3010 * loader/i386/bsd_helper.S: Likewise.
3011 * loader/i386/bsd.c: Likewise.
3012 * loader/i386/linux_trampoline.S: Likewise.
3013 * loader/i386/xnu_helper.S: Likewise.
3014 * loader/i386/xnu.c: Likewise.
3015 * loader/i386/bsd_pagetable.c: Likewise.
3016 * loader/i386/multiboot_helper.S: Likewise.
3017 * loader/xnu.c: Likewise.
3018 * loader/xnu_resume.c: Likewise.
3019 * io/gzio.c: Likewise.
3020 * term/efi/console.c: Likewise.
3021 * term/terminfo.c: Likewise.
3022 * term/ieee1275/ofconsole.c: Likewise.
3023 * term/i386/pc/serial.c: Likewise.
3024 * term/i386/pc/vesafb.c: Likewise.
3025 * term/i386/pc/vga.c: Likewise.
3026 * term/usb_keyboard.c: Likewise.
3027 * term/gfxterm.c: Likewise.
3028 * aclocal.m4: Likewise.
3029 * util/lvm.c: Likewise.
3030 * util/grub.d/30_os-prober.in: Likewise.
3031 * util/grub.d/10_hurd.in: Likewise.
3032 * util/console.c: Likewise.
3033 * util/grub-macho2img.c: Likewise.
3034 * util/grub-probe.c: Likewise.
3035 * util/hostfs.c: Likewise.
3036 * util/i386/pc/grub-mkimage.c: Likewise.
3037 * util/i386/pc/grub-setup.c: Likewise.
3038 * util/i386/efi/grub-mkimage.c: Likewise.
3039 * util/grub-mkconfig.in: Likewise.
3040 * util/raid.c: Likewise.
3041 * util/resolve.c: Likewise.
3042 * util/grub-mkdevicemap.c: Likewise.
3043 * util/grub-emu.c: Likewise.
3044 * util/getroot.c: Likewise.
3045 * util/hostdisk.c: Likewise.
3046 * util/usb.c: Likewise.
3047 * util/grub-editenv.c: Likewise.
3048 * util/misc.c: Likewise.
3049
d2d49665 30502009-06-10 Felix Zielcke <fzielcke@z-51.de>
3051
3052 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
3053 `genparttoollist.sh'.
3054 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
3055 Add `*.sh' to the list find searches for and change `mdate.sh'
3056 to `mdate-sh'.
3057
fe052e37 30582009-06-10 Pavel Roskin <proski@gnu.org>
3059
2763ac18 3060 * include/grub/multiboot2.h: Provide compatibility defines for
3061 multiboot2.h.
3062 * include/multiboot2.h: Include stdint.h only if needed, using
3063 angle brackets.
3064 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
3065 grub/multiboot2.h.
3066 * loader/ieee1275/multiboot2.c: Likewise.
3067 * loader/multiboot2.c: Likewise.
3068 * loader/multiboot_loader.c: Likewise.
3069
437e6adc 3070 * configure.ac: Use -nostdlib when probing for the target. It
3071 should not be required to have libc for the target.
3072
06a6836c 3073 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
3074 they fail without libc headers for the target.
3075 * include/grub/powerpc/libgcc.h: Use weak attribute for all
3076 exports.
3077 * include/grub/sparc64/libgcc.h: Likewise. Don't use
3078 preprocessor conditionals.
3079
fe052e37 3080 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
3081 build system doesn't need to be aware of the tar.c internals.
3082
afd22553 30832009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 3084
afd22553 3085 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 3086
6b787c4f 30872009-06-09 Robert Millan <rmh.grub@aybabtu.com>
3088
3089 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
3090 disk limit to 26 for IDE, Virtio, Xen and SCSI.
3091
30922009-06-09 Felix Zielcke <fzielcke@z-51.de>
3093
3094 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 3095 aren't available if ata.mod gets used.
6b787c4f 3096
473d1e45 30972009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 3098
473d1e45 3099 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 3100 initialising controller.
473d1e45 3101 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 3102
255a27d4 31032009-06-08 Felix Zielcke <fzielcke@z-51.de>
3104
3105 * util/i386/pc/grub-install.in: Add a parameter --disk-module
3106 to choose between ata and biosdisk module on i386-pc.
3107
473d1e45 31082009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 3109
d55842d8 3110 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
3111 Subclass and Programming Interface fields in terms of the 3 byte
3112 Class Code register.
3113 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
3114
fa5db0b1 3115 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
3116 interface is OHCI. Add grub_dprintf for symmetry with
3117 bus/usb/uhci.c.
3118 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
3119 interface is UHCI. Add interf variable for programming
3120 interface. Print interface with class/subclass.
3121
c0947beb 3122 * bus/usb/ohci.c: Set interf with correct field.
3123
69da8877 3124 * bus/usb/uhci.c: Remove unneeded doubled lines.
3125 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
3126 Remove whitespace inside comment.
3127
9e172e30 31282009-06-08 Robert Millan <rmh.grub@aybabtu.com>
3129
3130 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
3131 as fallback an equivalent option without depth.
3132
de65ee2b 31332009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 Not fail if unable to retrieve C/H/S on LBA disks
3136
473d1e45 3137 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 3138 if unable to retrieve C/H/S on LBA disks
3139
b57ea2c9 31402009-06-08 Pavel Roskin <proski@gnu.org>
3141
3142 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
3143 about aliasing.
3144
af361263 31452009-06-08 Felix Zielcke <fzielcke@z-51.de>
3146
3147 * Makefile.in (uninstall): Remove all $lib_DATA files.
3148
4c9ec6b3 31492009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 Bugfix: install on partitionless device
3152
3153 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
3154 is a whole disk
3155
e76fc924 31562009-06-08 Felix Zielcke <fzielcke@z-51.de>
3157
3158 * Makefile.in (uninstall): Remove all $include_DATA files.
3159
ba5a0d05 31602009-06-08 Felix Zielcke <fzielcke@z-51.de>
3161
3162 * commands/true.c: New file. Implement the true and false commands.
3163 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
3164 (true_mod_SOURCES): New variable.
3165 (true_mod_CFLAGS): Likewise.
3166 (true_mod_LDFLAGS): Likewise.
3167
c8048e32 31682009-06-05 Colin D Bennett <colin@gibibit.com>
3169
3170 Optimized font character lookup using binary search instead of linear
3171 search. Fonts now are required to have the character index ordered by
3172 code point.
3173
3174 * font/font.c (load_font_index): Verify that fonts have ordered
3175 character indices.
3176 (find_glyph): Use binary search instead of linear search to find a
3177 character in a font.
3178
408305be 31792009-06-05 Michael Scherer <misc@mandriva.org>
3180
3181 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
3182 uses case sensitive btree.
3183 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
3184 only for case insensitive filesystems.
3185
8ee1e0d9 31862009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
3189 * conf/common.rmk (search_mod_CFLAGS): likewise
3190
a9966eb1 31912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3192
473d1e45 3193 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 3194 compensate a compiler bug
3195
9e7100fb 31962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3197
473d1e45 3198 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 3199 instead of '\b'
473d1e45 3200
ede21d71 32012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 Definitions for creating asm symbols with Apple's CC
3204
3205 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
3206 [APPLE_CC] (VARIABLE): likewise
3207
9dbf7653 32082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 Disable lnxboot.img when compiled
3211 with Apple's CC
3212
3213 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
3214 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
3215 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
3216 [! APPLE_CC] (CODE_LENG): skip
3217 [! APPLE_CC] (setup_sects): likewise
3218 [! APPLE_CC]: skip filling
473d1e45 3219
e93cdc3d 32202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Address in trampolines based on 32-bit registers when compiled
3223 with Apple's CC
3224
473d1e45 3225 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 3226 for addresses
3227 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
3228
6c688477 32292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 Avoid aliases when compiling with Apple's CC for PCBIOS machine
3232
3233 * kern/misc.c [APPLE_CC] (memcpy): new function
3234 [APPLE_CC] (memmove): likewise
3235 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 3236 (memcpy): define alias conditionally on !APPLE_CC
6c688477 3237 (memset): likewise
3238 (abort): likewise
3239 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
3240 APPLE_CC are defined
3241 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
3242 (grub_assert_fail): make prototype conditional
3243
e37ffc5c 32442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
3247
473d1e45 3248 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
3249 grub-macho2img
e37ffc5c 3250 (CLEANFILES): add grub-macho2img
3251 (grub_macho2img_SOURCES): new variable
3252 * kern/i386/pc/startup.S (bss_start): new variable
3253 (bss_end): likewise
3254 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
3255 * util/grub-macho2img.c: new file
3256
cf00df31 32572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 Use objconv when compiling with Apple's CC
3260
3261 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
3262 (efiemu64.o): likewise
3263 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
3264 when compiling with Apple's CC
3265 (efiemu64_s.o): likewise
3266 * configure.ac: check for objconv when compiling with Apple's CC
3267 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 3268
d119a20c 32692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Define segment as well as section when compiling with
3272 Apple's CC
3273
3274 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
3275 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
3276 (efiemu_convert_pointer): likewise
3277 (efiemu_set_virtual_address_map): likewise
3278 (efiemu_convert_pointer): likewise
3279 (efiemu_getcrc32): likewise
3280 (init_crc32_table): likewise
3281 (reflect): likewise
3282 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
3283 (GRUB_MOD_DEP): likewise
473d1e45 3284
c8600122 32852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 Allow a compilation without -mcmodel=large
3288
3289 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
3290 when compiled without -mcmodel=large
473d1e45 3291 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 3292 without -mcmodel=large
473d1e45 3293 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 3294 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 3295
e8df1d4e 32962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 Remove nested functions in efiemu core
3299
3300 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 3301
cc6c3ac1 33022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
3305
3306 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
3307 temporary storage
473d1e45 3308 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
3309 using Apple's CC
cc6c3ac1 3310 (grub_cpu_is_tsc_supported): likewise
3311 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 3312
3e325901 33132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 Absolute addressing through constant with Apple's cc
3316
3317 * kern/i386/pc/startup.S: Define necessary constants
3318 and address through it when using ABS with Apple's CC
3319 * boot/i386/pc/diskboot.S: likewise
3320 * boot/i386/pc/boot.S: likewise
3321 * boot/i386/pc/lnxboot.S: likewise
3322 * boot/i386/pc/cdboot.S: likewise
3323 * mmap/i386/pc/mmap_helper.S: likewise
3324 * commands/i386/pc/drivemap_int13h.S: likewise
3325
2b167a72 33262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Check if compiler is apple cc
3329
3330 * Makefile.in (ASFLAGS): new variable
3331 (TARGET_ASFLAGS): likewise
3332 (TARGET_MODULE_FORMAT): likewise
3333 (TARGET_APPLE_CC): likewise
3334 (OBJCONV): likewise
3335 (TARGET_IMG_CFLAGS): likewise
3336 (TARGET_CPPFLAGS): add includedir
3337 * configure.ac: call grub_apple_cc and grub_apple_target_cc
3338 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
3339 Check for linker script only if compiler isn't Apple's CC
3340 (TARGET_MODULE_FORMAT): set
3341 (TARGET_APPLE_CC): likewise
3342 (TARGET_ASFLAGS): likewise
3343 (ASFLAGS): likewise
3344 Check for objcopy only if compiler isn't Apple's CC
3345 Check for BSS symbol only if compiler isn't Apple's CC
3346 * genmk.rb: adapt nm options if we use Apple's utils
3347 * aclocal.m4 (grub_apple_cc): new test
3348 (grub_apple_target_cc): likewise
473d1e45 3349
fb14123e 33502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 Simplify sed expressions and improve awk
3353
3354 * Makefile.in (install-local): simplify sed expression
3355 * gencmdlist.sh: likewise
3356 * genmoddep.awk: avoid adding module as a dependency of itself
3357
5b889789 33582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 Add missing start symbols
3361
3362 * boot/i386/pc/boot.S: add start
fb14123e 3363 * boot/i386/pc/pxeboot.S: likewise
473d1e45 3364
fd2bf2e3 33652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 3368
3369 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 3370 (relocate_addresses): consider both r_addend and value at offset
3371 (make_mods_section): zerofill modinfo and header
3372 (convert_elf): write prefix here
473d1e45 3373
5389763d 33742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Use .asciz instead of .string
3377
3378 * i386/pc/diskboot.S: use .asciz instead of .string
3379 * i386/pc/boot.S: likewise
3380 * include/grub/dl.h (GRUB_MOD_DEP): likewise
3381 (GRUB_MOD_NAME): likewise
473d1e45 3382
3eb5ed4e 33832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 gfxpayload support
3386
3387 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
3388 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
3389 (grub_video_setup): remove
3390 (grub_video_set_mode): new prototype
3391 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
3392 (vid_mode): remove
3393 (linux_vesafb_res): compile only on PCBIOS
3394 (grub_linux_boot): support gfxpayload
3395 * loader/i386/pc/xnu.c (video_hook): new function
3396 (grub_xnu_set_video): support gfxpayload
3397 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
3398 (DEFAULT_VIDEO_HEIGHT): likewise
3399 (DEFAULT_VIDEO_FLAGS): likewise
3400 (DEFAULT_VIDEO_MODE): new definition
3401 (video_hook): new function
3402 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 3403 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 3404 loading xnu
3405 * video/video.c (grub_video_setup): removed
473d1e45 3406 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 3407 grub_video_setup
3408
4b0e1143 34092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 Avoid calling biosdisk in drivemap
3412
3413 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
3414 (revparse_biosdisk): likewise
3415 (list_mappings): derive name from id directly
3416 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 3417
fda6cb98 34182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 Script fixes
3421
3422 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
3423 (grub_lexer_param): add tokenonhold
3424 (grub_script_create_cmdline): remove cmdline. All callers updated
3425 (grub_script_function_create): make functionname
3426 grub_script_arg. All callers updated
3427 (grub_script_execute_argument_to_string): new prototype
3428 * kern/parser.c (state_transitions): reorder
3429 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 3430 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 3431 make global
3432 (grub_script_execute_cmdline): use new format
3433 * script/sh/function.c (grub_script_function_create): make functionname
3434 grub_script_arg. All callers updated
473d1e45 3435 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 3436 (grub_script_yylex): remove
3437 (grub_script_yylex2): renamed to ...
3438 (grub_script_yylex): ...renamed
3439 parse the expressions like a${b}c
3440 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
3441 (GRUB_PARSER_TOKEN_VAR): remove
3442 (GRUB_PARSER_TOKEN_NAME): likewise
3443 ("if"): declare as typeless
3444 ("while"): likewise
3445 ("function"): likewise
3446 ("else"): likewise
3447 ("then"): likewise
3448 ("fi"): likewise
3449 (text): remove
3450 (argument): likewise
3451 (script): accept empty scripts and make exit on error
3452 (arguments): use GRUB_PARSER_TOKEN_ARG
3453 (function): likewise
3454 (command): move error handling to script
3455 (menuentry): move grub_script_lexer_ref before
473d1e45 3456 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 3457 argument. All callers updated
3458
f4448a07 34592009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3460
3461 Prevent GRUB from probing floppies during boot.
3462
3463 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
3464 * commands/search.c (options): Add --no-floppy.
3465 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
3466 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
3467 --no-floppy when searching for UUIDs.
3468
2bf5885a 34692009-06-04 Robert Millan <rmh.grub@aybabtu.com>
3470
3471 Simplify the code duplication in commands/search.c.
3472
3473 * commands/search.c (search_label, search_fs_uuid): Merge into ...
3474 (search_fs): ... this. Update all users.
3475
f6fd460a 34762009-06-03 Felix Zielcke <fzielcke@z-51.de>
3477
3478 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
3479
cbb3c83e 34802009-05-28 Pavel Roskin <proski@gnu.org>
3481
57788cfd 3482 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
3483 Remove the original symlink explicitly.
3484
cbb3c83e 3485 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
3486 just one slash. That's how grub_fshelp_find_file() does it.
3487
cd0d5e30 34882009-05-26 Pavel Roskin <proski@gnu.org>
3489
f0f8bbe2 3490 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
3491 to `str'.
3492
cd0d5e30 3493 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
3494 possibly unused.
3495
8c2cab51 34962009-05-25 Christian Franke <franke@computer.org>
3497
3498 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
3499 register.
3500 (grub_atapi_identify): Add wait after drive select.
3501 (grub_ata_identify): Do more strict status register check before
3502 calling grub_atapi_identify (). Suppress error message if status
3503 register is 0x00 after command failure. Add status register
3504 check after PIO read to avoid bogus identify due to stuck DRQ.
3505 Thanks to Pavel Roskin for testing.
3506 (grub_device_initialize): Remove unsafe status register check.
3507 Thanks to 'phcoder' for problem report and patch.
3508 Prevent sign extension in debug message.
3509
230c0ad6 35102009-05-23 Colin D Bennett <colin@gibibit.com>
3511
3512 Cleaned up `include/grub/normal.h'. Grouped prototypes by
3513 definition file, and functions defined in `normal/menu.c' have had
3514 their prototypes moved to `include/grub/menu.h' for consistency.
3515
3516 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
3517 from normal.h.
3518 (grub_menu_get_entry): Likewise.
3519 (grub_menu_get_timeout): Likewise.
3520 (grub_menu_set_timeout): Likewise.
3521 (grub_menu_execute_entry): Likewise.
3522 (grub_menu_execute_with_fallback): Likewise.
3523 (grub_menu_entry_run): Likewise.
3524
3525 * include/grub/normal.h: Re-ordered and grouped function
3526 prototypes by file that the function is defined in.
3527 (grub_menu_execute_callback): Removed; moved to menu.h.
3528 (grub_menu_get_entry): Likewise.
3529 (grub_menu_get_timeout): Likewise.
3530 (grub_menu_set_timeout): Likewise.
3531 (grub_menu_execute_entry): Likewise.
3532 (grub_menu_execute_with_fallback): Likewise.
3533 (grub_menu_entry_run): Likewise.
3534 (grub_menu_addentry): Renamed from this ...
3535 (grub_normal_add_menu_entry): ... to this.
3536
3537 * normal/main.c (grub_menu_addentry): Renamed from this ...
3538 (grub_normal_add_menu_entry): ... to this.
3539
3540 * script/sh/execute.c (grub_script_execute_menuentry): Update
3541 reference to renamed grub_menu_addentry function.
3542
861f03a5 35432009-05-23 Felix Zielcke <fzielcke@z-51.de>
3544
3545 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
3546
96b1619a 35472009-05-22 Pavel Roskin <proski@gnu.org>
3548
bf6a5fb2 3549 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
3550 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
3551 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
3552 compiling for the i386 targets, but not for the utilities.
3553
96b1619a 3554 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
3555 to grub_uint8_t.
3556 (grub_root_drive): Likewise.
3557 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
3558 remove alignment.
3559 (grub_root_drive): Change size to byte.
3560 (grub_start_addr): Remove.
3561 (grub_end_addr): Likewise.
3562 (grub_apm_bios_info): Likewise.
3563
b729776b 35642009-05-21 Felix Zielcke <fzielcke@z-51.de>
3565
3566 * normal/i386: Remove.
3567 * normal/powerpc: Likewise.
3568 * normal/sparc64: Likewise.
3569 * normal/x86_64: Likewise.
3570
0a15ce80 35712009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 3574 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 3575 * loader/i386/xnu_helper.S: Likewise
d6da58e6 3576
33db9015 35772009-05-18 Colin D Bennett <colin@gibibit.com>
3578
d6da58e6 3579 Display error messages when parsing a Lua statement fails.
3580 Previously, executing a syntactically invalid statement like
3581 ")foo" or "bar;" would silently fail.
33db9015 3582
3583 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 3584 (grub_lua_parse_line): Improved reporting of Lua parser and
3585 execution errors.
33db9015 3586
46422c89 35872009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Remove -Werror which causes build to fail on some systems
3590
3591 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
3592 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
3593 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 3594
22f53a96 35952009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 trampoline for linux on 64-bit platform
3598
18f547ad 3599 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
3600 loader/i386/efi/linux_trampoline.S
3601 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 3602 declaration
d6da58e6 3603 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
3604 here
22f53a96 3605 * loader/i386/linux_trampoline.S: moved here
d6da58e6 3606 * loader/i386/efi/linux.c (allocate_pages): reserve space for
3607 trampoline
22f53a96 3608 (jumpvector): removed
3609 (grub_linux_trampoline_start): new declaration
3610 (grub_linux_trampoline_end): likewise
3611 (grub_linux_boot): use trampoline when on 64-bit platform
3612 * loader/i386/linux.c: likewise
3613
cb5a0f40 36142009-05-16 Pavel Roskin <proski@gnu.org>
3615
3616 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
3617 const to avoid a warning.
3618 (grub_lua_setenv): Likewise.
3619 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
3620 lmsg to fix a warning.
3621
334f2c28 36222009-05-16 Felix Zielcke <fzielcke@z-51.de>
3623
3624 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 3625 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3626 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
3627 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3628 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3629 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
3630 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
3631 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 3632
59e5d3ec 36332009-05-16 Felix Zielcke <fzielcke@z-51.de>
3634
3635 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
3636
9d87a1ba 36372009-05-16 Bean <bean123ch@gmail.com>
3638
3639 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
3640 (lua_mod_SOURCES): New variable.
3641 (lua_mod_CFLAGS): Likewise.
3642 (lua_mod_LDFLAGS): Likewise.
3643
3644 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
3645 (setjmp_mod_SOURCES): New variable.
3646 (setjmp_mod_CFLAGS): Likewise.
3647 (setjmp_LDFLAGS): Likewise.
3648
3649 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
3650 (setjmp_mod_SOURCES): New variable.
3651 (setjmp_mod_CFLAGS): Likewise.
3652 (setjmp_LDFLAGS): Likewise.
3653
3654 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3655 (setjmp_mod_SOURCES): New variable.
3656 (setjmp_mod_CFLAGS): Likewise.
3657 (setjmp_LDFLAGS): Likewise.
3658
3659 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
3660 (setjmp_mod_SOURCES): New variable.
3661 (setjmp_mod_CFLAGS): Likewise.
3662 (setjmp_LDFLAGS): Likewise.
3663
3664 * normal/i386/setjmp.S: Moved from here ...
3665 * lib/i386/setjmp.S: ... Moved here
3666 * normal/x86_64/setjmp.S: Moved from here ...
3667 * lib/x86_64/setjmp.S: ... Moved here
3668 * normal/powerpc/setjmp.S: Moved from here ...
3669 * lib/powerpc/setjmp.S: ... Moved here
3670 * normal/sparc64/setjmp.S: Moved from here ...
3671 * lib/sparc64/setjmp.S: ... Moved here
3672
3673 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
3674 returns_twice in mingw.
3675
3676 * script/lua/grub_lib.c: New file.
3677 * script/lua/grub_lib.h: Likewise.
3678 * script/lua/grub_lua.h: Likewise.
3679 * script/lua/grub_main.c: Likewise.
3680 * script/lua/lapi.c: Likewise.
3681 * script/lua/lapi.h: Likewise.
3682 * script/lua/lauxlib.c: Likewise.
3683 * script/lua/lauxlib.h: Likewise.
3684 * script/lua/lbaselib.c: Likewise.
3685 * script/lua/lcode.c: Likewise.
3686 * script/lua/lcode.h: Likewise.
3687 * script/lua/ldblib.c: Likewise.
3688 * script/lua/ldebug.c: Likewise.
3689 * script/lua/ldebug.h: Likewise.
3690 * script/lua/ldo.c: Likewise.
3691 * script/lua/ldo.h: Likewise.
3692 * script/lua/ldump.c: Likewise.
3693 * script/lua/lfunc.c: Likewise.
3694 * script/lua/lfunc.h: Likewise.
3695 * script/lua/lgc.c: Likewise.
3696 * script/lua/lgc.h: Likewise.
3697 * script/lua/linit.c: Likewise.
3698 * script/lua/liolib.c: Likewise.
3699 * script/lua/llex.c: Likewise.
3700 * script/lua/llex.h: Likewise.
3701 * script/lua/llimits.h: Likewise.
3702 * script/lua/lmathlib.c: Likewise.
3703 * script/lua/lmem.c: Likewise.
3704 * script/lua/lmem.h: Likewise.
3705 * script/lua/loadlib.c: Likewise.
3706 * script/lua/lobject.c: Likewise.
3707 * script/lua/lobject.h: Likewise.
3708 * script/lua/lopcodes.c: Likewise.
3709 * script/lua/lopcodes.h: Likewise.
3710 * script/lua/loslib.c: Likewise.
3711 * script/lua/lparser.c: Likewise.
3712 * script/lua/lparser.h: Likewise.
3713 * script/lua/lstate.c: Likewise.
3714 * script/lua/lstate.h: Likewise.
3715 * script/lua/lstring.c: Likewise.
3716 * script/lua/lstring.h: Likewise.
3717 * script/lua/lstrlib.c: Likewise.
3718 * script/lua/ltable.c: Likewise.
3719 * script/lua/ltable.h: Likewise.
3720 * script/lua/ltablib.c: Likewise.
3721 * script/lua/ltm.c: Likewise.
3722 * script/lua/ltm.h: Likewise.
3723 * script/lua/lua.h: Likewise.
3724 * script/lua/luaconf.h: Likewise.
3725 * script/lua/lualib.h: Likewise.
3726 * script/lua/lundump.c: Likewise.
3727 * script/lua/lundump.h: Likewise.
3728 * script/lua/lvm.c: Likewise.
3729 * script/lua/lvm.h: Likewise.
3730 * script/lua/lzio.c: Likewise.
3731 * script/lua/lzio.h: Likewise.
3732
5e898c9d 37332009-05-16 Bean <bean123ch@gmail.com>
3734
3735 * include/grub/kernel.h (grub_module_header_types): Add type
3736 OBJ_TYPE_CONFIG.
3737
3738 * kern/main.c (grub_load_config): New function.
3739 (grub_main): Call grub_load_config to read boot config.
3740
3741 * grub-mkimage (generate_image): New parameter config_path.
3742 (options): New option --config.
3743 (main): Parse --config option, and pass it to generate_image.
3744
cf353a47 37452009-05-14 Christian Franke <franke@computer.org>
3746
3747 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
3748 This fixes build on Cygwin.
3749
3834887f 37502009-05-14 Pavel Roskin <proski@gnu.org>
3751
3752 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
3753 jump. This saves two bytes, so the typical case of 2 swapped
3754 drives would fit 32 bytes.
3755
8090fc01 37562009-05-13 Pavel Roskin <proski@gnu.org>
3757
ac963883 3758 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
3759 grub_uint32_t to avoid a warning.
3760
8090fc01 3761 * loader/i386/linux.c (allocate_pages): When assigning
3762 real_mode_mem, cast through grub_size_t to fix a warning. The
3763 code already makes sure that the value would fit a pointer.
3764 (grub_linux_setup_video): Cast render_target->data to
3765 grub_size_t to fix a warning.
3766
18f547ad 37672009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 3768
3769 * commands/i386/pc/drivemap.c: New file - implement drivemap
3770 command.
3771 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
3772 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
3773
6f6a8b28 37742009-05-13 Pavel Roskin <proski@gnu.org>
3775
3776 * util/i386/pc/grub-setup.c (setup): Remove unused variable
3777 embedding_area_exists.
3778
15fbf4c4 37792009-05-13 Robert Millan <rmh.grub@aybabtu.com>
3780
3781 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
3782 it easier to understand / work with.
59978c8a 3783 Improve warning messages for cases where there's no embedding area,
3784 or when it is too small (or core.img too large).
15fbf4c4 3785
238e871f 37862009-05-13 Pavel Roskin <proski@gnu.org>
3787
0ab3a9a4 3788 * loader/i386/pc/multiboot2.c: Add necessary includes for
3789 grub_multiboot2_real_boot().
3790
a2c8c5f8 3791 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
3792 PX record is always little-endian. We only need the lower 2
3793 bytes of the mode.
3794
faec96af 3795 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
3796 facilitate code reuse.
3797 (grub_cpio_mount): Use "struct head", not a char buffer. This
3798 fixes a warning reported by gcc 4.4.
3799
238e871f 3800 * kernel/disk.c (grub_disk_read): Use void pointer for the
3801 buffer.
3802 (grub_disk_write): Use const void pointer for the buffer.
3803 Adjust all callers. Remove unnecessary casts.
3804
901d2f0c 38052009-05-10 Robert Millan <rmh.grub@aybabtu.com>
3806
3807 * util/i386/pc/grub-install.in: Update copyright year.
3808
18f547ad 38092009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 3810
3811 gptsync
3812
3813 * commands/gptsync.c: new file
3814 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
3815 (gptsync_mod_SOURCES): new variable
3816 (gptsync_mod_CFLAGS): likewise
3817 (gptsync_mod_LDFLAGS): likewise
18f547ad 3818 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 3819 new definition
3820 (GRUB_PC_PARTITION_TYPE_HFS): likewise
3821 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
3822 * conf/i386-ieee1275.rmk: likewise
3823 * conf/i386-pc.rmk: likewise
3824 * conf/powerpc-ieee1275.rmk: likewise
3825
b4ba690a 38262009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 Fixed grub-emu
3829
3830 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
3831 (grub_dl_ref): likewise
3832
317e1a44 38332009-05-08 Robert Millan <rmh.grub@aybabtu.com>
3834
3835 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
3836 split in two functions (one for msdos and one for gpt).
3837
041b8094 38382009-05-08 Pavel Roskin <proski@gnu.org>
3839
752473c2 3840 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
3841 not modified.
3842
041b8094 3843 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
3844 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
3845 Initialize them with -1. Add sanity check for bad1. Eliminate
3846 nerr variable.
3847
172800ce 38482009-05-08 David S. Miller <davem@davemloft.net>
3849
3850 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
3851
29aa5e81 38522009-05-06 Robert Millan <rmh.grub@aybabtu.com>
3853
3854 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 3855 existence.
29aa5e81 3856
96613b62 38572009-05-05 Felix Zielcke <fzielcke@z-51.de>
3858
3859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 3860 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 3861
eef73c8a 38622009-05-05 David S. Miller <davem@davemloft.net>
3863
3864 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
3865
119494b5 38662009-05-05 Pavel Roskin <proski@gnu.org>
3867
3868 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
3869 of grub_dl_ref() and grub_dl_unref().
3870 * commands/parttool.c: Remove preprocessor conditionals around
3871 grub_dl_ref() and grub_dl_unref().
3872 * fs/affs.c: Likewise.
3873 * fs/afs.c: Likewise.
3874 * fs/cpio.c: Likewise.
3875 * fs/ext2.c: Likewise.
3876 * fs/fat.c: Likewise.
3877 * fs/hfs.c: Likewise.
3878 * fs/hfsplus.c: Likewise.
3879 * fs/iso9660.c: Likewise.
3880 * fs/jfs.c: Likewise.
3881 * fs/minix.c: Likewise.
3882 * fs/ntfs.c: Likewise.
3883 * fs/reiserfs.c: Likewise.
3884 * fs/sfs.c: Likewise.
3885 * fs/udf.c: Likewise.
3886 * fs/ufs.c: Likewise.
3887 * fs/xfs.c: Likewise.
3888 * include/grub/dl.h: Likewise.
3889 * loader/xnu.c: Likewise.
3890
de5fd76e 38912009-05-04 Pavel Roskin <proski@gnu.org>
3892
3893 * commands/acpi.c: Remove unused variable my_mod.
3894 * partmap/amiga.c: Likewise.
3895 * partmap/apple.c: Likewise.
3896 * partmap/gpt.c: Likewise.
3897 * partmap/pc.c: Likewise.
3898 * partmap/sun.c: Likewise.
3899 * term/gfxterm.c: Likewise.
3900 * term/i386/pc/vesafb.c: Likewise.
3901 * term/i386/pc/vga.c: Likewise.
3902
983598ad 39032009-05-04 David S. Miller <davem@davemloft.net>
3904
3905 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
3906 pointer args to grub_ieee1275_get_property().
3907
8aadec43 3908 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
3909
9554b15e 3910 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
3911 devices, and do not traverse down under controller nodes.
3912
67e23c90 3913 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
3914 (grub_ofdisk_open): Use it to un-escape "," characters.
3915 * kern/disk.c (find_part_sep): New.
3916 (grub_disk_open): Use it to find the first non-escaped ','
3917 character in the disk name.
3918 * util/ieee1275/devicemap.c (escape_of_path): New.
3919 (grub_util_emit_devicemap_entry): Use it.
3920 * util/sparc64/ieee1275/grub-install.in: Update script to
3921 strip partition specifiers properly by not triggering on
3922 '\' escaped ',' characters.
3923
74bfdd2f 39242009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3925
3926 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
3927 to 0x300.
3928 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
3929 resolutions.
3930 (linux_vesafb_modes): Add a lot of additional modes to the list (based
3931 on documentation from Wikipedia).
3932
4241d2b1 39332009-05-04 Pavel Roskin <proski@gnu.org>
3934
3935 * disk/ata.c: Spelling fixes.
3936 * disk/raid.c: Likewise.
3937 * disk/usbms.c: Likewise.
3938 * disk/dmraid_nvidia.c: Likewise.
3939 * kern/ieee1275/openfw.c: Likewise.
3940 * kern/ieee1275/init.c: Likewise.
3941 * kern/ieee1275/cmain.c: Likewise.
3942 * boot/i386/pc/cdboot.S: Likewise.
3943 * video/readers/png.c: Likewise.
3944 * video/i386/pc/vbe.c: Likewise.
3945 * fs/udf.c: Likewise.
3946 * fs/hfs.c: Likewise.
3947 * fs/reiserfs.c: Likewise.
3948 * efiemu/runtime/efiemu.c: Likewise.
3949 * efiemu/main.c: Likewise.
3950 * efiemu/mm.c: Likewise.
3951 * include/grub/elf.h: Likewise.
3952 * include/grub/xnu.h: Likewise.
3953 * include/grub/usbdesc.h: Likewise.
3954 * include/grub/usb.h: Likewise.
3955 * include/grub/script_sh.h: Likewise.
3956 * include/grub/lib/LzmaEnc.h: Likewise.
3957 * include/grub/efiemu/efiemu.h: Likewise.
3958 * include/grub/command.h: Likewise.
3959 * normal/menu.c: Likewise.
3960 * normal/main.c: Likewise.
3961 * normal/datetime.c: Likewise.
3962 * bus/usb/uhci.c: Likewise.
3963 * mmap/i386/uppermem.c: Likewise.
3964 * mmap/mmap.c: Likewise.
3965 * commands/acpi.c: Likewise.
3966 * commands/test.c: Likewise.
3967 * partmap/apple.c: Likewise.
3968 * font/font.c: Likewise.
3969 * loader/sparc64/ieee1275/linux.c: Likewise.
3970 * loader/macho.c: Likewise.
3971 * loader/i386/bsd_trampoline.S: Likewise.
3972 * loader/i386/bsd.c: Likewise.
3973 * loader/xnu.c: Likewise.
3974 * term/i386/pc/vesafb.c: Likewise.
3975 * term/usb_keyboard.c: Likewise.
3976 * util/resolve.c: Likewise.
3977 * util/getroot.c: Likewise.
3978
0cfc0083 39792009-05-04 Felix Zielcke <fzielcke@z-51.de>
3980
3981 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
3982
7c1d00cd 39832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3984
3985 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
3986 build error.
3987
b01f0548 39882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
3989
3990 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
3991 parameter only available on BIOS.
3992
ecc3eb22 39932009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Removed wrong semicolon in declaration
3996
3997 * grub/misc.h (grub_dprintf): remove semicolon
3998
112972a9 39992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4000
4001 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
4002 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
4003 is done by grub_cmd_linux() now).
4004 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
4005 restore video to text mode.
4006 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
4007 indicates lack of "vga=" parameter. "vga=0" is mapped to
4008 `GRUB_LINUX_VID_MODE_NORMAL'.
4009
afd5c115 40102009-05-04 Felix Zielcke <fzielcke@z-51.de>
4011
4012 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
4013 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
4014 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 4015 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 4016 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
4017 `grub_script.tab.c'.
4018
4019 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4020 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4022 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4023 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4024
faa517ce 4025 * Makefile.in: Remove duplicated 2008 in Copyright line.
4026
ae0c0bdc 40272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4028
473d1e45 4029 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 4030 unconditionally.
4031 * include/grub/util/misc.h (grub_util_warn): New declaration.
4032
4033 * util/i386/pc/grub-install.in: Understand --force and pass it down
4034 to grub-setup.
4035
4036 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
4037 down to setup().
4038 (setup): Improve error messages and add warnings when requested to
4039 install in odd layouts. Refuse to install using blocklists unless
4040 --force was set.
4041
18f547ad 40422009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 4043
4044 * disk/raid.c (grub_raid_scan_device): Improve debug message.
4045
6d260daa 40462009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 Updated copyright year
4049
4050 * fs/hfsplus.c: updated copyright year
18f547ad 4051
69f853f8 40522009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 HFS+ UUID
4055
18f547ad 4056 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 4057 in the space previously used by unused3
4058 (grub_hfsplus_uuid): new function
4059 (grub_hfsplus_fs): added uuid field
4060
4c402e73 40612009-05-03 Pavel Roskin <proski@gnu.org>
4062
4063 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
4064 suppress warnings. It's no longer needed.
4065 * disk/host.c: Likewise.
4066 * disk/ata_pthru.c: Likewise.
4067 * disk/loopback.c: Likewise.
4068 * hook/datehook.c: Likewise.
4069 * parttool/pcpart.c: Likewise.
4070 * fs/i386/pc/pxe.c: Likewise.
4071 * fs/ntfscomp.c: Likewise.
4072 * efiemu/main.c: Likewise.
4073 * mmap/mmap.c: Likewise.
4074 * commands/crc.c: Likewise.
4075 * commands/hexdump.c: Likewise.
4076 * commands/hdparm.c: Likewise.
4077 * commands/acpi.c: Likewise.
4078 * commands/echo.c: Likewise.
4079 * commands/minicmd.c: Likewise.
4080 * commands/blocklist.c: Likewise.
4081 * commands/memrw.c: Likewise.
4082 * commands/loadenv.c: Likewise.
4083 * commands/usbtest.c: Likewise.
4084 * commands/lsmmap.c: Likewise.
4085 * commands/boot.c: Likewise.
4086 * commands/parttool.c: Likewise.
4087 * commands/configfile.c: Likewise.
4088 * commands/search.c: Likewise.
4089 * commands/ieee1275/suspend.c: Likewise.
4090 * commands/cat.c: Likewise.
4091 * commands/i386/pc/pxecmd.c: Likewise.
4092 * commands/i386/pc/play.c: Likewise.
4093 * commands/i386/pc/halt.c: Likewise.
4094 * commands/i386/pc/vbeinfo.c: Likewise.
4095 * commands/i386/pc/vbetest.c: Likewise.
4096 * commands/lspci.c: Likewise.
4097 * commands/date.c: Likewise.
4098 * commands/handler.c: Likewise.
4099 * commands/ls.c: Likewise.
4100 * commands/test.c: Likewise.
4101 * commands/cmp.c: Likewise.
4102 * commands/efi/loadbios.c: Likewise.
4103 * commands/efi/fixvideo.c: Likewise.
4104 * commands/halt.c: Likewise.
4105 * commands/help.c: Likewise.
4106 * commands/reboot.c: Likewise.
4107 * hello/hello.c: Likewise.
4108 * script/sh/main.c: Likewise.
4109 * loader/xnu.c: Likewise.
4110 * term/terminfo.c: Likewise.
4111 * term/i386/pc/serial.c: Likewise.
4112 * term/usb_keyboard.c: Likewise.
4113
515b5079 41142009-05-03 David S. Miller <davem@davemloft.net>
4115
4116 * normal/menu.c: Include grub/parser.h
4117
dfc31a22 41182009-05-03 Pavel Roskin <proski@gnu.org>
4119
2fee74f1 4120 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
4121 not char*.
4122 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
4123 Suggested by Javier Martín <lordhabbit@gmail.com>
4124
dfc31a22 4125 * util/i386/pc/grub-mkrescue.in: Allow for the case when
4126 efiemu??.o doesn't exist.
4127 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
4128 copying.
4129
18f547ad 41302009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 4131
4132 FreeBSD 64-bit support
4133
18f547ad 4134 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 4135 and loader/i386/bsd_trampoline.S
4136 (bsd_mod_ASFLAGS): new variable
4137 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
4138 (FREEBSD_MODTYPE_KERNEL64): likewise
4139 (grub_bsd64_trampoline_start): likewise
4140 (grub_bsd64_trampoline_end): likewise
4141 (grub_bsd64_trampoline_selfjump): likewise
4142 (grub_bsd64_trampoline_gdt): likewise
4143 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
4144 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
4145 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
4146 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 4147 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 4148 of "attrib" member
4149 * loader/i386/bsd_pagetable.c: new file
4150 * loader/i386/bsd_trampoline.S: likewise
4151 * loader/i386/bsd.c (ALIGN_QWORD): new macro
4152 (ALIGN_VAR): likewise
4153 (entry_hi): new variable
4154 (kern_end_mdofs): likewise
4155 (is_64bit): likewise
4156 (grub_freebsd_add_meta): use ALIGN_VAR
4157 (grub_e820_mmap): new declaration
4158 (grub_freebsd_add_mmap): new function
4159 (grub_freebsd_add_meta_module): support 64 bit kernels
4160 (grub_freebsd_list_modules): use ALIGN_VAR
4161 (gdt_descriptor): new declaration
4162 (grub_freebsd_boot): support 64 bit kernels
4163 (grub_bsd_elf64_hook): new function
4164 (grub_bsd_load_elf): support elf64
4165
038c5720 41662009-05-03 Bean <bean123ch@gmail.com>
4167
4168 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
4169 after we get the result of if statement.
4170
fc45fb58 41712009-05-03 Bean <bean123ch@gmail.com>
4172
4173 * Makefile.in (enable_efiemu): New variable.
4174
4175 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
4176 set.
4177 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
4178 path.
4179 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
4180 path, add -mno-red-zone option.
4181 (efiemu64_s.o): Likewise.
4182 (efiemu64.o): Use macro $^ for source file.
4183
4184 * configure.ac (--enable-efiemu): New option.
4185
bbee0f2b 41862009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 xnu support
4189
4190 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
4191 (pkglib_MODULES): add xnu.mod
4192 (xnu_mod_SOURCES): new variable
4193 (xnu_mod_CFLAGS): likewise
4194 (xnu_mod_LDFLAGS): likewise
4195 (xnu_mod_ASFLAGS): likewise
4196 * conf/i386-pc.rmk: likewise
4197 * conf/x86_64-efi.rmk: likewise
7dd4a573 4198 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 4199 new declaration
4200 * include/grub/i386/macho.h: new file
4201 * include/grub/i386/xnu.h: likewise
4202 * include/grub/macho.h: likewise
4203 * include/grub/machoload.h: likewise
4204 * include/grub/x86_64/macho.h: likewise
4205 * include/grub/x86_64/xnu.h: likewise
4206 * include/grub/xnu.h: likewise
4207 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
4208 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
4209 * loader/i386/efi/xnu.c: new file
4210 * loader/i386/pc/xnu.c: likewise
4211 * loader/i386/xnu.c: likewise
4212 * loader/i386/xnu_helper.S: likewise
4213 * loader/macho.c: likewise
4214 * loader/xnu.c: likewise
4215 * loader/xnu_resume.c: likewise
4216 * util/grub-dumpdevtree: likewise
4217 * include/grub/i386/pit.h: include grub/err.h
4218 (grub_pit_wait): export
4219 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 4220
5caf964d 42212009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Efiemu
7dd4a573 4224
5caf964d 4225 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 4226 _linux_efi, linux_efi.
4227 new files in grub-emu
5caf964d 4228 new targets efiemu32.o and efiemu64.o
4229 * loader/linux_normal_efiemu.c: likewise
4230 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 4231 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 4232 files to copy
4233 * include/grub/autoefi.h: new file
7dd4a573 4234 * include/grub/i386/efiemu.h: likewise
5caf964d 4235 * include/grub/i386/pc/efiemu.h: likewise
4236 * include/grub/efi/api.h: add LL suffix when necessary
4237 new definitions relating to tables
4238 * include/grub/efiemu/efiemu.h: new file
4239 * include/grub/efiemu/runtime.h: likewise
4240 * efiemu/prepare.c: likewise
4241 * efiemu/loadcore_common.c: likewise
4242 * efiemu/loadcore64.c: likewise
4243 * efiemu/runtime/efiemu.sh: likewise
4244 * efiemu/runtime/efiemu.S: likewise
4245 * efiemu/runtime/efiemu.c: likewise
4246 * efiemu/runtime/config.h: likewise
4247 * efiemu/prepare32.c: likewise
4248 * efiemu/main.c: likewise
4249 * efiemu/modules/pnvram.c: likewise
4250 * efiemu/modules/i386: likewise
4251 * efiemu/modules/i386/pc: likewise
4252 * efiemu/modules/acpi.c: likewise
4253 * efiemu/i386/pc/cfgtables.c: likewise
4254 * efiemu/i386/loadcore64.c: likewise
4255 * efiemu/i386/loadcore32.c: likewise
4256 * efiemu/prepare64.c: likewise
4257 * efiemu/loadcore.c: likewise
4258 * efiemu/symbols.c: likewise
4259 * efiemu/mm.c: likewise
4260 * efiemu/loadcore32.c: likewise
7dd4a573 4261
42622009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 4263
4264 ACPI spoofing
4265
4266 * commands/acpi.c: new file
4267 * commands/i386/pc/acpi.c: likewise
4268 * commands/efi/acpi.c: likewise
4269 * include/grub/acpi.h: likewise
4270 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
4271 (acpi_mod_SOURCES): new variable
4272 (acpi_mod_CFLAGS): likewise
4273 (acpi_mod_LDFLAGS): likewise
4274 * conf/i386-efi.rmk: likewise
4275 * conf/x86_64-efi.rmk: likewise
4276
7dd4a573 42772009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 4278
4279 Missing part from mmap patch
4280
4281 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
4282 (grub_mmap_unregister)
4283 (grub_mmap_free_and_unregister): use grub_mmap_register
4284
7dd4a573 42852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 4286
4287 Mmap services
4288
4289 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
4290 * loader/i386/linux.c (find_mmap_size): likewise
4291 (allocate_pages): likewise
4292 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
4293 (grub_fill_multiboot_mmap): likewise
4294 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
4295 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
4296 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
4297 (OPENBSD_MMAP_RESERVED): likewise
4298 * include/grub/i386/pc/memory.h: include grub/memory.h
4299 (grub_lower_mem): removed
4300 (grub_upper_mem): likewise
4301 (GRUB_MACHINE_MEMORY_ACPI): new definition
4302 (GRUB_MACHINE_MEMORY_NVS): likewise
4303 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
4304 (GRUB_MACHINE_MEMORY_HOLE): likewise
4305 (grub_machine_mmap_register): likewise
4306 (grub_machine_mmap_unregister): likewise
4307 (grub_machine_get_upper): likewise
4308 (grub_machine_get_lower): likewise
4309 (grub_machine_get_post64): likewise
4310 * include/grub/i386/efi/memory.h: new file
4311 * include/grub/x86_64/efi/memory.h: likewise
4312 * include/grub/efi/memory.h: likewise
4313 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
4314 (mmap_mod_SOURCES): new variable
4315 (mmap_mod_LDFLAGS): likewise
4316 (mmap_mod_ASFLAGS): likewise
4317 * conf/i386-coreboot.rmk: likewise
4318 * conf/i386-ieee1275.rmk: likewise
4319 * conf/i386-efi.rmk: likewise
4320 * conf/x86_64-efi.rmk: likewise
4321 * include/grub/types.h (UINT_TO_PTR): new macro
4322 (PTR_TO_UINT32): likewise
4323 (PTR_TO_UINT64): likewise
4324 * include/grub/memory.h: new file
4325 * mmap/i386/pc/mmap.c: likewise
4326 * mmap/i386/pc/mmap_helper.S: likewise
4327 * mmap/i386/uppermem.c: likewise
4328 * mmap/mmap.c: likewise
4329 * mmap/efi/mmap.c: likewise
7dd4a573 4330 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 4331 grub_upper_mem
4332 * kern/i386/pc/init.c (grub_lower_mem): removed variable
4333 (grub_upper_mem): likewise
4334 (grub_machine_init): don't use grub_upper_mem,
4335 make grub_lower_mem local
4336 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
4337 grub_mmap_iterate and grub_mmap_get_upper
4338 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
4339
d558e6b5 43402009-05-02 Bean <bean123ch@gmail.com>
4341
4342 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
4343 script/sh/parser.y.
4344 (pkglib_MODULES): Add normal.mod and sh.mod.
4345 (normal_SOURCES): New variable.
4346 (normal_mod_CFLAGS): Likewise.
4347 (normal_mod_LDFLAGS): Likewise.
4348 (sh_mod_SOURCES): Likewise.
4349 (sh_mod_CFLAGS): Likewise.
4350 (sh_mod_LDFLAGS): Likewise.
4351
4352 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
4353 script/sh/lexer.c_DEPENDENCIES.
4354 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
4355 kern/rescue_reader.c and kern/rescue_parser.c.
4356 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
4357 (grub_emu_SOURCES): Change source files.
4358 (pkglib_MODULES): Remove normal.mod.
4359 (normal_SOURCES): Removed.
4360 (normal_mod_CFLAGS): Likewise.
4361 (normal_mod_LDFLAGS): Likewise.
4362 * conf/i386-coreboot.rmk: Likewise.
4363 * conf/i386-efi.rmk: Likewise.
4364 * conf/i386-ieee1276.rmk: Likewise.
4365 * conf/powerpc-ieee1275.rmk: Likewise.
4366 * conf/sparc64-ieee1275.rmk: Likewise.
4367 * conf/x86_64-efi.rmk: Likewise.
4368
4369 * include/grub/command.h (grub_command_execute): New inline function.
4370
4371 * include/grub/menu.h (grub_menu_entry): Removed commands field.
4372
4373 * include/grub/normal.h: Remove <grub/setjmp.h>.
4374 (grub_fs_module_list): Moved to normal/autofs.c.
4375 (grub_exit_env): Removed.
4376 (grub_command_execute): Likewise.
4377 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
4378 parameter script.
4379 (read_command_list): New function declaration.
4380 (read_fs_list): Likewise.
4381
4382 * include/parser.h: Include <grub/reader.h>.
4383 (grub_parser_split_cmdline): Change type of getline parameter.
4384 (grub_parser): New structure.
4385 (grub_parser_class): New variable.
4386 (grub_parser_execute): New function declaration.
4387 (grub_register_rescue_parser): Likewise.
4388 (grub_parser_register): New inline function.
4389 (grub_parser_unregister): Likewise.
4390 (grub_parser_get_current): Likewise.
4391 (grub_parser_set_current): Likewise.
4392
4393 * include/grub/reader.h: New file.
4394 * kern/reader.c: Likewise.
4395 * kern/rescue_parser.c: Likewise.
4396 * kern/rescue_reader.c: Likewise.
4397 * normal/autofs.c: Likewise.
4398 * normal/dyncmd.c: Likewise.
4399
4400 * include/grub/rescue.h: Removed.
4401 * normal/command.h: Likewise.
4402
4403 * include/grub/script.h: Moved to ...
4404 * include/grub/script_sh.h: ... Moved here.
4405 * normal/execute.c: Moved to ...
4406 * script/sh/execute.c: ... Moved here.
4407 * normal/function.c: Moved to ...
4408 * script/sh/function.c: ... Moved here.
4409 * normal/lexer.c: Moved to ...
4410 * script/sh/lexer.c: ... Moved here.
4411 * normal/parser.y: Moved to ...
4412 * script/sh/parser.y: ... Moved here.
4413 * normal/script.c: Moved to ...
4414 * script/sh/script.c: ... Moved here.
4415
4416 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
4417 <grub/reader.h>.
4418 (grub_exit_env): Removed.
4419 (fs_module_list): Moved to normal/autofs.c.
4420 (grub_file_getline): Don't handle comment here.
4421 (free_menu): Skip removed field entry->commands.
4422 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
4423 script parameter.
4424 (read_config_file): Removed nested parameter, change getline function.
4425 (grub_enter_normal_mode): Removed.
4426 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
4427 (read_command_list): Likewise.
4428 (autoload_fs_module): Moved to normal/autofs.c.
4429 (read_fs_list): Likewise.
4430 (reader_nested): New variable.
4431 (grub_normal_execute): Run parser.sh to switch to sh parser.
4432 (grub_cmd_rescue): Removed.
4433 (cmd_normal): Removed.
4434 (grub_cmd_normal): Unregister itself at the beginning. Don't register
4435 rescue command.
4436 (grub_cmdline_run): New function.
4437 (grub_normal_reader_init): Likewise.
4438 (grub_normal_read_line): Likewise.
4439 (grub_env_write_pager): Likewise.
4440 (cmdline): New variable.
4441 (grub_normal_reader): Likewise.
4442 (GRUB_MOD_INIT): Register normal reader and set as current, register
4443 pager hook, register normal command with grub_register_command_prio,
4444 so that it won't show up in command.lst.
4445 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
4446 grub_fs_autoload_hook.
4447
4448 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
4449 (grub_menu_execute_entry): Replace grub_script_execute with
4450 grub_parser_execute, change parameter to grub_command_execute.
4451
4452 * normal/menu_text.c: Remove <grub/script.h>.
4453
4454 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
4455 and <grub/parser.h>.
4456 (run): Change editor_getline to use new parser interface. Change
4457 parameter to grub_command_execute.
4458
4459 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
4460 <grub/reader.h> and <grub/parser.h>.
4461 (grub_load_normal_mode): Execute normal command.
4462 (grub_main): Call grub_register_core_commands,
4463 grub_register_rescue_parser and grub_register_rescue_reader, use
4464 grub_reader_loop to enter input loop.
4465
7dd4a573 4466 * kern/parser.c (grub_parser_split_cmdline): Change type of
4467 getline parameter.
d558e6b5 4468 (grub_parser_class): New variable.
4469 (grub_parser_execute): New function.
4470
4471 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
4472 * loader/multiboot2.c: Likewise.
4473 * loader/sparc64/ieee1275/linux.c: Likewise.
4474
4475 * util/grub-emu.c (read_command_list): New dummy function.
4476
18db813d 44772009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4478
4479 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
4480 count to 16 for CCISS and IDA.
4481
6c67de15 44822009-05-02 Robert Millan <rmh.grub@aybabtu.com>
4483
4484 * normal/menu_text.c (grub_wait_after_message): Print a newline
4485 after waiting for user input.
4486
4487 * loader/i386/linux.c: Include `<grub/normal.h>'.
4488 (grub_cmd_linux): Improve the error message about `ask' mode, by
4489 waiting for user input so it's not missed (we can do this, since
4490 user requested interaction).
4491
d9dc87b0 44922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 Added missing lst to grub-mkrescue
4495
4496 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
4497 and ${input_dir}/parttool.lst
4498
ac8a2baa 44992009-04-30 David S. Miller <davem@davemloft.net>
4500
ad22a610 4501 * util/hostdisk.c (device_is_wholedisk): New function.
4502 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
4503 zero only if device_is_wholedisk() returns true.
4504
6966215d 4505 * util/hostdisk.c (convert_system_partition_to_system_disk):
4506 Handle virtual disk devices named /dev/vdiskX as found on sparc
4507 and powerpc.
4508
ac8a2baa 4509 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
4510 lettered partition specifier is found, convert to numbered.
4511
979b4fb4 45122009-04-29 David S. Miller <davem@davemloft.net>
4513
e2bf39b2 4514 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
4515 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4516
3c64e104 4517 * normal/command.c: Add missing newline at end of file.
4518
979b4fb4 4519 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
4520 warnings.
4521 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
4522 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
4523 grub_ofdisk_read): Likewise, and deal similarly with the fact that
4524 ihandles have a 32-bit type but need to be stored in a "void *".
4525
136d9f82 45262009-04-28 Pavel Roskin <proski@gnu.org>
4527
9459c306 4528 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
4529 not disk. Adjust all dependencies.
2e08a26a 4530 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 4531 grub_disk_close().
4532
136d9f82 4533 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
4534 parent's partition, don't copy it by reference, as it gets freed
4535 on close.
4536
7dd4a573 45372009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 4538
4539 Preboot hooks support
4540
4541 * commands/boot.c (struct grub_preboot_t): new declaration
4542 (preboots_head): new variable
4543 (preboots_tail): likewise
4544 (grub_loader_register_preboot_hook): new function
4545 (grub_loader_unregister_preboot_hook): likewise
4546 (grub_loader_set): launch preboot hooks
4547 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
4548 (grub_loader_register_preboot_hook): new declaration
4549 (grub_loader_unregister_preboot_hook): likewise
4550
5af922b5 45512009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 Warning fix
4554
7dd4a573 4555 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 4556 calling grub_dprintf
4557
a5562c30 45582009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 Bug and warning fixes
4561
7dd4a573 4562 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 4563 declaration
4564 * commands/test.c (test_parse): fixed bug with file tests and corrected
4565 declaration of find_file
4566
4006f85c 45672009-04-26 Pavel Roskin <proski@gnu.org>
4568
4569 * Makefile.in: Don't install empty manual pages if help2man is
4570 missing. Use help2man option for output, not shell redirection.
4571
5c77c3de 45722009-04-26 David S. Miller <davem@davemloft.net>
4573
4574 * util/grub-mkdevicemap.c (make_device_map): Add missing
4575 NESTED_FUNC_ATTR to process_device().
4576
033b10a8 45772009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 Test command
4580
4581 * commands/test.c: rewritten to use bash-like test
4582
e4343593 45832009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 Parttool autoloading and improvements
4586
7dd4a573 4587 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 4588 (parttool.lst): new target
4589 * genmk.rb: generate parttool-*
4590 (CLEANFILES): add #{parttool}
4591 (PARTTOOLFILES): new variable
4592 * genparttoollist.sh: new file
7dd4a573 4593 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 4594 (grub_pcpart_type): likewise
4595 * commands/parttool.c (helpmsg): new variable
4596 (grub_cmd_parttool): output help if not enough arguments are supplied
4597 autoload modules
4598 (GRUB_MOD_INIT(parttool)): use helpmsg
4599
0d312500 46002009-04-24 David S. Miller <davem@davemloft.net>
4601
7dd4a573 4602 Avoiding opening same device multiple times in device iterator.
0d312500 4603
4604 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 4605 and use it to build a list of partitions in iterate_disk() and
0d312500 4606 iterate_partition().
4607
ac20caff 4608 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
4609 on disk->data.
4610
0dcf7495 4611 * disk/ieee1275/nand.c (grub_nand_iterate): Return
4612 grub_devalias_iterate() result instead of unconditional 0.
4613 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
4614 Also, capture hook return value, either directly or via
4615 grub_children_iterate(), and propagate to caller.
4616 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
4617 grub_children_iterate): Return value is now 'int' instead of
4618 'grub_err_t'.
4619 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
4620 like a proper iterator, stopping when hooks return non-zero.
4621 (grub_devalias_iterate): Likewise.
4622
c8c08833 46232009-04-23 David S. Miller <davem@davemloft.net>
4624
4625 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
4626
f01005a8 46272009-04-22 David S. Miller <davem@davemloft.net>
4628
4629 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
4630 is larger than address_cells, use that value for address_cells too.
4631
4e8269da 4632 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
4633 IEEE1275_MAX_PATH_LEN): Define.
4634 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
4635 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
4636 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
4637 'devtype'. Explicitly NULL terminate devalias expansion.
4638
a1447506 4639 * util/sparc64/ieee1275/misc.c: New file.
4640 * util/sparc64/ieee1275/grub-setup.c: New file.
4641 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
4642 * util/sparc64/ieee1275/grub-mkimage.c: New file.
4643 * util/sparc64/ieee1275/grub-install.in: New file.
4644 * util/ieee1275/ofpath.c: New file.
4645 * util/ieee1275/devicemap.c: New file.
4646 * util/devicemap.c: New file.
4647 * util/deviceiter.c: New file.
4648 * kern/sparc64/ieee1275/init.c: New file.
4649 * include/grub/util/ofpath.h: New file.
4650 * include/grub/util/deviceiter.h: New file.
4651 * util/grub-mkdevicemap.c: Include deviceiter.h.
4652 Implement using grub_util_emit_devicemap_entry and
4653 grub_util_iterate_devices.
4654 * conf/i386-corebook.rmk: Build util/deviceiter.c and
4655 util/devicemap.c into grub-mkdevicemap
4656 * conf/i386-efi.rmk: Likewise.
4657 * conf/i386-ieee1275.rmk: Likewise.
4658 * conf/i386-pc.rmk: Likewise.
4659 * conf/powerpc-ieee1275.rmk: Likewise.
4660 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
4661 images and installation utilities. Build kernel as image
4662 instead of as elf binary. Use common rules as much as possible.
4663
7dd4a573 46642009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 4665
4666 Correct GPT definition
4667
7dd4a573 4668 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 4669 of "attrib" member
4670
c6c5219f 46712009-04-19 Felix Zielcke <fzielcke@z-51.de>
4672
4673 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
4674
0552ff9f 46752009-04-19 David S. Miller <davem@davemloft.net>
4676
4677 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
4678 (grub_rescue_cmd_linux): Rename to...
4679 (grub_cmd_linux): and fix prototype.
4680 (grub_rescue_cmd_initrd): Rename to...
4681 (grub_cmd_initrd): and fix prototype.
4682 (cmd_linux, cmd_initrd): New.
4683 (GRUB_MOD_INIT(linux)): Use grub_register_command().
4684 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
4685
d1a282fc 46862009-04-17 Pavel Roskin <proski@gnu.org>
4687
07c5039f 4688 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
4689 format.
4690 (grub_ohci_transfer): Likewise.
4691
b012002d 4692 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
4693
1bc09c35 4694 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
4695 return without a value. Fix inconsistent indentation.
4696
e0ff9126 4697 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
4698 match struct grub_fs.
4699
d1a282fc 4700 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
4701 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
4702 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
4703 * commands/lspci.c (grub_lspci_iter): Likewise.
4704
a96df3f2 47052009-04-16 Bean <bean123ch@gmail.com>
4706
4707 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
4708 value.
4709
41bb0fe9 47102009-04-15 Pavel Roskin <proski@gnu.org>
4711
4712 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
4713 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
4714 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
4715 definitions.
4716
596c6970 47172009-04-15 Felix Zielcke <fzielcke@z-51.de>
4718
4719 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 4720 that no multiple data or metadata areas are supported and `Unknown
596c6970 4721 metadata header'.
4722
7dd4a573 47232009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 4724
4725 Move loader out of the kernel
4726
4727 * kern/loader.c: moved to ...
4728 * commands/boot.c: ... moved here
4729 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
4730 * commands/boot.c (grub_cmd_boot): moved here. All users updated
4731 * include/grub/kernel.h (grub_machine_fini): export
4732 * include/grub/loader.h (grub_loader_is_loaded): update declaration
4733 (grub_loader_set): likewise
4734 (grub_loader_unset): likewise
4735 (grub_loader_boot): likewise
4736 * conf/common.rmk: new module boot.mod
4737 (pkglib_MODULES): add boot.mod
4738 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
4739 (grub_emu_SOURCES): likewise
4740 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
4741 (grub_emu_SOURCES): likewise
4742 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
4743 (grub_emu_SOURCES): likewise
4744 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
4745 (grub_emu_SOURCES): likewise
4746 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
4747 (grub_emu_SOURCES): likewise
7dd4a573 4748 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
4749 (grub_emu_SOURCES): likewise
0d5d5653 4750 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 4751 (grub_emu_SOURCES): likewise
0d5d5653 4752
7dd4a573 47532009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 4754
4755 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 4756
5999d619 4757 * kern/misc.c (grub_itoa): Removed function
4758 (grub_ltoa): likewise
4759 (grub_vsprintf): use grub_lltoa
4760
7dd4a573 47612009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 4762
4763 Restore grub-emu
4764
4765 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
4766 * conf/i386-coreboot.rmk: likewise
4767 * conf/i386-ieee1275.rmk: likewise
4768 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 4769
20318222 47702009-04-15 Felix Zielcke <fzielcke@z-51.de>
4771
4772 * INSTALL: Add that `./autogen.sh' needs to be run before
4773 `./configure.'.
4774
d05f0df3 47752009-04-14 Bean <bean123ch@gmail.com>
4776
4777 * Makefile.in (pkglib_DATA): Add handler.lst.
4778 (handler.lst): New rule.
4779
4780 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
4781 * conf/i386-coreboot.rmk: Likewise.
4782 * conf/i386-ieee1275.rmk: Likewise.
4783 * conf/i386-efi.rmk: Likewise.
4784 * conf/x86_64-efi.rmk: Likewise.
4785 * conf/powerpc-ieee1275.rmk: Likewise.
4786 * conf/sparc64-ieee1275.rmk: Likewise.
4787
4788 * genhandlerlist.sh: New file.
4789
4790 * genmk.rb: Add rules to generate handler.lst.
4791
4792 * include/grub/normal.h (grub_file_getline): New function definition.
4793 (read_handler_list): Likewise.
4794 (free_handler_list): Likewise.
4795
4796 * include/grub/term.h (grub_term_register_input): Add name parameter
4797 for auto generation of handler.lst.
4798 (grub_term_register_output): Likewise.
4799
4800 * normal/handler.c: New file.
4801
4802 * normal/main.c (get_line): Renamed to grub_file_getline.
4803 (read_config_file): Use the newly renamed grub_file_getline.
4804 (read_command_list): Likewise.
4805 (read_fs_list): Likewise.
4806 (grub_normal_execute): Call read_handler_list to parse handler.lst.
4807 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
4808
4809 * term/efi/console.c (grub_console_init): Add name parameter for auto
4810 generation of handler.lst.
4811 * term/gfxterm.c: Likewise.
4812 * term/i386/pc/at_keyboard.c: Likewise.
4813 * term/i386/pc/console.c: Likewise.
4814 * term/i386/pc/serial.c: Likewise.
4815 * term/i386/pc/vesafb.c: Likewise.
4816 * term/i386/pc/vga.c: Likewise.
4817 * term/i386/pc/vga_text.c: Likewise.
4818 * term/ieee1275/ofconsole.c: Likewise.
4819 * term/usb_keyboard.c: Likewise.
4820
33c846be 48212009-04-14 Bean <bean123ch@gmail.com>
4822
4823 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
4824 properly with null character.
4825
4484e01e 48262009-04-14 Felix Zielcke <fzielcke@z-51.de>
4827
4828 * configure: Remove.
4829 * config.h.in: Likewise.
f93d668e 4830 * stamp-h.in: Likewise.
4484e01e 4831 * DISTLIST: Likewise.
4832 * conf/common.mk: Likewise.
4833 * conf/i386-coreboot.mk: Likewise.
4834 * conf/i386-efi.mk: Likewise.
4835 * conf/i386-ieee1275.mk: Likewise.
4836 * conf/i386.mk: Likewise.
4837 * conf/i386-pc.mk: Likewise.
4838 * conf/powerpc-ieee1275.mk: Likewise.
4839 * conf/sparc64-ieee1275.mk: Likewise.
4840 * conf/x86_64-efi.mk: Likewise.
4841
4842 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
4843 develop on GRUB.
4844
7dd4a573 48452009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 4846 David S. Miller <davem@davemloft.net>
4847
4848 * util/hostdisk.c (make_device_name): Fix buffer length
4849 calculations.
4850
e25b5a8c 48512009-04-14 Felix Zielcke <fzielcke@z-51.de>
4852
4853 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
4854 <sys/param.h> and <sys/sysctl.h>.
4855 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
4856 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
4857 opening the device and reset them afterwards.
4858
1f1f580c 48592009-04-13 Pavel Roskin <proski@gnu.org>
4860
4861 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
4862 Reported by John Stanley <jpsinthemix@verizon.net>
4863
7ebc2d6b 48642009-04-13 Robert Millan <rmh@aybabtu.com>
4865
4866 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 4867 that name for menuentries when appropriate.
7ebc2d6b 4868
d8ba3667 48692009-04-13 Felix Zielcke <fzielcke@z-51.de>
4870
4871 * util/grub.d/10_freebsd.in: Add a missing `fi'.
4872
cba416eb 48732009-04-13 Robert Millan <rmh@aybabtu.com>
4874
4875 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
4876 to Linux, simply abort telling the user it's no longer supported.
4877
a547a745 48782009-04-13 Felix Zielcke <fzielcke@z-51.de>
4879
4880 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 4881 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 4882 `freebsd_loadenv' only when devices.hints exist.
4883
232a769c 48842009-04-13 Pavel Roskin <proski@gnu.org>
4885
4886 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
4887
c3012039 48882009-04-13 Felix Zielcke <fzielcke@z-51.de>
4889
4890 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
4891 partition number.
4892 (grub_drive): Likewise.
4893
234022fe 48942009-04-13 David S. Miller <davem@davemloft.net>
4895
4896 * kern/sparc64/ieee1275/ieee1275.c: New file.
4897 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
4898 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
4899 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
4900 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
4901 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
4902 grub_ieee1275_alloc_physmem): Declare new exported functions.
4903
d8e1836c 4904 * include/grub/sparc64/ieee1275/loader.h: New file.
4905 * include/grub/sparc64/ieee1275/memory.h: Likewise.
4906 * include/grub/sparc64/kernel.h: Likewise.
4907 * loader/sparc64/ieee1275/linux.c: Likewise.
4908
96bd81ec 4909 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
4910 (grub_fstest_SOURCES): Likewise.
4911
6a4737e5 4912 * util/hostdisk.c (make_device_name): Do not make any assumptions
4913 about the length of drive names.
4914
1d7a72fd 4915 * kern/dl.c (grub_dl_load_file): Close file immediately when
4916 we are done using it.
4917
56bc2471 49182009-04-12 David S. Miller <davem@davemloft.net>
4919
4920 * kern/misc.c (grub_ltoa): Fix cast when handling negative
4921 values. Noticed by Pavel Roskin.
4922
df38d0bb 4923 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
4924 target compiler.
7dd4a573 4925
e382e93a 4926 * genmk.rb: Add more flexible image type specification, also
4927 pass --strip-unneeded to objcopy.
4928 * conf/i386-pc.rmk: Use *_FORMAT.
4929 * conf/i386-pc.mk: Rebuilt.
4930
f5dbbca9 4931 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
4932 (OFDISK_HASH_SZ): Define.
4933 (ofdisk_hash): New hash table.
4934 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
4935 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
4936 instead of device phandle which is not unique.
4937
91c88b12 4938 * kern/sparc64/ieee1275/init.c: Delete, replace with...
4939 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
4940 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
4941 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
4942 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
4943 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
4944 GRUB_KERNEL_MACHINE_DATA_END): Define.
4945 (grub_kernel_image_size, grub_total_module_size): Declare.
4946
5b5d4aa5 49472009-04-12 Pavel Roskin <proski@gnu.org>
4948
7dd4a573 4949 * configure.ac: Change the logic when we check for target tools.
4950 Do it when the target is specified and it's different from the
4951 specified value of the host.
5b5d4aa5 4952
c91e1793 49532009-04-11 Felix Zielcke <fzielcke@z-51.de>
4954
4955 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
4956 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
4957 GNU/kFreeBSD. Check if a device is a character device. Use
4958 DIOCGMEDIASIZE to get the size.
4959 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
4960 support for GNU/kFreeBSD.
4961 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
4962 is a character device instead of a block device. Add support for
4963 FreeBSD device names.
4964
4965 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
4966 is a character device instead of a block device.
4967
4968 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
4969 is a character device instead of a block device.
4970
b1ac8644 49712009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
4972
4973 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
4974 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
4975 FreeBSD. Check if a device is a character device. Use
4976 DIOCGMEDIASIZE to get the size.
4977 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
4978 support for FreeBSD.
4979 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
4980 is a character device instead of a block device. Add support for
4981 FreeBSD device names.
4982
4983 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
4984 a character device instead of a block device.
4985 (grub_util_check_char_device): New function.
4986
4987 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
4988 a character device instead of a block device.
4989
4990 * include/grub/util/getroot.h (grub_util_check_char_device): New
4991 prototype.
4992
a3f7515a 49932009-04-11 David S. Miller <davem@davemloft.net>
4994
4995 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
4996 static libgcc.
4997 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
4998 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
4999 function, if present.
5000 (__bswapdi2): Likewise.
5001
0d44993d 5002 * include/grub/sparc64/ieee1275/boot.h: New file.
5003 * boot/sparc64/ieee1275/boot.S: Likewise.
5004 * boot/sparc64/ieee1275/diskboot.S: Likewise.
5005
ed3d2bc2 5006 * kern/misc.c (grub_ltoa): New function.
5007 (grub_vsprintf): Use it to format 'long' integers.
5008
d3bfb59c 50092009-04-10 David S. Miller <davem@davemloft.net>
5010
5011 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
5012 slots are of type grub_ieee1275_cell_t.
5013 (grub_nand_read): Likewise.
5014 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
5015 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
5016 macros are used to compare values in arg/ret block of the call.
5017 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
5018 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
5019 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
5020 grub_ieee1275_instance_to_path, grub_ieee1275_write,
5021 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
5022 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
5023 grub_ieee1275_close, grub_ieee1275_set_property,
5024 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
5025 grub_ieee1275_cell_t.
5026 * kern/ieee1275/openfw.c (grub_map): Likewise.
5027 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
5028 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
5029
450e2238 5030 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
5031 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5032 (grub_devalias_iterate): Likewise.
5033
7dd4a573 50342009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 5035
5036 UFS improvements
5037
5038 * fs/ufs.c (INODE_NBLOCKS): new definition
5039 (struct grub_ufs_dirent): added fields for non-BSD dirents
5040 (grub_ufs_get_file_block): fixed double indirect handling
5041 (grub_ufs_lookup_symlink): use more robust way to determine whether
5042 symlink is inline
5043 (grub_ufs_find_file): support for non-BSD dirents
5044 (grub_ufs_dir): support for non-BSD dirents
5045
e7e6862a 50462009-04-10 Bean <bean123ch@gnail.com>
5047
5048 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
5049 attribute, otherwise the size would be wrong for i386 platform.
5050
5051 * include/grub/pci.h (grub_pci_read_word): New inline function.
5052 (grub_pci_read_byte): Likewise.
5053 (grub_pci_write): Likewise.
5054 (grub_pci_write_word): Likewise.
5055 (grub_pci_write_byte): Likewise.
5056
5057 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
5058
5059 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
5060 (find_framebuf): Scan pci to locate the frame buffer address.
5061
5062 * commands/efi/fixvideo.c: New file.
5063
5064 * commands/efi/loadbios.c: Likewise.
5065
5066 * commands/memrw.c: Likewise.
5067
5068 * util/grub-dumpbios.in: Likewise.
5069
5070 * conf/common.rmk (grub-dumpbios): New utility.
5071 (pkglib_MODULES): New module memrw.mod.
5072 (memrw_mod_SOURCE): New macro.
5073 (memrw_mod_CFLAGS): Likewise.
5074 (memrw_mod_LDFLAGS): Likewise.
5075
7dd4a573 5076 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5077 fixvideo.mod.
5078 (loadbios_mod_SOURCE): New macro.
5079 (loadbios_mod_CFLAGS): Likewise.
5080 (loadbios_mod_LDFLAGS): Likewise.
5081 (fixvideo_mod_SOURCE): Likewise.
5082 (fixvideo_mod_CFLAGS): Likewise.
5083 (fixvideo_mod_LDFLAGS): Likewise.
5084
7dd4a573 5085 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5086 fixvideo.mod.
5087 (loadbios_mod_SOURCE): New macro.
5088 (loadbios_mod_CFLAGS): Likewise.
5089 (loadbios_mod_LDFLAGS): Likewise.
5090 (fixvideo_mod_SOURCE): Likewise.
5091 (fixvideo_mod_CFLAGS): Likewise.
5092 (fixvideo_mod_LDFLAGS): Likewise.
5093
af63ada2 50942009-04-08 Felix Zielcke <fzielcke@z-51.de>
5095
5096 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
5097
c2cdde70 50982009-04-07 David S. Miller <davem@davemloft.net>
5099
5100 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
5101 support for R_SPARC_OLO10 relocations. Fix compile warning for
5102 R_SPARC_WDISP30 case.
ea3f72cf 5103 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 5104
761319cf 51052009-04-06 Pavel Roskin <proski@gnu.org>
5106
1007d1f5 5107 * include/grub/misc.h (ARRAY_SIZE): New macro.
5108 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
5109 New macro.
5110 * loader/i386/linux.c (allocate_pages): Use free_pages().
5111 (grub_linux_unload): Don't use free_pages().
5112 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
5113 wrong index. Treat all other modes as text modes.
5114 (grub_cmd_linux): Initialize vid_mode unconditionally to
5115 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
5116
761319cf 5117 * commands/help.c (print_command_help): Use cmd->prio, not
5118 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
5119
ea761d40 51202009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 5121
ea761d40 5122 Parttool
5123
5124 * parttool/pcpart.c: new file
5125 * commands/parttool.c: likewise
5126 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
5127 (parttool_mod_SOURCES): new variable
5128 (parttool_mod_CFLAGS): likewise
5129 (parttool_mod_LDFLAGS): likewise
5130 (pcpart_mod_SOURCES): likewise
5131 (pcpart_mod_CFLAGS): likewise
5132 (pcpart_mod_LDFLAGS): likewise
7dd4a573 5133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 5134 and parttool/pcpart.c
5135 * conf/i386-efi.rmk: likewise
5136 * conf/i386-ieee1275.rmk: likewise
5137 * conf/i386-pc.rmk: likewise
5138 * conf/powerpc-ieee1275.rmk: likewise
5139 * conf/sparc64-ieee1275.rmk: likewise
5140 * conf/x86_64-ieee1275.rmk: likewise
5141
05aaebfb 51422009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 Support for mtime and further expandability of dir command
5145
5146 * include/grub/lib/datetime.h: moved to ...
7dd4a573 5147 * include/grub/datetime.h: ... moved here and added
05aaebfb 5148 declaration of grub_unixtime2datetime. All users updated
7dd4a573 5149 * include/grub/fs.h: new syntax for dir and mtime functions in
5150 struct grub_fs
05aaebfb 5151 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
5152 and GRUB_FSHELP_FLAGS_MASK
5153 * commands/ls.c (grub_ls_list_files): Write mtime in long format
5154 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
5155 (grub_ext2_mtime): new function
5156 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
5157 (grub_hfsplus_mtime): new function
5158 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
5159 (GRUB_UFS_ATTR_FILE): likewise
5160 (GRUB_UFS_ATTR_LNK): likewise
5161 (struct grub_ufs_sblock): new fields mtime
5162 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
5163 all users updated
5164 (grub_ufs_dir): mtime support
5165 (grub_ufs_mtime): new function
5166 * fs/affs.c (grub_affs_dir): use new dir syntax
5167 * fs/afs.c (grub_afs_dir): likewise
5168 * fs/cpio.c (grub_cpio_dir): likewise
5169 * fs/fat.c (grub_fat_find_dir): likewise
5170 * fs/hfs.c (grub_hfs_dir): likewise
5171 * fs/iso9660.c (grub_iso9660_dir): likewise
5172 * fs/jfs.c (grub_jfs_dir): likewise
5173 * fs/minix.c (grub_minix_dir): likewise
5174 * fs/ntfs.c (grub_ntfs_dir): likewise
5175 * fs/reiserfs.c (grub_reiserfs_dir): likewise
5176 * fs/sfs.c (grub_sfs_dir): likewise
5177 * fs/xfs.c (grub_xfs_dir): likewise
5178 * util/hostfs.c (grub_hostfs_dir): likewise
5179 * lib/datetime.c: moved to ...
5180 * normal/datetime.c: ... moved here
5181 (grub_unixtime2datetime): new function
5182 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 5183 * normal/completion.c (iterate_dir): use new dir syntax
5184 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 5185 last modification time of a volume
7dd4a573 5186 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 5187 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 5188 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 5189 (normal_mod_SOURCES): likewise
5190 (datetime_mod_SOURCES): Removed lib/datetime.c
5191 * conf/i386-efi.rmk: likewise
7dd4a573 5192 * conf/i386-ieee1275.rmk: likewise
05aaebfb 5193 * conf/i386-pc.rmk: likewise
5194 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5195 * conf/sparc64-ieee1275.rmk: likewise
5196 * conf/x86_64-efi.rmk: likewise
05aaebfb 5197
8a7e1a14 51982009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 5201
5202 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 5203 on grub_fat_find_dir
5204 (grub_fat_find_dir): use grub_fat_iterate_dir
5205 (grub_fat_label): likewise
5206
04186a9c 52072009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5208
7dd4a573 5209 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 5210 and command.h
5211 remove extraneous kernel_elf_HEADERS
5212
da4c0bb6 52132009-04-04 Bean <bean123ch@gnail.com>
5214
5215 * include/grub/util/misc.h: Add dummy function fsync for mingw.
5216
5217 * util/misc.c: Likewise.
5218
54ad9555 52192009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
5220
5221 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
5222 instead of grub_printf.
5223
7a6bf9f2 52242009-04-03 Robert Millan <rmh@aybabtu.com>
5225
5226 * loader/i386/linux.c (grub_linux_setup_video): Fill
5227 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
5228 values from `mode info' structure instead of hardcoded
5229 values.
5230
3fcc2083 52312009-04-01 Pavel Roskin <proski@gnu.org>
5232
5233 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
5234 unused now.
5235 * genmk.rb: Likewise.
5236 * configure.ac: Likewise.
5237
5ec9740b 52382009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
5239
5240 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
5241 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
5242
5270cec8 52432009-04-01 David S. Miller <davem@davemloft.net>
5244
5245 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 5246 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 5247 (grub_setjmp): Mark with 'returns_twice' attribute.
5248 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
5249 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
5250 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
5251
9c3dd854 52522009-04-01 Robert Millan <rmh@aybabtu.com>
5253
5254 Reapply fix from 2008-07-28 which was accidentally reverted; also
5255 perform the same fix to a similar check in same function.
5256
5257 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
5258 with the same number are found, just use issue a warning with
5259 grub_dprintf(), as this error has been reported to be non-fatal.
5260
0d818b7e 52612009-03-31 Pavel Roskin <proski@gnu.org>
5262
5263 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
5264 for cross-compilation.
5265
95646d92 52662009-03-30 Robert Millan <rmh@aybabtu.com>
5267
5268 Fix i386-ieee1275 build.
5269
5270 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
5271 Remove declaration.
5272
6a003ed1 52732009-03-30 Pavel Roskin <proski@gnu.org>
5274
5275 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
5276 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
5277 zero-terminated, rely only on the strlen value. Fix comparison
5278 of strings differing in length.
5279
92f33540 52802009-03-30 Robert Millan <rmh@aybabtu.com>
5281
5282 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
5283 checking for abi version. Improve error messages on BIOS to notify
5284 user about `linux16' command.
5285
a8c48fd5 52862009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5287
f968172e 5288 Leak fixes
a8c48fd5 5289
f968172e 5290 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
5291 in case of collision
5292 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 5293
9c323f09 52942009-03-29 Robert Millan <rmh@aybabtu.com>
5295
5296 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
5297 set `vid_mode' accordingly.
5298 (grub_linux_boot): Process `vid_mode' and set video mode.
5299
ae68f423 53002009-03-29 Robert Millan <rmh@aybabtu.com>
5301
5302 * util/grub.d/10_linux.in (linux_entry): New function.
5303 Factorize generation of Linux boot entries.
5304
5709cfc4 53052009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
5306
5307 Make the format of Environment Block plain text. The boot loader
5308 part is not tested well yet.
7dd4a573 5309
5709cfc4 5310 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
5311 (buffer): Removed.
5312 (envblk): Likewise.
5313 (usage): Remove "info" and "clear". Add "unset". Update the
5314 description of "set", as this does not delete variables any
5315 longer.
5316 (create_envblk_file): Complete rewrite.
5317 (open_envblk_file): Likewise.
5318 (cmd_info): Removed.
5319 (cmd_list): Likewise.
5320 (cmd_set): Likewise.
5321 (cmd_clear): Likewise.
5322 (list_variables): New function.
5323 (write_envblk): Likewise.
5324 (set_variables): Likewise.
5325 (unset_variables): Likewise.
5326 (main): Complete rewrite.
5327
5328 * commands/loadenv.c (buffer): Removed.
5329 (envblk): Likewise.
5330 (open_envblk_file): New function.
5331 (read_envblk_file): Complete rewrite.
5332 (grub_cmd_load_env): Likewise.
5333 (grub_cmd_list_env): Likewise.
5334 (struct blocklist): New struct.
5335 (free_blocklists): New function.
5336 (check_blocklists): Likewise.
5337 (write_blocklists): Likewise.
5338 (grub_cmd_save_env): Complete rewrite.
5339
5340 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
5341 a plain text signature.
5342 (GRUB_ENVBLK_MAXLEN): Removed.
5343 (struct grub_envblk): Complete rewrite.
5344 (grub_envblk_find): Removed.
5345 (grub_envblk_insert): Likewise.
5346 (grub_envblk_open): New prototype.
5347 (grub_envblk_set): Likewise.
5348 (grub_envblk_delete): Put const to VALUE.
5349 (grub_envblk_iterate): Put const to NAME and VALUE.
5350 (grub_envblk_close): New prototype.
5351 (grub_envblk_buffer): New inline function.
5352 (grub_envblk_size): Likewise.
5353
5354 * lib/envblk.c: Include grub/mm.h.
5355 (grub_env_find): Removed.
5356 (grub_envblk_open): New function.
5357 (grub_envblk_close): Likewise.
5358 (escaped_value_len): Likewise.
5359 (find_next_line): Likewise.
5360 (grub_envblk_insert): Removed.
5361 (grub_envblk_set): New function.
5362 (grub_envblk_delete): Complete rewrite.
5363 (grub_envblk_iterate): Likewise.
5364
a9368fd3 53652009-03-28 Robert Millan <rmh@aybabtu.com>
5366
5367 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
5368 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
5369 variables. Use 16-bit loader.
5370 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
5371 loader.
5372 * kern/i386/loader.S (grub_linux_boot): Rename to ...
5373 (grub_linux16_boot): ... this. Update all users.
5374 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
5375 (grub_linux_boot): ... this. Update all users.
5376
5377 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
5378 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
5379 commands to `linux16' and `initrd16'.
5380 (GRUB_MOD_FINI(linux)): Rename to ...
5381 (GRUB_MOD_FINI(linux16)): ... this.
5382
e4dd5a7e 53832009-03-24 Pavel Roskin <proski@gnu.org>
5384
5385 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
5386 not just for compilation.
5387
c04d6e05 53882009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 Move multiboot helper out of kernel
5391
5392 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
5393 `loader/i386/multiboot_helper.S'.
5394 * conf/i386-coreboot.rmk: Likewise
5395 * conf/i386-ieee1275.rmk: Likewise
5396
5397 * kern/i386/loader.S: Move multiboot helpers from here...
5398 * loader/i386/multiboot_helper.S: ...moved here
5399 * include/grub/i386/loader.h: Move declarations of multiboot
5400 helpers from here...
5401 * include/grub/i386/multiboot.h: ...moved here
5402 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
5403
42a5b3fc 54042009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5405
5406 * kern/env.c (grub_env_context_open): Added an argument to specify
5407 whether a new context inherits exported variables from current
5408 one. This is useful when making a sandbox to interpret a config
5409 file.
5410 All callers updated.
5411
5412 * include/grub/env.h (grub_env_context_open): Updated the prototype.
5413
b28bbc4e 54142009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5415
5416 * kern/env.c (grub_env_context_close): Fix memory leaks.
5417
f04f02e4 54182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
5419
5420 * normal/main.c (grub_normal_execute): Added an argument
5421 BATCH to specify if an interactive interface should be provided
5422 after reading a config file.
5423 All callers updated.
5424 (read_command_list): Prevent being executed twice.
5425 (read_fs_list): Likewise.
5426
42a5b3fc 5427 * include/grub/normal.h (grub_normal_execute): Updated the
5428 prototype.
f04f02e4 5429
41473ac2 54302009-03-22 Pavel Roskin <proski@gno.org>
5431
fbc00b0c 5432 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
5433 _start.
5434 * kern/i386/pc/startup.S: Likewise.
5435 * kern/i386/efi/startup.S: Likewise.
5436 * kern/i386/ieee1275/startup.S: Likewise.
5437 * kern/i386/coreboot/startup.S: Likewise.
5438 * kern/x86_64/efi/startup.S: Likewise.
5439
41473ac2 5440 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
5441 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
5442 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
5443
2274cc8f 54442009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 Bugfixes in multiboot for bugs uncovered by solaris kernel.
5447
5448 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
5449 limit detection.
5450 Use vaddr of correct segment for entry_point.
5451
b1b797cb 54522009-03-21 Bean <bean123ch@gmail.com>
5453
5454 * commands/blocklist.c: Add include file <grub/command.h>, remove
5455 <grub/normal.h> and <grub/arg.h>.
5456 (grub_cmd_blocklist): Use the new command interface.
5457 (GRUB_MOD_INIT): Likewise.
5458 (GRUB_MOD_FINI): Likewise.
5459 * commands/boot.c: Likewise.
5460 * commands/cat.c: Likewise.
5461 * commands/cmp.c: Likewise.
5462 * commands/configfile.c: Likewise.
5463 * commands/crc.c: Likewise.
5464 * commands/echo.c: Likewise.
5465 * commands/halt.c: Likewise.
5466 * commands/handler.c: Likewise.
5467 * commands/hdparm.c: Likewise.
5468 * commands/help.c: Likewise.
5469 * commands/hexdump.c: Likewise.
5470 * commands/loadenv.c: Likewise.
5471 * commands/ls.c: Likewise.
5472 * commands/lsmmap.c: Likewise.
5473 * commands/lspci.c: Likewise.
5474 * commands/loadenv.c: Likewise.
5475 * commands/read.c: Likewise.
5476 * commands/reboot.c: Likewise.
5477 * commands/search.c: Likewise.
5478 * commands/sleep.c: Likewise.
5479 * commands/test.c: Likewise.
5480 * commands/usbtest.c: Likewise.
5481 * commands/videotest.c: Likewise.
5482 * commands/i386/cpuid.c: Likewise.
5483 * commands/i386/pc/halt.c: Likewise.
5484 * commands/i386/pc/play.c: Likewise.
5485 * commands/i386/pc/pxecmd.c: Likewise.
5486 * commands/i386/pc/vbeinfo.c: Likewise.
5487 * commands/i386/pc/vbetest.c: Likewise.
5488 * commands/ieee1275/suspend.c: Likewise.
5489 * disk/loopback.c: Likewise.
5490 * font/font_cmd.c: Likewise.
5491 * hello/hello.c: Likewise.
5492 * loader/efi/appleloader.c: Likewise.
5493 * loader/efi/chainloader.c: Likewise.
5494 * loader/i386/bsd.c: Likewise.
5495 * loader/i386/efi/linux.c: Likewise.
5496 * loader/i386/ieee1275/linux.c: Likewise.
5497 * loader/i386/linux.c: Likewise.
5498 * loader/i386/pc/chainloader.c: Likewise.
5499 * loader/i386/pc/linux.c: Likewise.
5500 * loader/powerpc/ieee1275/linux.c: Likewise.
5501 * loader/multiboot_loader.c: Likewise.
5502 * term/gfxterm.c: Likewise.
5503 * term/i386/pc/serial.c: Likewise.
5504 * term/terminfo.c: Likewise.
5505
5506 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
5507 * term/i386/pc/vga.c: Likewise.
5508 * video/readers/jpeg.c: Likewise.
5509 * video/readers/png.c: Likewise.
5510 * video/readers/tga.c: Likewise.
5511
5512 * util/grub-fstest (cmd_loopback): Removed.
5513 (cmd_blocklist): Likewise.
5514 (cmd_ls): Likewise.
5515 (grub_register_command): Likewise.
5516 (grub_unregister_command): Likewise.
5517 (execute_command): Use grub_command_find to locate command and execute
5518 it.
5519
5520 * include/grub/efi/chainloader.h: Removed.
5521 * loader/efi/chainloader_normal.c: Likewise.
5522 * loader/i386/bsd_normal.c: Likewise.
5523 * loader/i386/pc/chainloader_normal.c: Likewise.
5524 * loader/i386/pc/multiboot_normal.c: Likewise.
5525 * loader/linux_normal.c: Likewise.
5526 * loader/multiboot_loader_normal.c: Likewise.
5527 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
5528
5529 * gencmdlist.sh: Scan new registration command grub_register_extcmd
5530 and grub_register_command_p1.
5531
5532 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
5533 kern/command.c, lib/arg.c and commands/extcmd.c.
5534 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
5535 (minicmd_mod_SOURCES): New variable.
5536 (minicmd_mod_CFLAGS): Likewise.
5537 (minicmd_mod_LDFLAGS): Likewise.
5538 (extcmd_mod_SOURCES): Likewise.
5539 (extcmd_mod_CFLAGS): Likewise.
5540 (extcmd_mod_LDFLAGS): Likewise.
5541 (boot_mod_SOURCES): Removed.
5542 (boot_mod_CFLAGS): Likewise.
5543 (boot_mod_LDFLAGS): Likewise.
5544
5545 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
5546 kern/corecmd.c.
5547 (kernel_img_HEADERS): Add command.h.
5548 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
5549 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
5550 and lib/arg.c.
5551 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
5552 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
5553 remove the corresponding normal mode command.
5554 (normal_mod_SOURCES): Remove normal/arg.c.
5555 * conf/i386-coreboot.rmk: Likewise.
5556 * conf/i386-efi.rmk: Likewise.
5557 * conf/i386-ieee1275.rmk: Likewise.
5558 * conf/powerpc-ieee1275.rmk: Likewise.
5559 * conf/x86_64-efi.rmk: Likewise.
5560
5561 * include/grub/arg.h: Move from here ...
5562 * include/grub/lib/arg.h: ... to here.
5563
5564 * normal/arg.c: Move from here ...
5565 * lib/arg.c: ... to here.
5566
5567 * commands/extcmd.c: New file.
5568 * commands/minicmd.c: Likewise.
5569 * include/grub/command.h: Likewise.
5570 * include/grub/extcmd.h: Likewise.
5571 * kern/command.c: Likewise.
5572 * kern/corecmd.c: Likewise.
5573
5574 * kern/list.c (grub_list_iterate): Return int instead of void.
5575 (grub_list_insert): New function.
5576 (grub_prio_list_insert): Likewise.
5577
5578 * kern/rescue.c (grub_rescue_command): Removed.
5579 (grub_rescue_command_list): Likewise.
5580 (grub_rescue_register_command): Likewise.
5581 (grub_rescue_unregister_command): Likewise.
5582 (grub_rescue_cmd_boot): Move to minicmd.c
5583 (grub_rescue_cmd_help): Likewise.
5584 (grub_rescue_cmd_info): Likewise.
5585 (grub_rescue_cmd_boot): Likewise.
5586 (grub_rescue_cmd_testload): Likewise.
5587 (grub_rescue_cmd_dump): Likewise.
5588 (grub_rescue_cmd_rmmod): Likewise.
5589 (grub_rescue_cmd_lsmod): Likewise.
5590 (grub_rescue_cmd_exit): Likewise.
5591 (grub_rescue_print_devices): Moved to corecmd.c.
5592 (grub_rescue_print_files): Likewise.
5593 (grub_rescue_cmd_ls): Likewise.
5594 (grub_rescue_cmd_insmod): Likewise.
5595 (grub_rescue_cmd_set): Likewise.
5596 (grub_rescue_cmd_unset): Likewise.
7d074e3c 5597 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 5598 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 5599 commands, remove grub_rescue_register_command calls.
b1b797cb 5600
7d074e3c 5601 * normal/command.c (grub_register_command): Removed.
b1b797cb 5602 (grub_unregister_command): Likewise.
5603 (grub_command_find): Likewise.
5604 (grub_iterate_commands): Likewise.
5605 (rescue_command): Likewise.
5606 (export_command): Moved to corecmd.c.
5607 (set_command): Removed.
5608 (unset_command): Likewise.
5609 (insmod_command): Likewise.
5610 (rmmod_command): Likewise.
5611 (lsmod_command): Likewise.
5612 (grub_command_init): Likewise.
5613
5614 * normal/completion.c (iterate_command): Use cmd->prio to check for
5615 active command.
5616 (complete_arguments): Use grub_extcmd_t structure to find options.
5617 (grub_normal_do_completion): Change function grub_iterate_commands to
5618 grub_command_iterate.
5619
5620 * normal/execute.c (grub_script_execute_cmd): No need to parse
5621 argument here.
5622
5623 * normal/main.c (grub_dyncmd_dispatcher): New function.
5624 (read_command_list): Register unload commands as dyncmd.
5625 (grub_cmd_normal): Use new command interface, register rescue,
5626 unregister normal at entry, register normal, unregister rescue at exit.
5627
5628 * include/grub/list.h (grub_list_test_t): New type.
5629 (grub_list_iterate): Return int instead of void.
5630 (grub_list_insert): New function.
5631 (GRUB_AS_NAMED_LIST_P): New macro.
5632 (GRUB_AS_PRIO_LIST): Likewise.
5633 (GRUB_AS_PRIO_LIST_P): Likewise.
5634 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
5635 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
5636 (grub_prio_list): New structure.
5637 (grub_prio_list_insert): New function.
5638 (grub_prio_list_remove): New inline function.
5639
5640 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
5641 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
5642 (GRUB_COMMAND_FLAG_MENU): Likewise.
5643 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5644 (GRUB_COMMAND_FLAG_TITLE): Likewise.
5645 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5646 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
5647 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
5648 (grub_command): Likewise.
5649 (grub_register_command): Likewise.
5650 (grub_command_find): Likewise.
5651 (grub_iterate_commands): Likewise.
5652 (grub_command_init): Likewise.
5653 (grub_arg_parse): Likewise.
5654 (grub_arg_show_help): Likewise.
5655
5656 * include/grub/rescue.h (grub_rescue_register_command): Removed.
5657 (grub_rescue_unregister_command): Likewise.
5658
5659 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
5660 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
5661 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
5662
5663 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
5664 grub_rescue_cmd_initrd.
5665 * include/grub/i386/loader.h: Likewise.
5666 * include/grub/x86_64/loader.h: Likewise.
5667
5668 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
5669
1f4147aa 56702009-03-21 Bean <bean123ch@gmail.com>
5671
5672 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
5673 instead of stat in mingw environment.
5674
5675 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
5676
5677 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
5678
5679 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
5680 AC_CONFIG_LINKS.
5681
2156d5ba 56822009-03-21 Bean <bean123ch@gmail.com>
5683
5684 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
5685 out of range error.
5686
177b82ca 56872009-03-18 Michel Dänzer <michel@daenzer.net>
5688
5689 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
5690 checking inode flags for EXT4_EXTENTS_FLAG.
5691
14aad807 56922009-03-18 Robert Millan <rmh@aybabtu.com>
5693
5694 * loader/i386/linux.c: Include `<grub/video.h>' and
5695 `<grub/i386/pc/vbe.h>'..
5696 (grub_linux_setup_video): New function. Loosely based on the EFI one.
5697 (grub_linux32_boot): Attempt to configure video settings with
5698 grub_linux_setup_video().
5699 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
5700 to avoid grub_console_fini() which would step out of graphical mode
5701 unconditionally.
5702
8cf83a27 57032009-03-14 Robert Millan <rmh@aybabtu.com>
5704
5705 Fix build on powerpc.
5706 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
5707
40164e75 57082009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
5711 background image command.
5712
c58bc32a 57132009-03-12 Colin D Bennett <colin@gibibit.com>
5714
5715 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
5716 (grub_gfxterm_putchar): Extract pairs of identical calls to
5717 draw_cursor out of conditional blocks.
5718
5415144a 57192009-03-11 Pavel Roskin <proski@gnu.org>
5720
5721 * fs/hfs.c (grub_hfs_strncasecmp): New function.
5722 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
5723
6394042e 57242009-03-11 Robert Millan <rmh@aybabtu.com>
5725
5726 * loader/i386/multiboot_elfxx.c
5727 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
5728
b7b50e5f 57292009-03-11 Felix Zielcke <fzielcke@z-51.de>
5730
5731 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
5732 `kern/handler.c'.
5733
1ca7fc96 57342009-03-11 Robert Millan <rmh@aybabtu.com>
5735
5736 * loader/i386/multiboot.c (code_size): New variable.
5737 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 5738 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 5739 4-byte alignment to MBI and others by increasing
7d074e3c 5740 `boot_loader_name_length' appropriately.
1ca7fc96 5741
5742 * loader/i386/multiboot_elfxx.c
5743 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
5744
a83ea1d2 57452009-03-09 Felix Zielcke <fzielcke@z-51.de>
5746
5747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
5748 `fs/ext2.c'.
5749
aa9f3bff 57502009-03-08 Robert Millan <rmh@aybabtu.com>
5751
5752 Make loader/i386/linux.c usable on i386-pc again.
5753
5754 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
5755 memory to heap.
5756 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
5757 `#error' stanza.
5758
d8b3b60e 57592009-03-07 Bean <bean123ch@gmail.com>
5760
5761 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
5762 allocation.
5763
b362c9e9 57642009-03-06 Robert Millan <rmh@aybabtu.com>
5765
5766 Fix display issue on terminals with screen size other than 80x25
5767 (e.g. gfxterm with resolution higher than 640x480).
5768
5769 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 5770 position relative to the center of the terminal instead of relying
b362c9e9 5771 on a hardcoded offset.
5772
9304eef1 57732009-03-04 Robert Millan <rmh@aybabtu.com>
5774
5775 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
5776 installed.
5777
5778 * Makefile.in (host_kernel): New variable.
5779 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
5780 scripts instead of just the windows one.
5781 * configure.ac: Initialize and AC_SUBST `host_kernel'.
5782
eabc95fb 57832009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 5784
5785 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
5786 `kern/handler.c'.
5787 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5788 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5789 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5791 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5792 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5793
ceb1223c 57942009-03-04 Felix Zielcke <fzielcke@z-51.de>
5795
5796 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
5797 or if there's no space for the disk label and print the partition number on a
5798 invalid magic.
5799
4910684a 58002009-03-04 Felix Zielcke <fzielcke@z-51.de>
5801
5802 * util/misc.c: Include <time.h>.
5803 (grub_millisleep): New function.
5804
7e9ca17a 58052009-03-04 Bean <bean123ch@gmail.com>
5806
5807 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
5808 another option -mno-red-zone.
5809
5810 * commands/handler.c: Change module description.
5811
5812 * kern/handler.c: Add missing space at the end of description line.
5813
5814 * kern/list.c: Likewise.
5815
f501677c 58162009-03-03 Robert Millan <rmh@aybabtu.com>
5817
5818 Move more components to the relocation area, and fix mbi pointer
5819 handling to use the destination rather than the origin (thanks to
5820 Vladimir Serbinenko for spotting).
5821
5822 * loader/i386/multiboot.c (mbi_dest): New variable.
5823 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
5824 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
5825 relocation area.
5826
9902d047 58272009-03-01 Bean <bean123ch@gmail.com>
5828
50fb7002 5829 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 5830 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
5831 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
5832 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
5833
5834 * loader/i386/efi/linux.c (acpi_guid): New variable.
5835 (acpi_guid): Likewise.
5836 (EBDA_SEG_ADDR): New constant.
5837 (LOW_MEM_ADDR): Likewise.
5838 (FAKE_EBDA_SEG): Likewise.
5839 (fake_bios_data): New function.
5840 (grub_linux_boot): Call fake_bios_data.
5841
71b9f361 58422009-03-01 Bean <bean123ch@gmail.com>
5843
5844 * commands/terminal.c: Removed.
5845
5846 * commands/handler.c: New file.
5847
5848 * include/grub/list.h: Likewise.
5849
5850 * include/grub/handler.h: Likewise.
5851
5852 * kern/list.c: Likewise.
5853
5854 * kern/handler.c: Likewise.
5855
5856 * kern/term.h: Include header file <grub/handler.h>.
5857 (grub_term_input): Move next field to the beginning.
5858 (grub_term_output): Likewise.
5859 (grub_term_input_class): New variable.
5860 (grub_term_output_class): Likewise.
5861 (grub_term_register_input): Changed to inline function.
5862 (grub_term_register_output): Likewise.
5863 (grub_term_unregister_input): Likewise.
5864 (grub_term_unregister_output): Likewise.
5865 (grub_term_set_current_input): Likewise.
5866 (grub_term_set_current_output): Likewise.
5867 (grub_term_get_current_input): Likewise.
5868 (grub_term_get_current_output): Likewise.
5869 (grub_term_iterate_input): Removed.
5870 (grub_term_iterate_output): Likewise.
5871
5872 * kern/term.c (grub_term_list_input): Removed.
5873 (grub_term_list_output): Likewise.
5874 (grub_term_input_class): New variable.
5875 (grub_term_output_class): Likewise.
50fb7002 5876 (grub_cur_term_input): Change variable as macro.
71b9f361 5877 (grub_cur_term_output): Likewise.
5878 (grub_term_register_input): Removed.
5879 (grub_term_register_output): Likewise.
5880 (grub_term_unregister_input): Likewise.
5881 (grub_term_unregister_output): Likewise.
5882 (grub_term_set_current_input): Likewise.
5883 (grub_term_set_current_output): Likewise.
5884 (grub_term_iterate_input): Likewise.
5885 (grub_term_iterate_output): Likewise.
5886 (grub_term_get_current_input): Likewise.
5887 (grub_term_get_current_output): Likewise.
5888
5889 * util/grub-editenv.c: Include header file <grub/handler.h>.
5890 (grub_term_get_current_input): Removed.
5891 (grub_term_get_current_output): Likewise.
5892 (grub_term_input_class): New variable.
50fb7002 5893 (grub_term_output_class): Likewise.
71b9f361 5894
5895 * util/grub-fstest.c (grub_term_get_current_input): Removed.
5896 (grub_term_get_current_output): Likewise.
5897 (grub_term_input_class): New variable.
50fb7002 5898 (grub_term_output_class): Likewise.
71b9f361 5899
5900 * util/grub-probe.c (grub_term_get_current_input): Removed.
5901 (grub_term_get_current_output): Likewise.
5902 (grub_term_input_class): New variable.
50fb7002 5903 (grub_term_output_class): Likewise.
71b9f361 5904
5905 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
5906 (grub_term_get_current_output): Likewise.
5907 (grub_term_input_class): New variable.
50fb7002 5908 (grub_term_output_class): Likewise.
71b9f361 5909
5910 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
5911 (terminal_mod_SOURCES): Likewise.
5912 (terminal_mod_CFLAGS): Likewise.
5913 (terminal_mod_LDFLAGS): Likewise.
5914
5915 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
5916 handler.c.
5917 (kernel_img_SOURCES): Add list.c and handler.c.
5918 (kernel_img_HEADERS): Add list.h and handler.h.
5919
5920 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5921 handler.c.
5922 (kernel_mod_SOURCES): Add list.c and handler.c.
5923 (kernel_mod_HEADERS): Add list.h and handler.h.
5924
5925 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
5926 handler.c.
5927 (kernel_elf_SOURCES): Add list.c and handler.c.
5928 (kernel_elf_HEADERS): Add list.h and handler.h.
5929
5930 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5931 handler.c.
5932 (kernel_elf_SOURCES): Add list.c and handler.c.
5933 (kernel_elf_HEADERS): Add list.h and handler.h.
5934
5935 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
5936 handler.c.
5937 (kernel_mod_SOURCES): Add list.c and handler.c.
5938 (kernel_mod_HEADERS): Add list.h and handler.h.
5939
5940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
5941 handler.c.
5942 (kernel_elf_SOURCES): Add list.c and handler.c.
5943 (kernel_elf_HEADERS): Add list.h and handler.h.
5944
8a31787f 59452009-02-27 Robert Millan <rmh@aybabtu.com>
5946
5947 Factorize elf32 / elf64 code in Multiboot loader. This will
5948 prevent it from getting out of sync again.
5949
5950 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
5951 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
5952 grub_multiboot_load_elf64): Move from here ...
5953 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
5954 grub_multiboot_load_elf): ... to here (new file).
5955
51cd3dfc 59562009-02-27 Robert Millan <rmh@aybabtu.com>
5957
5958 * util/grub.d/10_linux.in: Rename "single-user mode" to
5959 "recovery mode".
5960
6e8c9c3a 59612009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 Don't leak in SCSI code.
5964 * disk/scsi.c (grub_scsi_close): free `scsi'.
5965
4b6bf4f9 59662009-02-27 Robert Millan <rmh@aybabtu.com>
5967
5968 * loader/i386/pc/multiboot.c: Move from here ...
5969 * loader/i386/multiboot.c: ... to here. Update all users.
5970
b9413424 59712009-02-27 Robert Millan <rmh@aybabtu.com>
5972
5973 Patch from Alexandre Bique <bique.alexandre@gmail.com>
5974 * util/i386/pc/grub-setup.c (setup): Fix directory path.
5975
50fb7002 59762009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 5977
5978 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
5979 b-tree.
5980
8cc50345 59812009-02-27 Robert Millan <rmh@aybabtu.com>
5982
5983 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
5984 `0x' qualifier as 0 when base is specified as parameter).
5985
6e09b8b7 59862009-02-24 Bean <bean123ch@gmail.com>
5987
5988 * configure.ac: Check for -mcmodel=large in x86_64 target.
5989
5990 * include/grub/efi/api.h (efi_call_10): New macro.
5991 (efi_wrap_10): New function.
5992
5993 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
5994 (GRUB_PE32_REL_BASED_HIGH): Likewise.
5995 (GRUB_PE32_REL_BASED_LOW): Likewise.
5996 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
5997 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
5998 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
5999 (GRUB_PE32_REL_BASED_SECTION): Likewise.
6000 (GRUB_PE32_REL_BASED_REL): Likewise.
6001 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
6002 (GRUB_PE32_REL_BASED_DIR64): Likewise.
6003 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
6004
6005 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
6006 issue.
6007
6008 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
6009 (efi_wrap_10): New function.
6010
6011 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
6012
6013 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
6014 MB/MBP model (NV chipset).
6015 (devdata_devs): Add devpath_5 to the list.
6016
6017 * load/i386/efi/linux.c (video_base): Remove variable.
6018 (RGB_MASK): New macro.
6019 (RGB_MAGIC): Likewise.
6020 (LINE_MIN): Likewise.
6021 (LINE_MAX): Likewise.
6022 (FBTEST_STEP): Likewise.
6023 (FBTEST_COUNT): Likewise.
6024 (fb_list): New variable.
6025 (grub_find_video_card): Remove function.
6026 (find_framebuf): New function.
6027 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
6028 line length.
6029
6030 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
6031 problem for x86_64.
6032
74b21bee 60332009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
6034
6035 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
6036
6037 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
6038 coding tool name.
6039
a455f472 60402009-02-22 Robert Millan <rmh@aybabtu.com>
6041
6042 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
6043 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
6044 in our relocation, instead of using it directly from heap. Also
6045 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
6046
6374daf3 60472009-02-21 Robert Millan <rmh@aybabtu.com>
6048
6049 Implement USB keyboard support (based on patch by Marco Gerards)
6050
6051 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
6052 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
6053 (usb_keyboard_mod_LDFLAGS): New variables.
6054
6055 * term/usb_keyboard.c: New file.
6056
8fa4ea70 60572009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 Corrected wrong declaration
6060
6061 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
6062
353976ac 60632009-02-14 Christian Franke <franke@computer.org>
6064
6065 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
6066 (grub_lspci_iter): Print class code and programming interface byte.
6067
6aa1169b 60682009-02-14 Christian Franke <franke@computer.org>
6069
6070 * gendistlist.sh: Ignore `.svn' directories.
6071
265372ca 60722009-02-14 Felix Zielcke <fzielcke@z-51.de>
6073
6074 * fs/fat.c: Add 2009 to Copyright line.
6075
9ff516f3 60762009-02-14 Christian Franke <franke@computer.org>
6077
6078 * commands/hdparm.c: New file. Provides `hdparm' command
6079 which sends ATA commands via grub_disk_ata_pass_through ().
6080
6081 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
6082
6083 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
6084 and <grub/cpu/io.h> to include/grub/ata.h.
6085 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
6086 (GRUB_CDROM_SECTOR_SIZE): Remove.
6087 (GRUB_ATA_*): Move to include/grub/ata.h.
6088 (GRUB_ATAPI_*): Likewise.
6089 (enum grub_ata_commands): Likewise.
6090 (enum grub_ata_timeout_milliseconds): Likewise.
6091 (struct grub_ata_device): Likewise.
6092 (grub_ata_regset): Likewise.
6093 (grub_ata_regget): Likewise.
6094 (grub_ata_regset2): Likewise.
6095 (grub_ata_regget2): Likewise.
6096 (grub_ata_check_ready): Likewise.
6097 (grub_ata_wait_not_busy): Remove static, exported in
6098 include/grub/ata.h.
6099 (grub_ata_wait_drq): Likewise.
6100 (grub_ata_pio_read): Likewise.
6101
6102 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
6103 function for hdparm.mod.
6104
6105 * include/grub/ata.h: New file, contains declarations from
6106 disk/ata.c.
6107 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
6108
6109 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
6110 (grub_disk_ata_pass_through): New exported variable.
6111
6112 * kern/disk.c (grub_disk_ata_pass_through): New variable.
6113
772e23da 61142009-02-13 Colin D Bennett <colin@gibibit.com>
6115
6116 Support multiple fallback entries, and provide an API to support
6117 executing default+fallback menu entries. Renamed the `terminal' menu
6118 viewer to `text'.
6119
6120 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
6121 variable declaration.
6122 (grub_menu_execute_callback): New structure declaration.
6123 (grub_menu_execute_callback_t): New typedef.
6124 (grub_menu_execute_with_fallback): New function declaration.
6125 (grub_menu_get_entry): Likewise.
6126 (grub_menu_get_timeout): Likewise.
6127 (grub_menu_set_timeout): Likewise.
6128
6129 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
6130
6131 * normal/menu.c (grub_wait_after_message): Moved to
6132 `normal/menu_text.c'.
6133 (draw_border): Likewise.
6134 (print_message): Likewise.
6135 (print_entry): Likewise.
6136 (print_entries): Likewise.
6137 (grub_menu_init_page): Likewise.
6138 (get_entry_number): Likewise.
6139 (print_timeout): Likewise.
6140 (run_menu): Likewise.
6141 (grub_menu_execute_entry): Likewise.
6142 (show_text_menu): Likewise.
6143 (get_and_remove_first_entry_number): New function.
6144 (grub_menu_execute_with_fallback): Likewise.
6145 (get_entry): Renamed to ...
6146 (grub_menu_get_entry): .. this and made it global.
6147 (get_timeout): Renamed to ...
6148 (grub_menu_get_timeout): ... this and made it global.
6149 (set_timeout): Renamed to ...
6150 (grub_menu_set_timeout): ... this and made it global.
6151 (grub_normal_terminal_menu_viewer): Renamed to ...
6152 (grub_normal_text_menu_viewer): ... this.
6153
6154 * normal/menu_text.c: New file. Extracted text-menu-specific code
6155 from normal/menu.c.
6156
6157 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
6158 (normal_mod_SOURCES): Likewise.
6159
6160 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6161 (normal_mod_SOURCES): Likewise.
6162
6163 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6164 (normal_mod_SOURCES): Likewise.
6165
6166 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
6167 (normal_mod_SOURCES): Likewise.
6168
6169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6170 (normal_mod_SOURCES): Likewise.
6171
6172 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6173 (normal_mod_SOURCES): Likewise.
6174
6175 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6176 (normal_mod_SOURCES): Likewise.
6177
16ac430e 61782009-02-11 Robert Millan <rmh@aybabtu.com>
6179
6180 * util/grub.d/00_header.in: Update old reference to `font' command.
6181
06ff20fc 61822009-02-10 Felix Zielcke <fzielcke@z-51.de>
6183
6184 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
6185
6186 Based on patch from Javier Martín.
6187
96da9407 61882009-02-09 Felix Zielcke <fzielcke@z-51.de>
6189
6190 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 6191 to avoid false positives with FAT.
96da9407 6192 (grub_fstest_SOURCES): Likewise.
6193 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6194 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6197 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6198 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6199
6dca6fe4 62002009-02-09 Felix Zielcke <fzielcke@z-51.de>
6201
06ff20fc 6202 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 6203 bpb.version_specific.fat12_or_fat16.fstype and
6204 bpb.version_specific.fat32.fstype.
6205
2550c62f 62062009-02-08 Robert Millan <rmh@aybabtu.com>
6207
be110b30 6208 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 6209
56978920 62102009-02-08 Robert Millan <rmh@aybabtu.com>
6211
6212 * Makefile.in (host_os, host_cpu): New variables.
6213 (target_os): Remove. Update all users.
6214
d64399b5 62152009-02-08 Marco Gerards <marco@gnu.org>
6216
6217 * Makefile.in (enable_grub_emu_usb): New variable.
6218 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
6219 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
6220 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
6221 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
6222 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
6223 `usbtest.mod' and `usbms.mod'.
6224 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
6225 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
6226 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
6227 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
6228 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
6229 variables.
6230
6231 * disk/usbms.c: New file.
6232
6233 * include/grub/usb.h: Likewise.
6234
6235 * include/grub/usbtrans.h: Likewise.
6236
6237 * include/grub/usbdesc.h: Likewise.
6238
6239 * bus/usb/usbtrans.c: Likewise.
6240
6241 * bus/usb/ohci.c: Likewise.
6242
6243 * bus/usb/uhci.c: Likewise.
6244
6245 * bus/usb/usbhub.c: Likewise.
6246
6247 * bus/usb/usb.c: Likewise.
6248
6249 * commands/usbtest.c: Likewise.
6250
6251 * util/usb.c: Likewise.
50fb7002 6252
d64399b5 6253 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
6254
6255 * configure.ac: Test for libusb presence.
50fb7002 6256
d64399b5 6257 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
6258
2b40d6bb 62592009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
6260
6261 * kern/mm.c: Add more comments.
6262
73a4ce81 62632009-02-08 Robert Millan <rmh@aybabtu.com>
6264
6265 Patch from Javier Martín.
6266 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
6267 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
6268
f821ce59 62692009-02-08 Robert Millan <rmh@aybabtu.com>
6270
6271 * fs/cpio.c: Split tar functionality to ...
6272 * fs/tar.c: ... here (new file). Update all users.
6273
aebfc4b0 62742009-02-07 Robert Millan <rmh@aybabtu.com>
6275
6276 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
6277 backward-incompatible features.
6278
6279 Based on patch from Javier Martín, with some adjustments.
6280
50fb7002 62812009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 6282
6283 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
6284
0bb5115e 62852009-02-07 Robert Millan <rmh@aybabtu.com>
6286
6287 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
6288 position of `disk/lvm.c' to ensure grub_init_all() always picks it
6289 after the RAID stuff.
6290
38a0f8e7 62912009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
6292
50fb7002 6293 Fixes problem when running vbetest command as reported by
38a0f8e7 6294 Vladimir Serbinenko <phcoder@gmail.com>.
6295
6296 * (grub_vbe_set_video_mode): Fixed problem with text modes.
6297
3143cc1c 62982009-02-04 Felix Zielcke <fzielcke@z-51.de>
6299
6300 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
6301 /dev/md/NpN style mdraid devices.
6302
9cba6fce 63032009-02-03 Felix Zielcke <fzielcke@z-51.de>
6304
6305 * util/unifont2pff.rb: Remove.
6306
e507a2c1 63072009-02-03 Felix Zielcke <fzielcke@z-51.de>
6308
6309 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
6310 `#'.
6311
d2c2b4cd 63122009-02-03 Felix Zielcke <fzielcke@z-51.de>
6313
6314 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
6315 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6316 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6317 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6319 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6320 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6321
b4315fb0 63222009-02-02 Christian Franke <franke@computer.org>
6323
6324 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
6325
de3aa260 63262009-02-01 Felix Zielcke <fzielcke@z-51.de>
6327
7c3ff286 6328 * INSTALL: Note that we now require at least autoconf 2.59 and
6329 that LZO is optional.
de3aa260 6330
825a182b 63312009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6332
6333 Base on patch on bug #24154 created by Tomas Tintera
6334 <trosos@seznam.cz>.
6335
6336 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
6337
a69ef770 63382009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
6339
7c3ff286 6340 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 6341 <bero@arklinux.org>.
6342
6343 * normal/parser.y (script_init): Add missing semicolon.
6344
6fa42fa6 63452009-01-31 Colin D Bennett <colin@gibibit.com>
6346
7c3ff286 6347 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 6348 (free_menu_entry_classes): Added.
6349 (grub_normal_menu_addentry): Added class property handling.
6350 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
6351 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
6352
6353 * normal/menu_viewer.c: New file.
6354
6355 * normal/menu.c (run_menu_entry): Renamed to ...
6356 (grub_menu_execute_entry): ... this and made it as global.
6357 (grub_menu_run): Renamed to ...
6358 (show_text_menu): ... this and made it local.
6359 (show_text_menu): Adapt to new function names.
6360 (grub_normal_terminal_menu_viewer): New global variable.
6361
6362 * include/grub/menu.h: New file.
6363
6364 * include/grub/menu_viewer.h: New file.
6365
6366 * include/grub/normal.h: Added include to grub/menu.h.
6367 (grub_menu_entry): Moved to include/grub/menu.h.
6368 (grub_menu_entry_t): Likewise.
6369 (grub_menu): Likewise.
6370 (grub_menu_t): Likewise.
6371 (grub_normal_terminal_menu_viewer): Added.
6372 (grub_menu_execute_entry): Likewise.
6373 (grub_menu_run): Removed.
6374
6375 * DISTLIST: Added include/grub/menu.h.
6376 Added include/grub/menu_viewer.h.
6377 Added normal/menu_viewer.c.
6378
63792009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
6380
6381 * normal/execute.c (grub_script_execute_menuentry): Changed to use
6382 arglist for menutitle arguments.
6383
6384 * normal/main.c (grub_normal_menu_addentry): Likewise.
6385
6386 * normal/parser.y (menuentry): Likewise.
6387
6388 * normal/script.c (grub_script_create_cmdmenu): Likewise.
6389
6390 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
6391 (grub_script_create_cmdmenu): Likewise.
6392
6393 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
6394
6395 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
6396 changes.
6397
6398 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
6399
6400 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
6401
6402 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
6403
6404 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6405
6406 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6407
6408 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
6409
56192c23 64102009-01-30 Christian Franke <franke@computer.org>
6411
6412 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
6413 in option help text.
6414
d72521b3 64152009-01-27 Pavel Roskin <proski@gnu.org>
6416
6417 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
6418
994b5e84 64192009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6420
6421 * commands/lsmmap.c: Add include to grub/machine/memory.h.
6422
6423 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
6424
6425 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
6426 unregister function.
6427
6a7eab2c 64282009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
6429
6430 * disk/scsi.c (grub_scsi_read): Fix sign problem.
6431
6432 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
6433
6434 * util/grub-mkfont.c (usage): Fix typo.
6435
6436 * util/elf/grub-mkimage.c (load_modules): Fix warning.
6437
1806b56e 64382009-01-26 Daniel Mierswa <impulze@impulze.org>
6439
3fb18f09 6440 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
6441
336e1fb9 6442 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
6443
1806b56e 6444 * kern/misc.c (grub_strcasecmp): New function.
6445 (grub_strcasecmp): Use grub_size_t instead of int for length.
6446 Fix return value.
6447 * include/grub/misc.h: Update function prototypes.
6448
580b2a0f 64492009-01-26 Robert Millan <rmh@aybabtu.com>
6450
6451 * configure.ac: Fix cross-compilation check.
ef257b36 6452
d31c24f1 64532009-01-22 Christian Franke <franke@computer.org>
6454
6455 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
6456 (precision) digit string. Allow `.format2' without `format1' (width).
6457 Limit input chars for `%s' output to `format2' if specified. This is
6458 compatible with standard printf ().
6459
3138b44c 64602009-01-22 Christian Franke <franke@computer.org>
6461
6462 * disk/ata.c (grub_ata_wait_status): Replace by ...
6463 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
6464 other status bits may be invalid while BSY is asserted.
6465 (grub_ata_check_ready): New function.
6466 (grub_ata_cmd): Removed.
6467 (grub_ata_wait_drq): New function.
6468 (grub_ata_strncpy): Remove inline.
6469 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
6470 and error check now done by grub_ata_wait_drq ().
6471 (grub_ata_pio_write): Likewise.
6472 (grub_atapi_identify): Set DEV before check for !BSY. Use
6473 grub_ata_wait_drq () to wait for data.
6474 (grub_ata_device_initialize): Add status register check to
6475 detect missing SATA slave devices. Add debug messages.
6476 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
6477 (grub_atapi_packet): Set DEV before check for !BSY. Replace
6478 transfer loop by grub_ata_pio_write ().
6479 (grub_ata_identify): Set DEV before check for !BSY. Use
6480 grub_ata_wait_drq () to wait for data.
ef257b36 6481 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 6482 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
6483 read/write in one loop. Fix invalid command on write. Fix incomplete
6484 command on (size % batch) == 0. Add missing error check after write of
6485 last block. Add debug messages.
6486 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
6487
59a64ef6 64882009-01-19 Christian Franke <franke@computer.org>
6489
6490 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
6491 (GRUB_ATAPI_IREASON_*): Likewise.
6492 (grub_ata_pio_write): Fix timeout error return.
6493 (grub_atapi_identify): Add grub_ata_wait () after cmd.
6494 (grub_atapi_wait_drq): New function.
6495 (grub_atapi_packet): New parameter `size'.
6496 Use grub_atapi_wait_drq () and direct write instead of
6497 grub_ata_pio_write ().
6498 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
6499 reads the number of bytes requested by the device for each DRQ
6500 assertion.
6501 (grub_atapi_write): Remove old implementation, return not
6502 implemented instead.
6503
1cfe20b3 65042009-01-19 Christian Franke <franke@computer.org>
6505
6506 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
6507 of 512 to calculate data size.
6508 (grub_scsi_read12): Likewise.
6509 (grub_scsi_write10): Likewise.
6510 (grub_scsi_write12): Likewise.
6511 (grub_scsi_read): Adjust size according to blocksize.
6512 Add checks for invalid blocksize and unaligned transfer.
6513
bee5fe5d 65142009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
6515
6516 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
6517
ef257b36 6518 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 6519 width glyphs.
6520
3e643f8c 65212009-01-19 Robert Millan <rmh@aybabtu.com>
6522
6523 * config.guess: Update to latest version from config git.
6524 * config.sub: Likewise.
6525
4fa80998 65262009-01-17 Felix Zielcke <fzielcke@z-51.de>
6527
6528 * Makefile.in: Change font compilation to use new grub-mkfont instead
6529 of java version.
6530
6531 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
6532 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
6533 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6534 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
6535 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
6536 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
6537 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
6538 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
6539 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6540
7086085b 65412009-01-16 Christian Franke <franke@computer.org>
6542
6543 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
6544 (enum grub_ata_timeout_milliseconds): New enum.
6545 (grub_ata_wait_status): Add parameter milliseconds.
6546 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
6547 recovery from timed-out commands.
6548 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
6549 return grub_errno instead of REG_ERROR.
6550 (grub_ata_pio_write): Add parameter milliseconds.
6551 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
6552 Pass milliseconds to grub_ata_wait_status () and
6553 grub_ata_pio_read ().
6554 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
6555 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
6556 grub_ata_wait_status (). Fix IDENTIFY timeout check.
6557 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
6558 It is not suitable for device detection, because DEV bit is ignored,
6559 the command may run too long, and not all devices set the signature
6560 properly.
6561 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
6562 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
6563 Fix device selection, DEV bit must be set first to address the registers
6564 of the correct device.
6565 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
6566 grub_ata_pio_read/write ().
6567 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
6568 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
6569
4a412913 65702009-01-13 Carles Pina i Estany <carles@pina.cat>
6571
6572 * util/grub-editenv.c (main): Use fseeko(), not fseek().
6573
7795c55e 65742009-01-13 Bean <bean123ch@gmail.com>
d913988c 6575
6576 * util/grub-mkfont.c (write_font): forget to remove some debug code.
6577
7795c55e 65782009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 6579
6580 * Makefile.in: (enable_grub_mkfont): New variable.
6581 (freetype_cflags): Likewise.
6582 (freetype_libs): Likewise.
6583
6584 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
6585 (grub_mkfont_SOURCES): New variable.
6586 (grub_mkfont_CFLAGS): Likewise.
6587 (grub_mkfont_LDFLAGS): Likewise.
6588
6589 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
6590 library if `--enable-grub-mkfont' is requested.
6591 (enable_grub_mkfont): New variable.
6592 (freetype_cflags): Likewise.
6593 (freetype_libs): Likewise.
6594
6595 * util/grub-mkfont.c: New file.
6596
093af1fe 65972009-01-12 Christian Franke <franke@computer.org>
6598
6599 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
6600 mode check. Fix setting of compat_use[].
6601
f36cc108 66022009-01-10 Robert Millan <rmh@aybabtu.com>
6603
6604 Update a few copyright years which we forgot to do in 2008 (only for
6605 files whose changes made in 2008 were copyright-significant)
6606
6607 * Makefile.in: Add 2008 to Copyright line.
6608 * disk/ieee1275/ofdisk.c: Likewise.
6609 * disk/efi/efidisk.c: Likewise.
6610 * kern/dl.c: Likewise.
6611 * kern/sparc64/ieee1275/init.c: Likewise.
6612 * kern/mm.c: Likewise.
6613 * kern/efi/mm.c: Likewise.
6614 * boot/i386/pc/boot.S: Likewise.
6615 * genfslist.sh: Likewise.
6616 * fs/iso9660.c: Likewise.
6617 * fs/hfs.c: Likewise.
6618 * fs/jfs.c: Likewise.
6619 * fs/minix.c: Likewise.
6620 * fs/ufs.c: Likewise.
6621 * gensymlist.sh.in: Likewise.
6622 * genkernsyms.sh.in: Likewise.
6623 * include/grub/misc.h: Likewise.
6624 * include/grub/types.h: Likewise.
6625 * include/grub/symbol.h: Likewise.
6626 * include/grub/elf.h: Likewise.
6627 * include/grub/kernel.h: Likewise.
6628 * include/grub/disk.h: Likewise.
6629 * include/grub/dl.h: Likewise.
6630 * include/grub/i386/linux.h: Likewise.
6631 * include/grub/i386/pc/biosdisk.h: Likewise.
6632 * include/grub/efi/api.h: Likewise.
6633 * include/grub/efi/pe32.h: Likewise.
6634 * include/grub/util/misc.h: Likewise.
6635 * normal/execute.c: Likewise.
6636 * normal/arg.c: Likewise.
6637 * normal/completion.c: Likewise.
6638 * normal/lexer.c: Likewise.
6639 * normal/parser.y: Likewise.
6640 * normal/misc.c: Likewise.
6641 * commands/i386/pc/vbeinfo.c: Likewise.
6642 * commands/hexdump.c: Likewise.
6643 * commands/terminal.c: Likewise.
6644 * commands/ls.c: Likewise.
6645 * commands/help.c: Likewise.
6646 * partmap/pc.c: Likewise.
6647 * loader/efi/chainloader.c: Likewise.
6648 * loader/multiboot_loader.c: Likewise.
6649 * loader/i386/pc/multiboot2.c: Likewise.
6650 * term/efi/console.c: Likewise.
6651 * term/i386/pc/serial.c: Likewise.
6652 * util/lvm.c: Likewise.
6653 * util/console.c: Likewise.
6654 * util/i386/efi/grub-mkimage.c: Likewise.
6655 * util/raid.c: Likewise.
6656
7f02114b 66572009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
6658
6659 * commands/videotest.c: Removed include to grub/machine/memory.h.
6660
6661 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
6662 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
6663 (video_mod_SOURCES): Removed.
6664 (video_mod_CFLAGS): Likewise.
6665 (video_mod_LDFLAGS): Likewise.
6666 (gfxterm_mod_SOURCES): Likewise.
6667 (gfxterm_mod_CFLAGS): Likewise.
6668 (gfxterm_mod_LDFLAGS): Likewise.
6669 (videotest_mod_SOURCES): Likewise.
6670 (videotest_mod_CFLAGS): Likewise.
6671 (videotest_mod_LDFLAGS): Likewise.
6672 (bitmap_mod_SOURCES): Likewise.
6673 (bitmap_mod_CFLAGS): Likewise.
6674 (bitmap_mod_LDFLAGS): Likewise.
6675 (tga_mod_SOURCES): Likewise.
6676 (tga_mod_CFLAGS): Likewise.
6677 (tga_mod_LDFLAGS): Likewise.
6678 (jpeg_mod_SOURCES): Likewise.
6679 (jpeg_mod_CFLAGS): Likewise.
6680 (jpeg_mod_LDFLAGS): Likewise.
6681 (png_mod_SOURCES): Likewise.
6682 (png_mod_CFLAGS): Likewise.
6683 (png_mod_LDFLAGS): Likewise.
6684
6685 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
6686 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
6687 (video_mod_SOURCES): Added.
6688 (video_mod_CFLAGS): Likewise.
6689 (video_mod_LDFLAGS): Likewise.
6690 (videotest_mod_SOURCES): Likewise.
6691 (videotest_mod_CFLAGS): Likewise.
6692 (videotest_mod_LDFLAGS): Likewise.
6693 (bitmap_mod_SOURCES): Likewise.
6694 (bitmap_mod_CFLAGS): Likewise.
6695 (bitmap_mod_LDFLAGS): Likewise.
6696 (tga_mod_SOURCES): Likewise.
6697 (tga_mod_CFLAGS): Likewise.
6698 (tga_mod_LDFLAGS): Likewise.
6699 (jpeg_mod_SOURCES): Likewise.
6700 (jpeg_mod_CFLAGS): Likewise.
6701 (jpeg_mod_LDFLAGS): Likewise.
6702 (png_mod_SOURCES): Likewise.
6703 (png_mod_CFLAGS): Likewise.
6704 (png_mod_LDFLAGS): Likewise.
6705 (gfxterm_mod_SOURCES): Likewise.
6706 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 6707 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 6708
6709 * term/gfxterm.c: Removed include to grub/machine/memory.h,
6710 grub/machine/console.h.
6711
644fff97 67122009-01-04 Jerone Young <jerone@gmail.com>
6713
6714 Make on screen instructions clearer
6715
6716 Based on patch created by Jidanni <jidanni@jidanni.org>
6717
6718 * normal/menu.c: print clearer instructions on the screen
6719
1e901a75 67202009-01-02 Colin D Bennett <colin@gibibit.com>
6721
6722 New font engine.
34c44600 6723
1e901a75 6724 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
6725 build system and fixed gfxterm.c to work with different sized fonts.
6726
6727 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 6728
1e901a75 6729 * configure: Re-generated.
34c44600 6730
1e901a75 6731 * DISTLIST: Removed font/manager.c.
6732 Added font/font.c.
6733 Added font/font_cmd.c.
34c44600 6734
1e901a75 6735 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
6736 compilation.
34c44600 6737
1e901a75 6738 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 6739
6740 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 6741
6742 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 6743
1e901a75 6744 * normal/menu.c: Likewise.
34c44600 6745
1e901a75 6746 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
6747 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 6748
1e901a75 6749 * include/grub/font.h: Replaced with new file.
34c44600 6750
1e901a75 6751 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
6752 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
6753 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
6754 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
6755 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 6756 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 6757 fg_red, fg_green, fg_blue, fg_alpha.
6758 (grub_video_adapter): Removed blit_glyph.
34c44600 6759 (grub_video_blit_glyph): Removed.
6760
1e901a75 6761 * font/manager.c: Removed file.
34c44600 6762
6763 * font/font.c: New file.
6764
1e901a75 6765 * font/font_cmd.c: Likewise.
34c44600 6766
1e901a75 6767 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 6768
1e901a75 6769 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
6770 (grub_video_vbe_map_rgba): Likewise.
6771 (grub_video_vbe_unmap_color_int): Likewise.
6772 (grub_video_vbe_blit_glyph): Removed.
6773 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 6774
1e901a75 6775 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
6776 (get_pixel): Likewise.
34c44600 6777 (set_pixel): Likewise.
6778
1e901a75 6779 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 6780
1e901a75 6781 * term/gfxterm.c: Adapted to new font engine.
34c44600 6782
1e901a75 6783 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 6784
1e901a75 6785 * term/i386/pc/vga.c: Likewise.
34c44600 6786
1e901a75 6787 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 6788
1e901a75 6789 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 6790
1e901a75 6791 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 6792
1e901a75 6793 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 6794
1e901a75 6795 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 6796
1e901a75 6797 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 6798
1e901a75 6799 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 6800
1e901a75 6801 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 6802
1e901a75 6803 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
6804
6805 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 6806
1e901a75 6807 * util/grub-mkconfig_lib.in: Changed font extension.
6808
278922e8 68092008-12-28 Felix Zielcke <fzielcke@z-51.de>
6810
6811 * util/getroot.c (grub_util_get_grub_dev): Add support for
6812 /dev/md/dNNpNN style partitionable mdraid devices.
6813
3ced05cf 68142008-12-12 Alex Smith <alex@alex-smith.me.uk>
6815
6816 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
6817 at a time limit of the PXE TFTP API correctly.
6818 (grub_pxefs_close): Likewise.
6819
7fd0ee30 68202008-11-29 Robert Millan <rmh@aybabtu.com>
6821
34c44600 6822 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 6823 grub_ata_device_initialize() calls.
6824
34c44600 68252008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 6826
6827 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
6828 iteration failed.
6829 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
6830
89313780 68312008-11-28 Robert Millan <rmh@aybabtu.com>
6832
6833 Fix build on powerpc-ieee1275. Based on patch created by
6834 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
6835 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
6836 `kern/ieee1275/mmap.c'.
6837 * include/grub/powerpc/ieee1275/memory.h: New file.
6838
15257703 6839 Provide grub-install on coreboot.
6840 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
6841 (grub_install_SOURCES): New variable.
6842 * util/i386/pc/grub-install.in: Add a few condition checks to make it
6843 usable on coreboot.
6844
9fc5388a 68452008-11-25 Felix Zielcke <fzielcke@z-51.de>
6846
6847 * util/grub-fstest.c (grub_term_get_current_input): Change return type
6848 to `grub_term_input_t'.
6849 (grub_term_get_current_output): Change return type to
6850 `grub_term_output_t'.
6851
bc3a2f31 68522008-11-22 Robert Millan <rmh@aybabtu.com>
6853
34c44600 6854 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 6855 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
6856 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
6857 grub_vga_text_cls().
6858
80fc88f2 6859 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 6860 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 6861
cbf36fd3 6862 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
6863 to 0x200000 (avoids trouble with some OFW implementations, and matches
6864 with the one in Yaboot).
6865 Reported by Manoel Abranches
6866
73e8e268 68672008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 6868
6869 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
6870 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
6871
73e8e268 6872 * util/grub-mkconfig_lib.in (grub_warn): New function.
6873 (convert_system_path_to_grub_path): Use grub_warn() when issuing
6874 warnings, to obtain consistent formatting.
6875 * util/grub.d/00_header.in: Likewise.
6876 * util/update-grub_lib.in: Likewise.
6877
e94045a1 6878 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 6879 Move comment text to `#error' stanza.
e94045a1 6880
79d29fd7 6881 Harmonize ieee1275's grub_available_iterate() with the generic
6882 grub_machine_mmap_iterate() interface (fixes a recently-introduced
6883 build problem on i386-ieee1275):
6884 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
6885 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
6886 parameter `type'. Update all users of this function.
6887 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
6888 `kern/ieee1275/mmap.c'.
6889 * kern/ieee1275/init.c
6890 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
6891 with ...
6892 (grub_machine_mmap_iterate): ... this.
6893 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
6894 return type to `grub_err_t'. Update all implementations of this
6895 function prototype.
6896 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
6897 Likewise.
6898
60d6b16e 6899 Add `lsmmap' command (lists firmware-provided memory map):
6900 * commands/lsmmap.c: New file.
6901 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
6902 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
6903 variables.
6904 * conf/powerpc-ieee1275.rmk: Likewise.
6905 * conf/i386-coreboot.rmk: Likewise.
6906 * conf/i386-ieee1275.rmk: Likewise.
6907
ebaaf49b 69082008-11-19 Robert Millan <rmh@aybabtu.com>
6909
6910 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 6911 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
6912 constraints to initrd allocation (based on code from
6913 loader/i386/pc/linux.c). Without them, initrd was allocated too high
6914 for Linux to find it.
ebaaf49b 6915
dfab719f 69162008-11-14 Robert Millan <rmh@aybabtu.com>
6917
6918 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
6919 order to cope with duplicate slashes.
6920
10fc3eb9 69212008-11-14 Robert Millan <rmh@aybabtu.com>
6922
6923 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
6924 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
6925 don't want to mess with lower memory, because it is used in the Linux
6926 loader.
6927
6928 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 6929 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 6930 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
6931 is in our heap (probably as a result of it being corrupted during
2f2a3442 6932 decompression). Add #error instance with comment to explain why this
6933 loader isn't currently usable on PC/BIOS.
10fc3eb9 6934
e2e07847 69352008-11-14 Robert Millan <rmh@aybabtu.com>
6936
6937 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 6938 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 6939
fe8e8d69 69402008-11-12 Robert Millan <rmh@aybabtu.com>
6941
6942 Make loader/i386/linux.c buildable on i386-pc (although disabled).
6943
6944 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
6945 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
6946 from here ...
6947 * include/grub/i386/pc/memory.h: ... to here.
6948
976b07d0 69492008-11-12 Robert Millan <rmh@aybabtu.com>
6950
6951 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
6952 split).
6953
6954 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
6955 (grub_console_cur_color, grub_console_real_putchar)
6956 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6957 (grub_console_setcolorstate, grub_console_setcolor)
6958 (grub_console_getcolor): Move from here ...
6959 * include/grub/i386/vga_common.h: ... to here (new file).
6960
6961 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
6962 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
6963 `<grub/i386/io.h>'.
6964 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
6965 `<grub/i386/vga_common.h>'.
6966
76679cd3 69672008-11-12 Robert Millan <rmh@aybabtu.com>
6968
6969 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
6970 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
6971 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
6972 variables.
6973 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
6974 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
6975
6976 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
6977 grub_console_init() with call to grub_vga_text_init().
6978 (grub_machine_fini): Replace call to
6979 grub_console_fini() with call to grub_vga_text_fini() and
6980 grub_at_keyboard_fini().
6981
6982 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
6983 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
6984 (grub_console_setcolorstate, grub_console_setcolor)
6985 (grub_console_getcolor): New function prototypes.
6986
6987 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
6988 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
6989 (grub_vga_text_setcursor): Static-ize.
6990 (grub_vga_text_term): New structure.
6991 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
6992
6993 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
6994 (grub_console_cur_color, grub_console_standard_color)
6995 (grub_console_normal_color, grub_console_highlight_color)
6996 (map_char, grub_console_putchar, grub_console_getcharwidth)
6997 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
6998 (grub_console_getcolor): Move from here ...
6999 * term/i386/vga_common.c: ... to here (same function names).
7000
95b841d3 70012008-11-12 Robert Millan <rmh@aybabtu.com>
7002
7003 Use newly-added Multiboot support in coreboot.
7004
7005 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
7006 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
7007
7008 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
7009 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
7010 (codestart): Store the MBI in `startup_multiboot_info' when we're
7011 being loaded using Multiboot.
7012
7013 * kern/i386/coreboot/init.c (grub_machine_init): Move
7014 grub_at_keyboard_init() call to beginning of function (useful for
7015 debugging). Call grub_machine_mmap_init() before attempting to use
7016 grub_machine_mmap_iterate().
7017 (grub_lower_mem, grub_upper_mem): Move from here ...
7018 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
7019 here (new file).
7020
7021 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
7022 function prototype.
7023
761ca975 70242008-11-12 Robert Millan <rmh@aybabtu.com>
7025
7026 Fix a regression introduced by the at_keyboard.mod split. Because
7027 some terminals are default on some platforms and non-default on
7028 others, the first terminal being registered determines which is
7029 going to be default.
7030
7031 * kern/term.c (grub_term_register_input): If this is the first
7032 terminal being registered, set it as the current one.
7033 (grub_term_register_output): Likewise.
7034
7035 * term/efi/console.c (grub_console_init): Do not call
7036 grub_term_set_current_output() or grub_term_set_current_input().
7037 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
7038 * term/i386/pc/console.c (grub_console_init): Likewise.
7039 (grub_console_fini): Do not call grub_term_set_current_input()
7040 (but leave grub_term_set_current_output() to restore text mode).
7041
6c529df7 70422008-11-10 Robert Millan <rmh@aybabtu.com>
7043
7044 * util/grub.d/00_header.in: Add backward compatibility check for
7045 versions of terminal.mod that don't understand `terminal_input' or
7046 `terminal_output'.
7047
132e4113 70482008-11-09 Robert Millan <rmh@aybabtu.com>
7049
7050 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
7051 `terminal_input' / `terminal_output', not `terminal'.
7052
ac293d50 70532008-11-08 Robert Millan <rmh@aybabtu.com>
7054
7055 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 7056 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 7057
0025933a 70582008-11-08 Robert Millan <rmh@aybabtu.com>
7059
7060 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 7061 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 7062 members. Update all users.
7063 * util/console.c (grub_ncurses_term): Split in ...
7064 (grub_ncurses_term_input): ... this, and ...
7065 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 7066 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 7067
37c86336 70682008-11-08 Robert Millan <rmh@aybabtu.com>
7069
7070 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
7071 (PKGDATA): Add $(pkgdata_SRCDIR).
7072 (pkglib_BUILDDIR): New variable.
7073 (pkgdata_SRCDIR): New variable.
7074 (build_env.mk): New target.
7075 (include_DATA): New variable.
7076 (install-local): Install $(include_DATA) files in $(includedir).
7077
b6c15a2d 70782008-11-07 Pavel Roskin <proski@gnu.org>
7079
d99d46f1 7080 * gendistlist.sh: Use C locale for sorting to ensure consistent
7081 output on all systems.
7082
b6c15a2d 7083 * util/grub.d/00_header.in: Remove incorrect space before
7084 "serial".
7085
c32ee8c9 70862008-11-07 Robert Millan <rmh@aybabtu.com>
7087
7088 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
7089 per specification.
7090 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
7091 * loader/multiboot_loader.c (find_multi_boot2_header): New function
7092 (based on find_multi_boot1_header).
7093 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
7094 using find_multi_boot2_header(), and abort if neither Multiboot or
7095 Multiboot headers were found.
7096
651c29b7 70972008-11-07 Robert Millan <rmh@aybabtu.com>
7098
7099 Modularize at_keyboard.mod:
7100
7101 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
7102 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7103 (at_keyboard_mod_LDFLAGS): New variables.
7104
7105 Actual terminal split:
7106
7107 * include/grub/term.h (struct grub_term): Split in ...
7108 (struct grub_term_input): ... this, and ...
7109 (struct grub_term_output): ... this. Update all users.
7110 (grub_term_set_current): Split in ...
7111 (grub_term_set_current_input): ... this, and ...
7112 (grub_term_set_current_output): ... this.
7113 (grub_term_get_current): Split in ...
7114 (grub_term_get_current_input): ... this, and ...
7115 (grub_term_get_current_output): ... this.
7116 (grub_term_register): Split in ...
7117 (grub_term_register_input): ... this, and ...
7118 (grub_term_register_output): ... this.
7119 (grub_term_unregister): Split in ...
7120 (grub_term_unregister_input): ... this, and ...
7121 (grub_term_unregister_output): ... this.
7122 (grub_term_iterate): Split in ...
7123 (grub_term_iterate_input): ... this, and ...
7124 (grub_term_iterate_output): ... this.
7125
7126 * kern/term.c (grub_term_list): Split in ...
7127 (grub_term_list_input): ... this, and ...
7128 (grub_term_list_output): ... this. Update all users.
7129 (grub_cur_term): Split in ...
7130 (grub_cur_term_input): ... this, and ...
7131 (grub_cur_term_output): ... this. Update all users.
7132 (grub_term_set_current): Split in ...
7133 (grub_term_set_current_input): ... this, and ...
7134 (grub_term_set_current_output): ... this.
7135 (grub_term_get_current): Split in ...
7136 (grub_term_get_current_input): ... this, and ...
7137 (grub_term_get_current_output): ... this.
7138 (grub_term_register): Split in ...
7139 (grub_term_register_input): ... this, and ...
7140 (grub_term_register_output): ... this.
7141 (grub_term_unregister): Split in ...
7142 (grub_term_unregister_input): ... this, and ...
7143 (grub_term_unregister_output): ... this.
7144 (grub_term_iterate): Split in ...
7145 (grub_term_iterate_input): ... this, and ...
7146 (grub_term_iterate_output): ... this.
7147
7148 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
7149 a check for input and one for output (and only attempt to get keys
7150 from user when input works).
7151
7152 * util/grub-probe.c (grub_term_get_current): Split in ...
7153 (grub_term_get_current_input): ... this, and ...
7154 (grub_term_get_current_output): ... this.
7155 * util/grub-fstest.c: Likewise.
7156 * util/i386/pc/grub-setup.c: Likewise.
7157 * util/grub-editenv.c: Likewise.
7158
7159 Portability adjustments:
7160
7161 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
7162 `term/i386/pc/at_keyboard.c'.
7163 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
7164 grub_keyboard_controller_init() (now handled by terminal .init).
7165 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
7166 grub_at_keyboard_init().
7167 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
7168 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
7169 at_keyboard.mod via input terminal interface).
7170 * include/grub/i386/coreboot/console.h: Convert into a stub for
7171 `<grub/i386/pc/console.h>'.
7172
7173 Migrate full terminals to new API:
7174
7175 * term/efi/console.c (grub_console_term): Split into ...
7176 (grub_console_term_input): ... this, and ...
7177 (grub_console_term_output): ... this. Update all users.
7178 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
7179 (grub_ofconsole_init): Split into ...
7180 (grub_ofconsole_init_input): ... this, and ...
7181 (grub_ofconsole_init_output): ... this.
7182 (grub_ofconsole_term): Split into ...
7183 (grub_ofconsole_term_input): ... this, and ...
7184 (grub_ofconsole_term_output): ... this. Update all users.
7185 * term/i386/pc/serial.c (grub_serial_term): Split into ...
7186 (grub_serial_term_input): ... this, and ...
7187 (grub_serial_term_output): ... this. Update all users.
7188 * term/i386/pc/console.c (grub_console_term): Split into ...
7189 (grub_console_term_input): ... this, and ...
7190 (grub_console_term_output): ... this. Update all users.
7191 (grub_console_term_input): Only enable it on PC/BIOS platform.
7192 (grub_console_init): Remove grub_keyboard_controller_init() call.
7193
7194 Migrate input terminals to new API:
7195
7196 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
7197 `i386' and `i386/pc' to enable build on x86_64 (this driver is
7198 i386-specific anyway).
7199 (grub_console_checkkey): Rename to ...
7200 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
7201 users.
7202 (grub_keyboard_controller_orig): New variable.
7203 (grub_console_getkey): Rename to ...
7204 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
7205 users.
7206 (grub_keyboard_controller_init): Static-ize. Save original
7207 controller value so that it can be restored ...
7208 (grub_keyboard_controller_fini): ... here (new function).
7209 (grub_at_keyboard_term): New structure.
7210 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
7211 functions.
7212
7213 Migrate output terminals to new API:
7214
7215 * term/i386/pc/vga.c (grub_vga_term): Change type to
7216 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7217 members. Update all users.
7218 * term/gfxterm.c (grub_video_term): Change type to
7219 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7220 members. Update all users.
7221 * include/grub/i386/pc/console.h (grub_console_checkkey)
7222 (grub_console_getkey): Do not export (no longer needed by gfxterm,
7223 etc).
7224
7225 Migrate `terminal' command and userland tools to new API:
7226
7227 * commands/terminal.c (grub_cmd_terminal): Split into ...
7228 (grub_cmd_terminal_input): ... this, and ...
7229 (grub_cmd_terminal_output): ... this.
7230 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
7231 `terminal_input' and `terminal_output'.
7232 * util/grub.d/00_header.in: Adjust `terminal' calls to new
7233 `terminal_input' / `terminal_output' API.
7234 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
7235 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
7236 provided ${GRUB_TERMINAL}, convert it).
7237
96e5d876 72382008-11-04 Robert Millan <rmh@aybabtu.com>
7239
7240 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
7241 for FreeBSD.
7242 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
7243
556f3775 72442008-11-03 Bean <bean123ch@gmail.com>
7245
7246 * kern/elf.c (grub_elf32_load): Revert to previous code.
7247 (grub_elf64_load): Likewise.
7248
7249 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
7250
926b9823 72512008-11-01 Robert Millan <rmh@aybabtu.com>
7252
7253 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
7254 (TARGET_CPPFLAGS): Likewise.
7255 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
7256
1432e958 72572008-11-01 Carles Pina i Estany <carles@pina.cat>
7258
7259 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
7260
dba3f844 72612008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 7262
7263 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
7264 addition of objects until the code is not going to be able to fail.
7265
dba3f844 72662008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 7267
7268 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
7269 (add a missing NULL check, and correct them by moving the pointer
7270 operations after the actual check).
7271
7ab28c21 72722008-10-29 Robert Millan <rmh@aybabtu.com>
7273
7274 * util/i386/pc/grub-install.in: Handle empty string as output from
7275 make_system_path_relative_to_its_root().
7276
1b7748eb 72772008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
7278
7279 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
7280 circular metadata worst case scenario. If the metadata is circular
7281 then copy the wrap in place.
7282 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
7283 project lib/format_text/layout.h
7284 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
7285
c9618ab2 72862008-10-03 Felix Zielcke <fzielcke@z-51.de>
7287
7a36edca 7288 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 7289
bf981c62 72902008-10-03 Felix Zielcke <fzielcke@z-51.de>
7291
7292 * util/update-grub_lib.in: Mention filename in warning message.
7293
6d994591 72942008-09-29 Felix Zielcke <fzielcke@z-51.de>
7295
7296 * NEWS: Update for rename of update-grub to grub-mkconfig.
7297
18ade780 72982008-09-29 Felix Zielcke <fzielcke@z-51.de>
7299
7300 * util/update-grub_lib.in: Copy to ...
7301 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 7302 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 7303 * util/update-grub.in: Rename to ...
7304 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
7305 option. Add `--output' option to allow users to specify the generated
7306 configuration file. Default to stdout.
7307 (update_grub_dir): Rename to ...
7308 (grub_mkconfig_dir): ... this.
7309 (grub_cfg): Default to an empty string.
7310 * conf/common.rmk (update-grub): Rename to ...
7311 (grub-mkconfig): ... this.
7312 (update-grub_lib): Copy to ...
7313 (grub-mkconfig_lib): ... this.
7314 (update-grub_SCRIPTS): Copy to ...
7315 (grub-mkconfig_SCRIPTS): ... this. Update all users.
7316 (update-grub_DATA): Rename to ...
7317 (grub-mkconfig_DATA): ... this.
7318
556ce6ac 73192008-09-28 Robert Millan <rmh@aybabtu.com>
7320
7321 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
7322 to `modified'. Add the real `created' field.
7323 (grub_iso9660_uuid): Use `modified' rather than `created' for
7324 constructing the UUID.
7325
73262008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 7327
7328 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
7329 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
7330
92274e85 73312008-09-28 Bean <bean123ch@gmail.com>
7332
7333 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
7334 Thanks to Christian Franke for finding this bug.
7335
add6f17a 73362008-09-25 Robert Millan <rmh@aybabtu.com>
7337
7338 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
7339 instances of grub_util_get_disk_name() (see previous commit).
7340
d2a367b8 73412008-09-25 Robert Millan <rmh@aybabtu.com>
7342
7343 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
7344 `util/i386/get_disk_name.c'.
7345 * conf/i386-efi.rmk: Likewise.
7346 * conf/x86_64-efi.rmk: Likewise.
7347 * conf/i386-coreboot.rmk: Likewise.
7348 * conf/i386-ieee1275.rmk: Likewise.
7349 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
7350 `util/ieee1275/get_disk_name.c'.
7351 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
7352 * util/ieee1275/get_disk_name.c: Remove file.
7353 * util/i386/get_disk_name.c: Remove file.
7354 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
7355 "hd%d" for device.map entries, rather than using
7356 grub_util_get_disk_name().
7357
81a06771 73582008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 7359
7360 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
7361 warning.
7362 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
7363
5a004279 73642008-09-24 Carles Pina i Estany <carles@pina.cat>
7365
7366 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
7367 Changed to 0x5100.
7368 (GRUB_TERM_PPAGE): Changed to 0x4900.
7369
397093d3 73702008-09-24 Robert Millan <rmh@aybabtu.com>
7371
7372 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
7373 macros (they were i386-pc specific).
7374 * include/grub/sparc64/ieee1275/console.h: Likewise.
7375 * include/grub/efi/console.h: Likewise.
7376
a91b6c7c 73772008-09-22 Bean <bean123ch@gmail.com>
7378
7379 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
7380 resident and in attribute list.
7381
7382 * include/grub/ntfs.h (BMP_LEN): Removed.
7383
c40fd116 73842008-09-22 Bean <bean123ch@gmail.com>
7385
81a06771 7386 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 7387 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
7388
7389 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
7390 error occurs, as grub_disk_open will call grub_disk_close, which will
7391 call p->close (scsi).
7392
81a06771 73932008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 7394
7395 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
7396 (AC_PREREQ): Bumped to 2.59.
7397 (AC_TRY_COMPILE): Replace obsolete macro with ...
7398 (AC_COMPILE_IFELSE): ... this.
7399 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
7400 (AC_LINK_IFELSE): ... this.
7401
5dc43410 74022008-09-21 Felix Zielcke <fzielcke@z-51.de>
7403
7404 * autogen.sh: Add a call to `gendistlist.sh'.
7405
9035dce4 74062008-09-19 Christian Franke <franke@computer.org>
7407
7408 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
7409 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
7410 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
7411 Export __enable_execute_stack() to modules.
7412 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
7413 New function.
7414
7fd75377 74152008-09-09 Felix Zielcke <fzielcke@z-51.de>
7416
040030b3 7417 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
7418 Sort the list.
7419
74202008-09-09 Felix Zielcke <fzielcke@z-51.de>
7421
7422 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 7423 #include <grub/util/hostdisk.h>.
7424
89d5ffcf 74252008-09-08 Robert Millan <rmh@aybabtu.com>
7426
7427 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
7428 segments when their filesz is zero (grub_file_read() interprets
81a06771 7429 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 7430 Use `lowest_segment' rather than 0 for calculating the current
7431 segment load address.
7432
40da438f 74332008-09-08 Robert Millan <rmh@aybabtu.com>
7434
7435 * util/hostdisk.c (open_device): Replace a grub_util_info() call
7436 with grub_dprintf("hostdisk", ...), as it was so verbose that it
7437 clobbered useful information.
7438
ddbf5556 74392008-09-08 Robert Millan <rmh@aybabtu.com>
7440
7441 * include/grub/util/biosdisk.h: Move to ...
7442 * include/grub/util/hostdisk.h: ... here. Update all users.
7443 * util/biosdisk.c: Move to ...
7444 * util/hostdisk.c: ... here. Update all users.
7445
783d0f48 74462008-09-07 Robert Millan <rmh@aybabtu.com>
7447
7448 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
7449 variables.
7450 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
7451 and length can be stored directly in the `mbi->mmap_addr' and
7452 `mbi->mmap_length' struct fields.
7453
548e2ea5 74542008-09-07 Robert Millan <rmh@aybabtu.com>
7455
7456 * conf/i386.rmk: New file. Provides declaration for building
7457 `cpuid.mod'.
7458 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
7459 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
7460 variables.
7461 Include `conf/i386.mk'.
7462 * conf/i386-efi.rmk: Likewise.
7463 * conf/x86_64-efi.rmk: Likewise.
7464 * conf/i386-coreboot.rmk: Likewise.
7465 * conf/i386-ieee1275.rmk: Likewise.
7466
0ea85a37 74672008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
7468
7469 Based on patch created by Colin D Bennett <colin@gibibit.com>.
7470 Adds optimization support for BGR based modes.
7471
7472 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
7473 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7475 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7476 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7477 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7478 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7479 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7480 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7481 (grub_video_i386_vbeblit_index_index): Likewise.
7482 (grub_video_i386_vbeblit_replace_directN): Added.
7483 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7484 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7485 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7486 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7487 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7488 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 7489 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 7490 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7491 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7492 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7493 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7494 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7495 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
7496
7497 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
7498 (grub_video_i386_vbefill_R8G8B8): Likewise.
7499 (grub_video_i386_vbefill_index): Likewise.
7500 (grub_video_i386_vbefill_direct32): Added.
7501 (grub_video_i386_vbefill_direct24): Likewise.
7502 (grub_video_i386_vbefill_direct16): Likewise.
7503 (grub_video_i386_vbefill_direct8): Likewise.
7504
81a06771 7505 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 7506 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
7507 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
7508 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
7509 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
7510 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 7511
0ea85a37 7512 * video/video.c (grub_video_get_blit_format): Updated to use new
7513 blit formats. Added handling for 16 bit color modes.
81a06771 7514
7515 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 7516 fillers.
7517 (common_blitter): Updated to use new blitters.
7518
7519 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
7520 Removed.
7521 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
7522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
7523 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
7524 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
7525 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
7526 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
7527 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
7528 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
7529 (grub_video_i386_vbeblit_index_index): Likewise.
7530 (grub_video_i386_vbeblit_replace_directN): Added.
7531 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
7532 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
7533 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
7534 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
7535 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
7536 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
7537 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
7538 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
7539 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
7540 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
7541 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
7542 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
7543 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 7544
0ea85a37 7545 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
7546 (grub_video_i386_vbefill_R8G8B8): Likewise.
7547 (grub_video_i386_vbefill_index): Likewise.
7548 (grub_video_i386_vbefill_direct32): Added.
7549 (grub_video_i386_vbefill_direct24): Likewise.
7550 (grub_video_i386_vbefill_direct16): Likewise.
7551 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 7552
0ea85a37 7553 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
7554 types.
81a06771 7555
0ea85a37 7556 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
7557 types.
81a06771 7558
0ea85a37 7559 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
7560 blitter types.
81a06771 7561
0ea85a37 7562 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
7563 types.
7564
e8a83df6 75652008-09-06 Felix Zielcke <fzielcke@z-51.de>
7566
7567 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
7568 RAID level 1.
7569
6bcd8ee5 75702008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 7571
6bcd8ee5 7572 * fs/iso9660.c (grub_iso9660_date): New structure.
7573 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
7574 (grub_iso9660_uuid): New function.
c375ae58 7575
59261157 75762008-09-05 Bean <bean123ch@gmail.com>
7577
7578 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
7579
7580 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
7581 insensitive bit for names in Win32 and Win32 & DOS namespace.
7582
7583 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
7584
7585 * include/grub/types.h (LONG_MAX): Likewise.
7586
58b6645a 75872008-09-04 Felix Zielcke <fzielcke@z-51.de>
7588
4ee55921 7589 * util/getroot.c: Include <config.h>.
7590 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
7591 add support for /dev/md/N devices and handle LVM double dash escaping.
7592
75932008-09-04 Felix Zielcke <fzielcke@z-51.de>
7594
7595 * config.guess: Update to latest version from config git.
7596 * config.sub: Likewise.
58b6645a 7597
9124f65d 75982008-09-03 Robert Millan <rmh@aybabtu.com>
7599
7600 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
7601 `disk->total_sectors'.
7602
81a06771 76032008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 7604
7605 * include/grub/normal.h: Fixed incorrect comment for
7606 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
7607
81a06771 76082008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 7609
7610 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
7611 values with defines.
7612
7613 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
7614 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
7615 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
7616 (GRUB_VBE_MODEATTR_COLOR): Likewise.
7617 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
7618 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
7619 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
7620 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
7621 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
7622 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
7623 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
7624 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
7625 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
7626 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
7627 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
7628 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
7629 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
7630 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
7631 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
7632
93d5cbf8 76332008-08-31 Robert Millan <rmh@aybabtu.com>
7634
7635 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
7636 declaration.
7637 (grub_multiboot): Fix a few warnings.
7638
21751d50 76392008-08-31 Robert Millan <rmh@aybabtu.com>
7640
7641 * loader/i386/pc/multiboot.c: Update comment not to say that
7642 boot_device support is unimplemented.
7643
e27a75c5 76442008-08-31 Robert Millan <rmh@aybabtu.com>
7645
7646 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
7647 or memory map support are unimplemented.
7648
81a06771 76492008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 7650
7651 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
7652
81a06771 76532008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 7654
7655 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
7656 total video memory in 'vbeinfo' output; show color format details for
7657 each video mode.
7658
7c5d8d95 76592008-08-30 Pavel Roskin <proski@gnu.org>
7660
7661 * util/genmoddep.c: Remove for real this time.
7662 * DISTLIST: Remove util/genmoddep.c.
7663
4cebd25a 76642008-08-30 Robert Millan <rmh@aybabtu.com>
7665
7666 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
7667 as required by Multiboot spec (it was already 4-byte aligned, but
7668 only by chance).
7669
b497a269 76702008-08-29 Pavel Roskin <proski@gnu.org>
7671
e3925185 7672 * kern/powerpc/ieee1275/crt0.S: Rename to ...
7673 * kern/powerpc/ieee1275/startup.S: ... this.
7674 * conf/powerpc-ieee1275.rmk: Adjust for the above.
7675 * DISTLIST: Likewise.
7676
b497a269 7677 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
7678 grub/cpu/kernel.h. Add start label for consistency with other
7679 platforms. Add grub_prefix immediately after start. Add jump
7680 to the code after grub_prefix.
7681 * include/grub/powerpc/kernel.h: Provide valid values for
7682 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
7683
6e5a42fe 76842008-08-29 Bean <bean123ch@gmail.com>
7685
7686 * configure.ac: Change host_os to cygwin for mingw.
7687 (asprintf): New check for function.
7688
7689 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
7690 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
7691
7692 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 7693 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 7694 sync, sleep and grub_util_get_disk_size for mingw.
7695
7696 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
7697 to get size in mingw.
7698 (open_device): Use flag O_BINARY if it's defined.
7699 (find_root_device): Add dummy code for mingw.
7700
7701 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
7702 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
7703 (get_scsi_disk_name): Return 0 for mingw.
7704
7705 * util/hostfs.c: #include <grub/util/misc.h>.
7706 (grub_hostfs_open): Use "rb" flag to open file, use
7707 grub_util_get_disk_size to get disk size for mingw.
7708
7709 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
7710 (asprintf): New function if HAVE_ASPRINTF is not set.
7711 (sync): New function for mingw.
7712 (sleep): Likewise.
7713 (grub_util_get_disk_size): Likewise.
7714
ab3f2673 77152008-08-28 Pavel Roskin <proski@gnu.org>
7716
7717 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7718 kern/time.c.
7719
1c282483 77202008-08-28 Robert Millan <rmh@aybabtu.com>
7721
7722 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
7723
678e849c 77242008-08-28 Robert Millan <rmh@aybabtu.com>
7725
7726 Change find_grub_drive() syntax so it doesn't prevent it from
7727 detecting NULL names as errors.
7728
7729 * util/biosdisk.c (find_grub_drive): Move free slot search code
7730 from here ...
7731 (find_free_slot): ... to here.
7732 (read_device_map): Use find_free_slot() to search for free slots.
7733
965c75ca 77342008-08-27 Marco Gerards <marco@gnu.org>
7735
7736 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
7737 (scsi_mod_SOURCES): New variable.
7738 (scsi_mod_CFLAGS): Likewise
7739 (scsi_mod_LDFLAGS): Likewise.
7740
7741 * disk/scsi.c: New file.
7742
7743 * include/grub/scsi.h: Likewise.
7744
7745 * include/grub/scsicmd.h: Likewise.
7746
7747 * disk/ata.c: Include <grub/scsi.h>.
7748 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
7749 instead.
7750 (grub_ata_iterate): Skip ATAPI devices.
7751 (grub_ata_open): Only handle ATAPI devices.
7752 (struct grub_atapi_read): Removed.
7753 (grub_atapi_readsector): Likewise.
7754 (grub_ata_read): No longer handle ATAPI devices.
7755 (grub_ata_write): Likewise.
7756 (grub_atapi_iterate): New function.
7757 (grub_atapi_read): Likewise.
7758 (grub_atapi_write): Likewise.
7759 (grub_atapi_open): Likewise.
7760 (grub_atapi_close): Likewise.
7761 (grub_atapi_dev): New variable.
7762 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
7763 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
7764
7765 * include/grub/disk.h (enum grub_disk_dev_id): Add
7766 `GRUB_DISK_DEVICE_SCSI_ID'.
7767
c07ae501 77682008-08-26 Robert Millan <rmh@aybabtu.com>
7769
7770 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
7771 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
7772 descriptive.
7773
5ed20adc 77742008-08-23 Bean <bean123ch@gmail.com>
7775
7776 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
7777 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7778 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
7779 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
7780 dm_nv.mod.
7781 (raid5rec_mod_SOURCES): New macro.
7782 (raid5rec_mod_CFLAGS): Likewise.
7783 (raid5rec_mod_LDFLAGS): Likewise.
7784 (raid6rec_mod_SOURCES): Likewise.
7785 (raid6rec_mod_CFLAGS): Likewise.
7786 (raid6rec_mod_LDFLAGS): Likewise.
7787 (mdraid_mod_SOURCES): Likewise.
7788 (mdraid_mod_CFLAGS): Likewise.
7789 (mdraid_mod_LDFLAGS): Likewise.
7790 (dm_nv_mod_SOURCES): Likewise.
7791 (dm_nv_mod_CFLAGS): Likewise.
7792 (dm_nv_mod_LDFLAGS): Likewise.
7793
7794 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
7795 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
7796 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7797
7798 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
7799 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
7800
7801 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7802
7803 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7804
7805 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7806
7807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7808
7809 * disk/raid5_recover.c: New file.
7810
7811 * disk/raid6_recover.c: Likewise.
7812
7813 * disk/mdraid_linux.c: Likewise.
7814
7815 * disk/dmraid_nvidia.c: Likewise.
7816
7817 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
7818 ULONG_MAX.
7819
7820 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
7821 calculate the size of raid device.
7822 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
7823 different layout of raid5.
7824 (grub_raid_scan_device): Remove code specific to mdraid.
7825 (grub_raid_list): New variable.
7826 (free_array): New function.
7827 (grub_raid_register): Likewise.
7828 (grub_raid_unregister): Likewise.
7829 (grub_raid_rescan): Likewise.
7830 (GRUB_MOD_INIT): Don't iterate device here.
7831 (GRUB_MOD_FINI): Use free_array to release resource.
7832
7833 * include/grub/raid.h: Remove macro and structure specific to mdraid.
7834 (grub_raid5_recover_func_t): New function variable type.
7835 (grub_raid6_recover_func_t): Likewise.
7836 (grub_raid5_recover_func): New variable.
7837 (grub_raid6_recover_func): Likewise.
7838 (grub_raid_register): New function.
7839 (grub_raid_unregister): Likewise.
7840 (grub_raid_rescan): Likewise.
7841 (grub_raid_block_xor): Likewise.
7842
7843 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
7844 (CMD_CRC): New macro.
7845 (part): Removed.
7846 (read_file): Handle device as well as file.
7847 (cmd_crc): New function.
7848 (fstest): Handle multiple disks.
7849 (options): Remove part, raw and long, add root and diskcount.
7850 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 7851 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 7852 add handling for the new options, support multiple disks.
7853
7854 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
7855
29c18915 78562008-08-23 Bean <bean123ch@gmail.com>
7857
7858 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
7859
7860 * genfslist.sh: Ignore kernel.mod.
7861
7862 * genpartmaplist.sh: Likewise.
7863
8415f261 78642008-08-23 Robert Millan <rmh@aybabtu.com>
7865
7866 * util/getroot.c (find_root_device): Skip anything that starts with
7867 a dot, not just directories. This avoids things like /dev/.tmp.md0.
7868
d5a7dc5b 78692008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 7870
d5a7dc5b 7871 * util/update-grub.in (GRUB_GFXMODE): Export variable.
7872 * util/grub.d/00_header.in: Allow the administrator to change default
7873 gfxmode via ${GRUB_GFXMODE}.
7874
380cfbb4 78752008-08-21 Felix Zielcke <fzielcke@z-51.de>
7876
7877 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
7878
c9baafe7 78792008-08-21 Robert Millan <rmh@aybabtu.com>
7880
7881 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
7882 loader.
7883 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
7884 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
7885
e290bef2 78862008-08-20 Carles Pina i Estany <carles@pina.cat>
7887
7888 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
7889 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
7890
f9dbfc96 78912008-08-19 Robert Millan <rmh@aybabtu.com>
7892
7893 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
7894 (struct grub_virtual_screen): Remove `cursor_color'.
7895 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
7896 initialization.
7897 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
7898
dd6bd6ab 78992008-08-18 Robert Millan <rmh@aybabtu.com>
7900
7901 Unify (identical) linux_normal.c files.
7902 * loader/i386/efi/linux_normal.c: Move from here ...
7903 * loader/linux_normal.c: ... to here. Update all users.
7904 * loader/i386/pc/linux_normal.c: Delete. Update all users.
7905 * loader/i386/ieee1275/linux_normal.c: Likewise.
7906
7f42f83e 79072008-08-18 Robert Millan <rmh@aybabtu.com>
7908
7909 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
7910 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
7911 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
7912 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
7913 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
7914 New macros.
7915 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
7916 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
7917 (GRUB_LINUX_CL_END_OFFSET): ... to here.
7918 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
7919 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
7920 (GRUB_EFI_CL_END_OFFSET): Rename to ...
7921 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
7922 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
7923 Initialize `params->video_cursor_x' and `params->video_cursor_y'
7924 portably using grub_getxy().
7925 Replace `-EFI' with `-bzImage' in boot message.
7926
38487ddb 79272008-08-17 Robert Millan <rmh@aybabtu.com>
7928
7929 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
7930
deceb3ec 79312008-08-17 Robert Millan <rmh@aybabtu.com>
7932
7933 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
7934
7935 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
7936 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
7937 (grub_machine_mmap_iterate): New function declaration.
7938 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
7939 structure.
7940 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
7941 macros.
7942
7943 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
7944 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
7945 Move e820 parsing from here ...
7946 * kern/i386/pc/mmap.c: New file.
7947 (grub_machine_mmap_iterate): ... to here.
7948
7949 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
7950 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
7951 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
7952 (grub_available_iterate): Redeclare to return `void', and redeclare
7953 its hook to use grub_uint64_t as addr and size parameters, and rename
7954 to ...
7955 (grub_machine_mmap_iterate): ... this. Update all users.
7956
7957 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
7958 to make it more readable. Rename to ...
7959 (grub_machine_mmap_iterate): ... this.
7960
7961 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
7962 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
7963 (grub_multiboot): Allocate an extra region after the payload, and fill
7964 it with a Multiboot memory map. Adjust a.out loader to calculate size
7965 with the extra space.
7966 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
7967 with the extra space.
7968
f8aa0f43 79692008-08-17 Carles Pina i Estany <carles@pina.cat>
7970
9807deb9 7971 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 7972
605f5bb6 79732008-08-17 Felix Zielcke <fzielcke@z-51.de>
7974
7975 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
7976 mdate-sh to the list `find' searches for.
7977 * DISTLIST: Regenerated.
7978
210db6c6 79792008-08-16 Felix Zielcke <fzielcke@z-51.de>
7980
7981 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
7982 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 7983 genmoddep.awk, gensymlist.sh.in.
7984 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 7985 * DISTLIST: Regenerated.
48cdbfd4 7986 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 7987
1082b929 79882008-08-16 Robert Millan <rmh@aybabtu.com>
7989
7990 * disk/raid.c (grub_raid_init): Handle/report errors set by
7991 grub_device_iterate().
7992 * disk/lvm.c (grub_lvm_init): Likewise.
7993
42ce5170 79942008-08-15 Bean <bean123ch@gmail.com>
7995
7996 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
7997 and datehook.mod.
7998 (datetime_mod_SOURCES): New macro.
7999 (datetime_mod_CFLAGS): Likewise.
8000 (datetime_mod_LDFLAGS): Likewise.
8001 (date_mod_SOURCES): Likewise.
8002 (date_mod_CFLAGS): Likewise.
8003 (date_mod_LDFLAGS): Likewise.
8004 (datehook_mod_SOURCES): Likewise.
8005 (datehook_mod_CFLAGS): Likewise.
8006 (datehook_mod_LDFLAGS): Likewise.
8007
8008 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8009 and datehook.mod.
8010 (datetime_mod_SOURCES): New macro.
8011 (datetime_mod_CFLAGS): Likewise.
8012 (datetime_mod_LDFLAGS): Likewise.
8013 (date_mod_SOURCES): Likewise.
8014 (date_mod_CFLAGS): Likewise.
8015 (date_mod_LDFLAGS): Likewise.
8016 (datehook_mod_SOURCES): Likewise.
8017 (datehook_mod_CFLAGS): Likewise.
8018 (datehook_mod_LDFLAGS): Likewise.
8019
8020 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8021 and datehook.mod.
8022 (datetime_mod_SOURCES): New macro.
8023 (datetime_mod_CFLAGS): Likewise.
8024 (datetime_mod_LDFLAGS): Likewise.
8025 (date_mod_SOURCES): Likewise.
8026 (date_mod_CFLAGS): Likewise.
8027 (date_mod_LDFLAGS): Likewise.
8028 (datehook_mod_SOURCES): Likewise.
8029 (datehook_mod_CFLAGS): Likewise.
8030 (datehook_mod_LDFLAGS): Likewise.
8031
8032 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8033 and datehook.mod.
8034 (datetime_mod_SOURCES): New macro.
8035 (datetime_mod_CFLAGS): Likewise.
8036 (datetime_mod_LDFLAGS): Likewise.
8037 (date_mod_SOURCES): Likewise.
8038 (date_mod_CFLAGS): Likewise.
8039 (date_mod_LDFLAGS): Likewise.
8040 (datehook_mod_SOURCES): Likewise.
8041 (datehook_mod_CFLAGS): Likewise.
8042 (datehook_mod_LDFLAGS): Likewise.
8043
8044 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8045 and datehook.mod.
8046 (datetime_mod_SOURCES): New macro.
8047 (datetime_mod_CFLAGS): Likewise.
8048 (datetime_mod_LDFLAGS): Likewise.
8049 (date_mod_SOURCES): Likewise.
8050 (date_mod_CFLAGS): Likewise.
8051 (date_mod_LDFLAGS): Likewise.
8052 (datehook_mod_SOURCES): Likewise.
8053 (datehook_mod_CFLAGS): Likewise.
8054 (datehook_mod_LDFLAGS): Likewise.
8055
8056 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
8057
8058 * commands/date.c: New file.
8059
8060 * hook/datehook.c: Likewise.
8061
8062 * include/grub/lib/datetime.h: Likewise.
8063
8064 * include/grub/i386/cmos.h: Likewise.
8065
8066 * lib/datetime.c: Likewise.
8067
8068 * lib/i386/datetime.c: Likewise.
8069
8070 * lib/efi/datetime.c: Likewise.
8071
0e9242da 80722008-08-14 Robert Millan <rmh@aybabtu.com>
8073
8074 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
8075 (grub_mkelfimage_SOURCES): New variable.
8076 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
8077
8078 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
8079 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
8080 * conf/powerpc-ieee1275.rmk: Likewise.
8081 * conf/i386-ieee1275.rmk: Likewise.
8082
8083 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
8084 * kern/i386/coreboot/init.c: Likewise.
8085
8086 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
8087 with `<grub/cpu/kernel.h>'.
8088 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
8089 to ...
8090 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
8091 * kern/i386/coreboot/startup.S: Likewise.
8092
8093 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
8094 (GRUB_MOD_GAP): Remove.
8095 * include/grub/powerpc/kernel.h: New file.
8096 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
8097 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8098 * include/grub/i386/kernel.h: New file.
8099 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
8100 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
8101 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8102
8103 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
8104 `grub-mkelfimage'.
8105 Use --directory when invoking grub_mkimage.
8106
8107 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
8108 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
8109 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
8110 and GRUB_KERNEL_CPU_PREFIX.
8111
b86408f8 81122008-08-14 Felix Zielcke <fzielcke@z-51.de>
8113
d5e619ca 8114 * include/grub/err.h (grub_err_printf): New function prototype.
8115 * util/misc.c (grub_err_printf): New function.
8116 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
8117 grub_printf.
8118 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 8119
7161f0e0 81202008-08-13 Robert Millan <rmh@aybabtu.com>
8121
8122 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
8123
a1967522 81242008-08-13 Robert Millan <rmh@aybabtu.com>
8125
8126 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
8127 boot entry.
8128
371458b5 81292008-08-12 Robert Millan <rmh@aybabtu.com>
8130
8131 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
8132 of the relocation code from here ...
8133 (grub_multiboot): ... to here.
8134 (forward_relocator, backward_relocator): Move from here ...
8135 * kern/i386/loader.S (grub_multiboot_forward_relocator)
8136 (grub_multiboot_backward_relocator): ... to here.
8137 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
8138 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
8139 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
8140 (grub_multiboot_forward_relocator_end)
8141 (grub_multiboot_backward_relocator)
8142 (grub_multiboot_backward_relocator_end): New variables.
8143
05f9452b 81442008-08-12 Bean <bean123ch@gmail.com>
8145
8146 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
8147
20024ab0 81482008-08-11 Robert Millan <rmh@aybabtu.com>
8149
8150 * kern/i386/linuxbios/startup.S: Move from here ...
8151 * kern/i386/coreboot/startup.S: ... to here.
8152
8153 * kern/i386/linuxbios/init.c: Move from here ...
8154 * kern/i386/coreboot/init.c: ... to here.
8155
8156 * kern/i386/linuxbios/table.c: Move from here ...
8157 * kern/i386/coreboot/mmap.c: ... to here.
8158
8159 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
8160
e352e9cd 81612008-08-11 Robert Millan <rmh@aybabtu.com>
8162
8163 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
8164 errors. Leave it to the upper layer to handle them.
8165
2d05bc6a 81662008-08-09 Christian Franke <franke@computer.org>
8167
8168 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
8169 * conf/common.rmk: Install `grub-pe2elf' only if requested.
8170 Install `grub.d/10_windows' only on Cygwin.
8171 * configure.ac: Add subst of `target_os'.
8172 Check `target_os' also before setting TARGET_OBJ2ELF.
8173 Add `--enable-grub-pe2elf'.
8174
042bd419 81752008-08-08 Robert Millan <rmh@aybabtu.com>
8176
8177 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8178 (grub_last_time): Change type to grub_uint64_t.
8179 (grub_disk_open): Migrate code from to using grub_get_time_ms().
8180 (grub_disk_close): Likewise.
8181
8182 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8183 (run_menu): Migrate code from to using grub_get_time_ms().
8184
8185 * util/misc.c (grub_get_time_ms): New function.
8186
7f280db5 81872008-08-08 Marco Gerards <marco@gnu.org>
8188
8189 * disk/ata.c (grub_ata_regget): Change return type to
8190 `grub_uint8_t'.
8191 (grub_ata_regget2): Likewise.
8192 (grub_ata_wait_status): New function.
8193 (grub_ata_wait_busy): Removed function, updated all users to use
8194 `grub_ata_wait_status'.
8195 (grub_ata_wait_drq): Likewise.
8196 (grub_ata_cmd): New function.
8197 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
8198 error handling.
8199 (grub_ata_pio_write): Add error handling.
8200 (grub_atapi_identify): Likewise.
8201 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
8202 handling.
8203 (grub_ata_identify): Use `grub_ata_cmd' and improve error
8204 handling. Actually use the detected registers. Reorder the
8205 detection logic such that it is easier to read.
8206 (grub_ata_pciinit): Do not assign the same ID to each controller.
8207 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
8208 handling.
8209 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
8210
8211 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
8212
1fbc5e66 82132008-08-08 Marco Gerards <marco@gnu.org>
8214
8215 * NEWS: Update.
8216
819ce6c0 82172008-08-07 Bean <bean123ch@gmail.com>
8218
8219 * include/grub/x86_64/pci.h: New file.
8220
5c41d44d 82212008-08-07 Christian Franke <franke@computer.org>
8222
8223 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
8224 (TIMER2_GATE): Likewise.
8225 (grub_pit_wait): Add enable/disable of the timer2 gate
8226 bit of port 0x61. This fixes a possible infinite loop.
8227
5ebc275d 82282008-08-07 Bean <bean123ch@gmail.com>
8229
8230 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
8231 kern/i386/tsc.c and kern/i386/pit.c.
8232
8233 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
8234 x86_64 platform.
8235
8236 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
8237 <grub/i386/tsc.h>.
8238
8239 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
8240
e383b3d0 82412008-08-07 Bean <bean123ch@gmail.com>
8242
8243 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
8244
8245 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
8246
8247 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
8248 multiple inclusion. Add #include <grub/types.h>.
8249
1cbb58ac 82502008-08-06 Christian Franke <franke@computer.org>
8251
8252 * conf/common.rmk: Build and install `10_windows'.
8253 * util/grub.d/10_windows.in: New script.
8254
337f5a1e 82552008-08-06 Pavel Roskin <proski@gnu.org>
8256
8257 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
8258
057bc4ac 82592008-08-06 Robert Millan <rmh@aybabtu.com>
8260
8261 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
8262 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
8263
2b99f123 82642008-08-06 Bean <bean123ch@gmail.com>
8265
8266 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
8267 (grub_pxefs_fs_int): Remove dummy definition.
8268 (grub_pxefs_open): Use data->block_size to store the current block
8269 size setting.
8270 (grub_pxefs_read): Use block size stored in data->block_size. As the
8271 value of grub_pxe_blksize can be changed after the file is opened.
8272
9f0234cb 82732008-08-06 Bean <bean123ch@gmail.com>
8274
8275 * fs/i386/pc/pxe.c (curr_file): new variable.
8276 (grub_pxefs_open): Simply the handling of pxe file system. Don't
8277 require the dummy internal file system anymore.
8278 (grub_pxefs_read): Removed.
8279 (grub_pxefs_close): Likewise.
8280 (grub_pxefs_fs_int): Likewise.
8281 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
8282 connection when we switch file.
8283 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
8284
a55d42e0 82852008-08-06 Robert Millan <rmh@aybabtu.com>
8286
8287 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
8288 `halt.mod'.
8289 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
8290 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
8291
8292 * kern/i386/halt.c: New file.
8293 * kern/i386/reboot.c: Likewise.
8294 * include/grub/i386/reboot.h: Likewise.
8295 * include/grub/i386/halt.h: Likewise.
8296
8297 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
8298 Include `<grub/cpu/halt.h>'.
8299 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
8300 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
8301
8302 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
8303 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
8304 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
8305 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
8306 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
8307 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
8308 from here ...
8309 * include/grub/i386/at_keyboard.h: ... to here.
8310
24371d26 83112008-08-05 Robert Millan <rmh@aybabtu.com>
8312
8313 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
8314 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
8315 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
8316 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8317 `kern/generic/millisleep.c'.
8318
8319 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
8320 instead of grub_get_rtc().
8321 (grub_tsc_init): Initialize `tsc_boot_time'.
8322
8323 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
8324 (grub_machine_init): Use grub_tsc_init() rather than
8325 installing an RTC-based handler via grub_install_get_time_ms().
8326
8327 * kern/i386/pit.c: New file.
8328 * include/grub/i386/pit.h: Likewise.
8329
9e7007b3 83302008-08-05 Bean <bean123ch@gmail.com>
8331
8332 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
8333
8334 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
8335 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
8336 (pxe_mod_SOURCES): New macro.
8337 (pxe_mod_CFLAGS): Likewise.
8338 (pxe_mod_LDFLAGS): Likewise.
8339 (pxecmd_mod_SOURCES): Likewise.
8340 (pxecmd_mod_CFLAGS): Likewise.
8341 (pxecmd_mod_LDFLAGS): Likewise.
8342
8343 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
8344 (grub_pxe_call): Likewise.
8345
8346 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
8347
8348 * commands/i386/pc/pxecmd.c: New file.
8349
9f0234cb 8350 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 8351
8352 * include/grub/i386/pc/pxe.h: Likewise.
8353
6977d49f 83542008-08-05 Bean <bean123ch@gmail.com>
8355
8356 * util/console.c (grub_console_cur_color): New variable.
8357 (grub_console_standard_color): Likewise.
8358 (grub_console_normal_color): Likewise.
8359 (grub_console_highlight_color): Likewise.
8360 (color_map): Likewise.
8361 (use_color): Likewise.
8362 (NUM_COLORS): New macro.
8363 (grub_ncurses_setcolorstate): Handle color properly.
8364 (grub_ncurses_setcolor): Don't change color here, just remember the
8365 settings, color will be set in grub_ncurses_setcolorstate.
8366 (grub_ncurses_getcolor): New function.
8367 (grub_ncurses_init): Initialize color pairs.
8368 (grub_ncurses_term): New member grub_ncurses_getcolor.
8369
9c2ff3ee 83702008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 8371
9c2ff3ee 8372 High resolution timer support. Implemented for x86 CPUs using TSC.
8373 Extracted generic grub_millisleep() so it's linked in only as needed.
8374 This requires a Pentium compatible CPU; if the RDTSC instruction is
8375 not supported, then it falls back on the generic grub_get_time_ms()
8376 implementation that uses the machine's RTC.
8377
8378 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
8379 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
8380 `kern/generic/millisleep.c'.
8381
8382 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
8383 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
8384
8385 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
8386 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
8387
8388 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8389
8390 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8391 `kern/generic/millisleep.c'.
8392
8393 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
8394
8395 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
8396
8397 * kern/generic/rtc_get_time_ms.c: New file.
8398
8399 * kern/generic/millisleep.c: New file.
337f5a1e 8400
9c2ff3ee 8401 * kern/misc.c: Don't include
8402 <kern/time.h> anymore.
8403 (grub_millisleep_generic): Removed.
8404
8405 * commands/sleep.c (grub_interruptible_millisleep): Uses
8406 grub_get_time_ms() instead of grub_get_rtc().
8407
8408 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
8409 function.
8410 (grub_cpu_is_cpuid_supported): New inline function.
8411 (grub_cpu_is_tsc_supported): New inline function.
8412 (grub_tsc_init): New function prototype.
8413 (grub_tsc_get_time_ms): New function prototype.
8414
8415 * kern/i386/tsc.c (grub_get_time_ms): New file.
8416
8417 * include/grub/time.h: Include <grub/types.h.
8418 (grub_millisleep_generic): Removed.
8419 (grub_get_time_ms): New prototype.
8420 (grub_install_get_time_ms): New prototype.
8421 (grub_rtc_get_time_ms): New prototype.
8422
8423 * kern/time.c (grub_get_time_ms): New function.
8424 (grub_install_get_time_ms): New function.
8425
8426 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
8427 <grub/time.h> anymore.
8428 (grub_millisleep): Removed.
8429 (grub_machine_init): Call grub_tsc_init.
8430
8431 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
8432 get_time_ms() implementation.
8433
8434 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
8435 (ieee1275_get_time_ms): New function.
8436 (grub_machine_init): Install get_time_ms() implementation.
8437
8438 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
8439 (grub_machine_init): Call grub_tsc_init().
8440 (grub_millisleep): Removed.
bf06a93f 8441
9c2ff3ee 8442 * kern/ieee1275/init.c (grub_millisleep): Removed.
8443 (grub_machine_init): Install ieee1275_get_time_ms()
8444 implementation.
8445 (ieee1275_get_time_ms): New function.
8446 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
8447 real work.
8448
9ec92aaf 84492008-08-05 Marco Gerards <marco@gnu.org>
8450
8451 * disk/ata.c: Include <grub/pci.h>.
8452 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
8453 (grub_ata_initialize): Rewritten.
8454 (grub_ata_device_initialize): New function.
8455
8d23f507 84562008-08-04 Pavel Roskin <proski@gnu.org>
8457
8458 * kern/main.c: Include grub/mm.h.
8459
5e15ee3d 84602008-08-04 Robert Millan <rmh@aybabtu.com>
8461
8462 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
8463 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
8464 corruption problem).
8465
a9053f8f 84662008-08-04 Robert Millan <rmh@aybabtu.com>
8467
8468 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
8469 warnings introduced in my last commit.
8470
dd19c7d7 84712008-08-03 Robert Millan <rmh@aybabtu.com>
8472
8473 Make PCI available on all i386 architectures.
8474
8475 * include/grub/i386/pc/pci.h: Move from here ...
8476 * include/grub/i386/pci.h: ... to here.
8477
8478 * include/grub/i386/pc/pci.h: Remove.
8479 * include/grub/i386/efi/pci.h: Remove.
8480 * include/grub/x86_64/efi/pci.h: Remove.
8481
8482 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
8483 `<grub/cpu/pci.h>'.
8484
8485 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
8486 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
8487 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
8488
8489 * conf/i386-ieee1275.rmk: Likewise.
8490
e14a6184 84912008-08-03 Robert Millan <rmh@aybabtu.com>
8492
8493 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
8494 (grub_console_setcursor): Make it possible to set cursor off.
8495
52768e37 84962008-08-03 Robert Millan <rmh@aybabtu.com>
8497
8498 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
8499 of modules instead of assuming which platform provides what.
8500 * util/update-grub.in: Likewise.
8501
2d52f57f 85022008-08-03 Robert Millan <rmh@aybabtu.com>
8503
8504 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
8505 instead of `grub_install_dos_part' to determine whether a drive needs
8506 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 8507 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 8508
2a5cd121 85092008-08-02 Robert Millan <rmh@aybabtu.com>
8510
8511 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
8512
93808428 85132008-08-02 Robert Millan <rmh@aybabtu.com>
8514
8515 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
8516 of informational grub_dprintf() calls.
8517
3bd0a12a 85182008-08-02 Robert Millan <rmh@aybabtu.com>
8519
8520 * disk/memdisk.c (memdisk_size): Don't initialize.
8521 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
8522
8523 * include/grub/i386/pc/kernel.h
8524 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
8525 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
8526 (grub_memdisk_image_size, grub_arch_memdisk_addr)
8527 (grub_arch_memdisk_size): Remove.
8528
8529 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
8530 field (was only used to transfer a constant). Add `type' field to
8531 support multiple module types.
8532 (grub_module_iterate): New function.
8533
8534 * kern/device.c (grub_device_open): Do not hide error messages
8535 when grub_disk_open() fails. Use grub_print_error() instead.
8536
8537 * kern/i386/pc/init.c (grub_arch_modules_addr)
8538 (grub_arch_memdisk_size): Remove functions.
8539 (grub_arch_modules_addr): Return the module address in high memory
8540 (now that it isn't copied anymore).
8541
8542 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
8543 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
8544 decompression routine (grub_total_module_size already includes that
8545 now). Don't copy modules back to low memory.
8546
8547 * kern/main.c: Include `<grub/mm.h>'.
8548 (grub_load_modules): Split out (and use) ...
8549 (grub_module_iterate): ... this function, which iterates through
8550 module objects and runs a hook.
8551 Comment out grub_mm_init_region() call, as it would cause non-ELF
8552 modules to be overwritten.
8553
8554 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
8555 the memdisk image in its own region, make it part of the module list.
8556 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
8557 (main): Parse --memdisk|-m option, and pass user-provided path as
8558 parameter to generate_image().
8559 (add_segments): Pass `memdisk_path' down to load_modules().
8560 (load_modules): Embed memdisk image in module section when requested.
8561 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
8562 `header.type' instead of `header.offset'.
8563
8564 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
8565 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
8566 (memdisk_mod_LDFLAGS): New variables.
8567 * conf/i386-coreboot.rmk: Likewise.
8568 * conf/i386-ieee1275.rmk: Likewise.
8569
a927cc73 85702008-08-02 Robert Millan <rmh@aybabtu.com>
8571
8572 * loader/i386/pc/multiboot.c (playground, forward_relocator)
8573 (backward_relocator): New variables. Used to allocate and relocate
8574 the payload, respectively.
8575 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 8576 address, install the appropriate relocator code in each bound of
a927cc73 8577 the payload, and set the entry point such that
8578 grub_multiboot_real_boot() will jump to one of them.
8579
8580 * kern/i386/loader.S (grub_multiboot_payload_size)
8581 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8582 (grub_multiboot_payload_entry_offset): New variables.
8583 (grub_multiboot_real_boot): Set cpu context to what the relocator
8584 expects, and jump to the relocator instead of the payload.
8585
8586 * include/grub/i386/loader.h (grub_multiboot_payload_size)
8587 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
8588 (grub_multiboot_payload_entry_offset): Export.
8589
b15d8a0c 85902008-08-01 Bean <bean123ch@gmail.com>
8591
8592 * normal/menu_entry.c (editor_getline): Don't return the original
8593 string as result, as it will be released by lexer once it has done
8594 using it.
8595
cdfb3d22 85962008-08-01 Robert Millan <rmh@aybabtu.com>
8597
8598 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
8599 within menuentries, not before them.
8600 util/grub.d/10_hurd.in: Likewise.
8601
9175e93d 86022008-08-01 Bean <bean123ch@gmail.com>
8603
8604 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
8605 (bufio_mod_SOURCES): New macro.
8606 (bufio_mod_CFLAGS): Likewise.
8607 (bufio_mod_LDFLAGS): Likewise.
8608
8609 * include/grub/bufio.h: New file.
8610
8611 * io/bufio.c: Likewise.
8612
8613 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
8614 (grub_video_reader_png): Use grub_buffile_open to open file.
8615
8616 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
8617 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
8618
8619 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
8620 (grub_video_reader_tga): Use grub_buffile_open to open file.
8621
8622 * font/manager.c: Include <grub/bufio.h>.
8623 (add_font): Use grub_buffile_open to open file.
8624
3d8383e7 86252008-07-31 Robert Millan <rmh@aybabtu.com>
8626
8627 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
8628 ELF segments, use a macro for arbitrarily accessing any of them instead
8629 of preparing a pointer that allows access to one at a time.
8630 (grub_multiboot_load_elf64): Likewise.
8631
16e641b6 86322008-07-31 Bean <bean123ch@gmail.com>
8633
8634 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
8635 GRUB_KERNEL_MACHINE_DATA_END.
8636
59198b72 86372008-07-30 Robert Millan <rmh@aybabtu.com>
8638
8639 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
8640 Increase from 0x50 to 0x60.
8641 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
8642 use UUIDs to identify the root drive for them. If that's not
8643 possible, abort.
8644 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
8645 check, for cross-disk installs.
8646
ae88bca3 86472008-07-30 Robert Millan <rmh@aybabtu.com>
8648
8649 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
8650 is non-empty, use it to set the `prefix' environment variable instead
8651 of the usual approach.
8652 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
8653 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
8654 environment variable instead of dummy make_install_device().
8655
8656 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
8657 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 8658 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 8659
8660 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
8661 New variable reference.
8662 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
8663 New macro. Defines offset of `grub_prefix' within startup.S (relative
8664 to `start').
8665 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
8666 section within startup.S (relative to `start').
8667 * include/grub/i386/coreboot/kernel.h: Likewise.
8668
8669 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
8670 Overwrite grub_prefix with its contents, at the beginning of the
8671 first segment.
8672 (main): Understand -p|--prefix.
8673
14f41dd1 86742008-07-30 Robert Millan <rmh@aybabtu.com>
8675
8676 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
8677
4ca049a3 86782008-07-30 Robert Millan <rmh@aybabtu.com>
8679
8680 * term/i386/pc/vga_text.c (grub_console_cls): Use
8681 grub_console_gotoxy() to go back to beginning of the screen.
8682 Found by Patrick Georgi <patrick.georgi@coresystems.de>
8683
2921d337 86842008-07-29 Christian Franke <franke@computer.org>
8685
8686 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
8687 Add conversion of emulated mount points on Cygwin.
8688
b609876d 86892008-07-29 Christian Franke <franke@computer.org>
8690
8691 * util/update-grub.in: Add a check for admin
8692 group on Cygwin.
8693 Remove old `grub.cfg.new' before creation.
8694 Add `-f' to `mv' to handle the different filesystem
8695 semantics of Windows.
8696
e93e4679 86972008-07-29 Bean <bean123ch@gmail.com>
8698
8699 * normal/main.c (get_line): Fix buffer overflow bug.
8700
41694fd0 87012008-07-28 Robert Millan <rmh@aybabtu.com>
8702
8703 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
8704 (struct grub_apple_header): New struct. Describes the layout of
8705 the partmap header.
8706 (apple_partition_map_iterate): Check the header magic as well as the
8707 partition magic (which was already being checked).
8708
cfd0b4e6 87092008-07-28 Pavel Roskin <proski@gnu.org>
8710
8711 * genmk.rb: Add a warning to the beginning of the output that
8712 it's a generated file and should not be edited.
8713
93cce016 87142008-07-28 Robert Millan <rmh@aybabtu.com>
8715
8716 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
8717 with the same number are found, just use issue a warning with
8718 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 8719
cd1df915 87202008-07-27 Robert Millan <rmh@aybabtu.com>
8721
8722 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
8723 information.
8724
b70a8427 87252008-07-27 Bean <bean123ch@gmail.com>
8726
8727 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
8728 (grub_fat_find_dir): Ignore case when comparing filename.
8729
8f5e379f 87302008-07-27 Bean <bean123ch@gmail.com>
8731
8732 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
8733 smallino, as it's more descriptive, and i8count can be confused with
8734 the other field count.
8735 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
8736 inode type.
8737
a85cd5a0 87382008-07-27 Bean <bean123ch@gmail.com>
8739
8740 * commands/crc.c: New file.
8741
8742 * lib/crc.c: Likewise.
8743
8744 * include/grub/lib/crc.h: Likewise.
8745
8746 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
8747
8748 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
8749 (hexdump): Move this function to ...
8750
8751 * lib/hexdump.c: ... here.
8752
8753 * include/grub/hexdump.h: Renamed to ...
8754
8755 * include/grub/lib/hexdump.h: ... this.
8756
8757 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
8758
8759 * util/grub-editenv.c: Likewise.
8760
8761 * include/envblk.h: Renamed to ...
8762
8763 * include/lib/envblk.h: ... this.
8764
8765 * util/envblk.c: Renamed to ...
8766
8767 * lib/envblk.c: ... this.
8768
8769 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
8770 lib/hexdump.c.
8771 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
8772 (pkglib_MODULES): Add crc.mod.
8773 (hexdump_mod_SOURCES): Add lib/hexdump.c.
8774 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
8775 (crc_mod_SOURCES): New macro.
8776 (crc_mod_CFLAGS): Likewise.
8777 (crc_mod_LDFLAGS): Likewise.
8778
8779 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
8780
8781 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8782
8783 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8784
8785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8786
8787 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8788
c298def0 87892008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 8790
8791 * commands/help.c: Include <grub/term.h>.
8792 (TERM_WIDTH): Removed. Updated all users.
8793
cc349fb3 87942008-07-27 Pavel Roskin <proski@gnu.org>
8795
8796 * util/getroot.c (find_root_device): Rephrase a comment to avoid
8797 spurious warnings about a comment within a comment.
8798
9051607e 87992008-07-25 Robert Millan <rmh@aybabtu.com>
8800
8801 * util/getroot.c (find_root_device): Skip devices that match
8802 /dev/dm-[0-9]. This lets the real device be found for any type of
8803 abstraction (LVM, EVMS, RAID..).
8804 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
8805 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
8806 device is found first, find_root_device() will now skip it.
8807
01453bfc 88082008-07-24 Pavel Roskin <proski@gnu.org>
8809
8810 * include/grub/types.h: Use __builtin_bswap32() and
8811 __builtin_bswap64() with gcc 4.3 and newer.
8812
6af9849f 88132008-07-24 Christian Franke <franke@computer.org>
8814
3a0fa256 8815 * util/i386/pc/grub-install.in: If `--debug' is specified,
8816 pass `--verbose' to grub-setup.
8817 Abort script if make_system_path_relative_to_its_root() fails.
8818
7810e747 88192008-07-24 Bean <bean123ch@gmail.com>
8820
8821 * configure.ac: Fixed a bug caused by the previous cygwin patch,
8822 variable `target_platform' should be `platform'.
8823
42290e17 88242008-07-24 Bean <bean123ch@gmail.com>
8825
51cc5193 8826 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 8827 (grub_png_init_fixed_block): New function.
8828 (grub_png_decode_image_data): Handle fixed huffman code compression.
8829
2a8a80e4 88302008-07-24 Bean <bean123ch@gmail.com>
8831
8832 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
8833 (grub_pe2elf_SOURCES): New macro.
8834 (CLEANFILES): Add grub-pe2elf.
8835
8836 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
8837 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
8838 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
8839 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
8840 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
8841 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
8842 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
8843 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
8844 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
8845 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
8846 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
8847 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
8848 (GRUB_PE32_DT_FUNCTION): Likewise.
8849 (GRUB_PE32_REL_I386_DIR32): Likewise.
8850 (GRUB_PE32_REL_I386_REL32): Likewise.
8851 (grub_pe32_symbol): New structure.
8852 (grub_pe32_reloc): Likewise.
8853
8854 * util/grub-pe2elf.c: New file.
8855
8856 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
8857 start symbol in non pc platform.
8858
8859 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
8860
8861 The following patches are from Christian Franke.
8862
8863 * include/grub/dl.h: Remove .previous, gas supports this only
8864 for ELF format.
8865
8866 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
8867 Remove .type, gas supports this only for ELF format.
8868
8869 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
8870 nullbytes in symbol table. This fixes an infinite loop if table is
8871 zero filled.
8872
8873 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
8874 TARGET_IMG_LDFLAGS and EXEEXT.
8875
8876 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
8877 TARGET_IMG_LDFLAGS_AC.
8878 (grub_CHECK_STACK_ARG_PROBE): New function.
8879
8880 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
8881
8882 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
8883
8884 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
8885 to set TARGET_IMG_LD* accordingly.
8886 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
8887 Add call to grub_CHECK_STACK_ARG_PROBE.
8888 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
8889
8890 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
8891
8892 * genmk.rb: Add EXEEXT to CLEANFILES.
8893
12ccdb75 88942008-07-23 Robert Millan <rmh@aybabtu.com>
8895
8896 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
8897 define the codes for arrows and lines used for the menu).
8898 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
8899 as well.
8900
8901 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
8902 fonts, because the latter are too slow.
8903
18eeaf04 89042008-07-21 Bean <bean123ch@gmail.com>
8905
8906 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
8907 a20. Run keyboard test last, as it will cause macbook to halt.
8908
b095e2ad 89092008-07-18 Pavel Roskin <proski@gnu.org>
8910
8911 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
8912 load foreign architecture modules correctly anyway. Keep
8913 support for loading host architecture modules, whether we
8914 compile them or not.
8915
737feb35 89162008-07-17 Pavel Roskin <proski@gnu.org>
8917
3f4ce737 8918 * configure.ac: Use -m32 or -m64 regardless of whether we had to
8919 change target_cpu. The compiler default can mismatch target_cpu
8920 in any case.
8921
4ad2d049 8922 * disk/efi/efidisk.c: Fix format warnings on x86_64.
8923 * kern/efi/efi.c: Likewise.
8924
f6130a12 8925 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
8926 target compiler is functional.
8927 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
8928 are set up.
8929
58393a2d 8930 * configure.ac: Default to efi platform for x86_64-apple. Allow
8931 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
8932 adjustments from the rest, only do them if target is not
8933 explicitly given. Merge other adjustments with the final sanity
8934 check. Remove an extraneous check for supported CPU. Be
8935 specific which CPU and which platform is not supported.
8936
737feb35 8937 * configure.ac: Default to pc platform for x86_64.
8938
546f966a 89392008-07-17 Robert Millan <rmh@aybabtu.com>
8940
8941 Partial LinuxBIOS -> Coreboot rename.
8942
8943 * conf/i386-linuxbios.rmk: Renamed to ...
8944 * conf/i386-coreboot.rmk: ... this.
8945 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
8946 * configure.ac: Accept "coreboot" as input platform (but maintain
8947 compatibility with "linuxbios").
8948 * include/grub/i386/linuxbios: Renamed to ...
8949 * include/grub/i386/coreboot: ... this.
8950
20011694 89512008-07-17 Bean <bean123ch@gmail.com>
8952
8953 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 8954 (appleldr_mod_SOURCE): New variable.
20011694 8955 (appleldr_mod_CFLAGS): Likewise.
8956 (appleldr_mod_LDFLAGS): Likewise.
8957 (pci_mod_SOURCES): Likewise.
8958 (pci_mod_CFLAGS): Likewise.
8959 (pci_mod_LDFLAGS): Likewise.
8960 (lspci_mod_SOURCES): Likewise.
8961 (lspci_mod_CFLAGS): Likewise.
8962 (lspci_mod_LDFLAGS): Likewise.
8963
8964 * conf/x86_64-efi.rmk: New file.
8965
8966 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
8967 macro.
8968 (grub_efidisk_write): Likewise.
8969
8970 * include/efi/api.h (efi_call_0): New macro.
8971 (efi_call_1): Likewise.
8972 (efi_call_2): Likewise.
8973 (efi_call_3): Likewise.
8974 (efi_call_4): Likewise.
8975 (efi_call_5): Likewise.
8976 (efi_call_6): Likewise.
8977
8978 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
8979 grub_rescue_cmd_chainloader.
8980
8981 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
8982 (grub_pe32_optional_header): Change some fields based on i386 or
8983 x86_64 platform.
8984 (GRUB_PE32_PE32_MAGIC): Likewise.
8985
8986 * include/grub/efi/uga_draw.h: New file.
8987
8988 * include/grub/elf.h (STN_ABS): New constant.
8989 (R_X86_64_NONE): Relocation constant for x86_64.
8990 (R_X86_64_64): Likewise.
8991 (R_X86_64_PC32): Likewise.
8992 (R_X86_64_GOT32): Likewise.
8993 (R_X86_64_PLT32): Likewise.
8994 (R_X86_64_COPY): Likewise.
8995 (R_X86_64_GLOB_DAT): Likewise.
8996 (R_X86_64_JUMP_SLOT): Likewise.
8997 (R_X86_64_RELATIVE): Likewise.
8998 (R_X86_64_GOTPCREL): Likewise.
8999 (R_X86_64_32): Likewise.
9000 (R_X86_64_32S): Likewise.
9001 (R_X86_64_16): Likewise.
9002 (R_X86_64_PC16): Likewise.
9003 (R_X86_64_8): Likewise.
9004 (R_X86_64_PC8): Likewise.
9005
9006 * include/grub/i386/efi/pci.h: New file.
9007
9008 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
9009 Change it value based on platform.
9010 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
9011 (GRUB_E820_RAM): Likewise.
9012 (GRUB_E820_RESERVED): Likewise.
9013 (GRUB_E820_ACPI): Likewise.
9014 (GRUB_E820_NVS): Likewise.
9015 (GRUB_E820_EXEC_CODE): Likewise.
9016 (GRUB_E820_MAX_ENTRY): Likewise.
9017 (grub_e820_mmap): New structure.
9018 (linux_kernel_header): Change the efi field according to different
9019 kernel version, also field from linux_kernel_header.
9020
9021 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
9022
9023 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
9024 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
9025 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
9026 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
9027 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
9028 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
9029 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
9030 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
9031 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
9032 (GRUB_PCI_ADDR_IO_MASK): Likewise.
9033
9034 * include/grub/x86_64/efi/kernel.h: New file.
9035
9036 * include/grub/x86_64/efi/loader.h: Likewise.
9037
9038 * include/grub/x86_64/efi/machine.h: Likewise.
9039
9040 * include/grub/x86_64/efi/pci.h: Likewise.
9041
9042 * include/grub/x86_64/efi/time.h: Likewise.
9043
9044 * include/grub/x86_64/linux.h: Likewise.
9045
9046 * include/grub/x86_64/setjmp.h: Likewise.
9047
9048 * include/grub/x86_64/time.h: Likewise.
9049
9050 * include/grub/x86_64/types.h: Likewise.
9051
9052 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
9053 GRUB_TARGET_SIZEOF_VOID_P.
9054
9055 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
9056 (grub_efi_locate_handle): Likewise.
9057 (grub_efi_open_protocol): Likewise.
9058 (grub_efi_set_text_mode): Likewise.
9059 (grub_efi_stall): Likewise.
9060 (grub_exit): Likewise.
9061 (grub_reboot): Likewise.
9062 (grub_halt): Likewise.
9063 (grub_efi_exit_boot_services): Likewise.
9064 (grub_get_rtc): Likewise.
9065
9066 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
9067 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
9068 (grub_efi_allocate_pages): Wrap efi calls.
9069 (grub_efi_free_pages): Wrap efi calls.
9070 (grub_efi_get_memory_map): Wrap efi calls.
9071
9072 * kern/x86_64/dl.c: New file.
9073
9074 * kern/x86_64/efi/callwrap.S: Likewise.
9075
9076 * kern/x86_64/efi/startup.S: Likewise.
9077
9078 * loader/efi/appleloader.c: Likewise.
9079
9080 * loader/efi/chainloader.c (cmdline): New variable.
9081 (grub_chainloader_unload): Wrap efi calls.
9082 (grub_chainloader_boot): Likewise.
9083 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
9084 command line.
9085
9086 * loader/efi/chainloader_normal.c (chainloader_command):
9087 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
9088 command line.
9089
9090 * loader/i386/efi/linux.c (allocate_pages): Change allocation
9091 method.
9092 (grub_e820_add_region): New function.
9093 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
9094 booting.
9095 (grub_find_video_card): New function.
9096 (grub_linux_setup_video): New function.
9097 (grub_rescue_cmd_linux): Probe for video information.
9098
9099 * normal/x86_64/setjmp.S: New file.
9100
9101 * term/efi/console.c (map_char): New function.
9102 (grub_console_putchar): Map unicode char.
9103 (grub_console_checkkey): Wrap efi calls.
9104 (grub_console_getkey): Likewise.
9105 (grub_console_getwh): Likewise.
9106 (grub_console_gotoxy): Likewise.
9107 (grub_console_cls): Likewise.
9108 (grub_console_setcolorstate): Likewise.
9109 (grub_console_setcursor): Likewise.
9110
9111 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
9112
59652a20 91132008-07-16 Pavel Roskin <proski@gnu.org>
9114
ef294055 9115 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
9116 format strings.
9117
59652a20 9118 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
9119 pointer, not an integer. This fixes a warning and prevents
9120 precision loss on 64-bit systems.
9121 (relocate_addresses): Remove unneeded cast.
9122
afc3b5d7 91232008-07-15 Pavel Roskin <proski@gnu.org>
9124
506b2b3e 9125 * kern/i386/ieee1275/init.c: Include grub/cache.h.
9126
62ead89c 9127 * term/ieee1275/ofconsole.c: Disable code unused on i386.
9128
c4cd51d7 9129 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
9130 Fix comparison between signed and unsigned.
9131
0d3d8f28 9132 * include/grub/i386/ieee1275/console.h: Declare
9133 grub_console_init() and grub_console_fini().
9134
8804b286 9135 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
9136 It's empty and unused.
9137
ee01cf35 9138 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
9139 beginning to avoid warnings with some compilers.
9140
afc3b5d7 9141 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
9142 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
9143
e4e8eaa5 91442008-07-14 Pavel Roskin <proski@gnu.org>
9145
407aceb4 9146 * kern/env.c (grub_register_variable_hook): Don't copy empty
9147 string, it leaks memory. Pass "" to grub_env_set(), it should
9148 handle constant strings.
9149
e4e8eaa5 9150 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
9151 * commands/cmp.c (grub_cmd_cmp): Likewise.
9152 * kern/dl.c (grub_dl_flush_cache): Likewise.
9153 (grub_dl_load_core): Likewise.
9154 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
9155 (grub_elf64_load_phdrs): Likewise.
9156
d4e2dad3 91572008-07-13 Pavel Roskin <proski@gnu.org>
9158
9159 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
9160 between signed and unsigned.
9161 (LzmaEnc_Finish): Fix warning about an unused parameter.
9162
aa24b516 91632008-07-13 Bean <bean123ch@gmail.com>
9164
9165 * Makefile.in (enable_lzo): New rule.
9166
9167 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
9168
9169 * configure.ac (ENABLE_LZO): New option --enable-lzo.
9170
9171 * boot/i386/pc/lnxboot.S: #include <config.h>.
9172
9173 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 9174 its value according to the compression algorithm used, lzo or lzma.
aa24b516 9175
9176 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
9177 compression algorithm according to configure macro.
9178
9179 * kern/i386/pc/startup.S (codestart): Likewise.
9180
9181 * kern/i386/pc/lzma_decode.S: New file.
9182
9183 * include/grub/lib/LzFind.h: Likewise.
9184
9185 * include/grub/lib/LzHash.h: Likewise.
9186
9187 * include/grub/lib/LzmaDec.h: Likewise.
9188
9189 * include/grub/lib/LzmaEnc.h: Likewise.
9190
9191 * include/grub/lib/LzmaTypes.h: Likewise.
9192
9193 * lib/LzFind.c: Likewise.
9194
9195 * lib/LzmaDec.c: Likewise.
9196
9197 * lib/LzmaEnc.c: Likewise.
9198
4ae821ac 91992008-07-13 Bean <bean123ch@gmail.com>
9200
9201 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
9202 (grub_ext4_extent_header): New structure.
9203 (grub_ext4_extent): Likewise.
9204 (grub_ext4_extent_idx): Likewise.
9205 (grub_ext4_find_leaf): New function.
9206 (grub_ext2_read_block): Handle extents.
9207
9a745147 92082008-07-12 Robert Millan <rmh@aybabtu.com>
9209
9210 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
9211
d49a4cf6 92122008-07-11 Robert Millan <rmh@aybabtu.com>
9213
9214 * util/grub.d/40_custom.in: New file. Example on how to add custom
9215 entries to /etc/grub.d.
9216 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
9217 40_custom (implicitly, by merging all the grub.d rules).
9218
947414b4 92192008-07-11 Pavel Roskin <proski@gnu.org>
9220
0059cf6f 9221 * commands/read.c (grub_getline): Fix invalid memory access.
9222 Don't add newline to the variable value.
9223
947414b4 9224 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
9225 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
9226 (serial_hw_get_port): Check validity of the port number.
9227 (grub_cmd_serial): Check return value of serial_hw_get_port().
9228
62a02d00 92292008-07-07 Pavel Roskin <proski@gnu.org>
9230
9231 * boot/i386/pc/diskboot.S (notification_string): Replace
9232 "Loading kernel" with just "loading". This is shorter, less
9233 confusing and saves a few bytes for possible future changes.
9234
3e5581b0 92352008-07-05 Pavel Roskin <proski@gnu.org>
9236
ea387a48 9237 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
9238 size for ATAPI devices, they are undefined. Output sector
9239 number in decimal form.
9240
3e5581b0 9241 * disk/ata.c: Use named constants for status bits.
9242
fdecb8fd 92432008-07-04 Pavel Roskin <proski@gnu.org>
9244
bcd35b90 9245 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
9246 grub_addr_t before casting it to the void pointer to fix a
9247 warning. Non-addressable regions are discarded earlier.
9248 (grub_arch_modules_addr): Cast _end to grub_addr_t.
9249 * kern/i386/linuxbios/table.c: Include grub/misc.h.
9250 (check_signature): Don't shadow table_header.
9251 (grub_linuxbios_table_iterate): Cast numeric constants to
9252 grub_linuxbios_table_header_t.
9253 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
9254 grub_stop().
9255
af58ab3d 9256 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
9257 prevent warnings.
9258
1759aa57 9259 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
9260 pointer, which can cause warnings. Support 64-bit addresses.
9261
fdecb8fd 9262 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
9263 of sizeof(long). This fixes PowerPC image generation on x86_64.
9264
8516d2a8 92652008-07-04 Robert Millan <rmh@aybabtu.com>
9266
9267 This fixes a performance issue when pc & gpt partmap iterators
9268 didn't abort iteration even after our hook found what it was
fe987087 9269 looking for (often causing expensive probes of non-existent drives).
8516d2a8 9270
9271 Some callers relied on previous buggy behaviour, since they would
34c44600 9272 raise an error when their own hooks caused early abortion of its
8516d2a8 9273 iteration.
9274
9275 * kern/device.c (grub_device_open): Improve error message.
9276 * disk/lvm.c (grub_lvm_open): Likewise.
9277 * disk/raid.c (grub_raid_open): Likewise.
9278
9279 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
9280 when hook requests it, independently of grub_errno.
9281 (pc_partition_map_probe): Do not fail when find_func() caused
9282 early abortion of pc_partition_map_iterate().
9283
9284 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
9285 when hook requests it, independently of grub_errno.
9286 (gpt_partition_map_probe): Do not fail when find_func() caused
9287 early abortion of gpt_partition_map_iterate().
9288
9289 * kern/partition.c (grub_partition_iterate): Abort parent iteration
9290 when hook requests it, independently of grub_errno. Do not fail when
9291 part_map_iterate_hook() caused early abortion of p->iterate().
9292
9293 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
9294 when grub_partition_iterate() returned with non-zero.
9295
277d0de9 92962008-07-03 Pavel Roskin <proski@gnu.org>
9297
9298 * disk/ata.c (grub_ata_pio_write): Check status before writing,
9299 like we do in grub_ata_pio_read().
9300 (grub_ata_readwrite): Always write individual sectors. Fix the
9301 sector count for the remainder.
9302 (grub_ata_write): Enable writing to ATA devices. Correctly
9303 report error for ATAPI devices.
9304
d4c9b428 93052008-07-02 Pavel Roskin <proski@gnu.org>
9306
e43fc690 9307 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
9308 warning.
9309
f707af42 9310 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
9311 for every read sector, we already increment it for the whole
9312 batch. This fixes reading more than 256 sectors at once.
9313
11e16b15 9314 * util/grub-editenv.c (cmd_info): Cast argument to long
9315 explicitly. ptrdiff_t reduces to int on i386.
9316
cbabfdd4 9317 * util/grub-editenv.c (main): Be specific which parameter is
9318 missing.
9319
b8fbce0a 9320 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
9321 (memdisk): Make memdisk_orig_addr a pointer.
9322
c9c8e606 9323 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
9324 for file offsets, use grub_off_t instead. Fix printf format
9325 warnings.
9326
ca62e598 9327 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
9328 there. Real unexpected warnings should not drown in the noise
9329 about known problems.
9330
ce8d1766 9331 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
9332 grub_disk_addr_t for memory addresses.
9333
00c7a56a 9334 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
9335 explicitly to fix a warning.
9336
08d3ef09 9337 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
9338
cb71ba20 9339 * Makefile.in (MODULE_LDFLAGS): New variable.
9340 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
9341 the linker accepts --build-id=none.
9342 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
9343 MODULE_LDFLAGS.
9344 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
9345
d4c9b428 9346 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
9347 those in Linux XFS code. Provide a way to access 64-bit parent
9348 inode.
9349 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
9350 the end of struct grub_xfs_dir_header.
9351
d4156eee 93522008-07-02 Bean <bean123ch@gmail.com>
9353
9354 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
9355 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9356 and GRUB_IEEE1275_FLAG_NO_ANSI.
9357
9358 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
9359 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
9360 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
9361
9362 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
9363 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
9364
9365 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
9366 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
9367
9368 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
9369 esc sequence on non ANSI terminal.
9370 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
9371
9372 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
9373 beginning of file.
9374
2270f77b 93752008-07-02 Bean <bean123ch@gmail.com>
9376
9377 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
9378 (grub_editenv_SOURCES): New variable.
9379 (pkglib_MODULES): Add loadenv.mod.
9380 (loadenv_mod_SOURCES): New variable.
9381 (loadenv_mod_CFLAGS): Likewise.
9382 (loadenv_mod_LDFLAGS): Likewise.
9383
9384 * include/grub/envblk.h: New file.
9385
9386 * util/envblk.c: New file.
9387
9388 * util/grub-editenv.c: New file.
9389
9390 * commands/loadenv.c: New file.
9391
0e9e51ec 93922008-07-01 Pavel Roskin <proski@gnu.org>
9393
d89b7634 9394 * include/multiboot2.h (struct multiboot_tag_module): Use char,
9395 not unsigned char. This fixes warnings and is consistent with
9396 other tags.
9397
bf1835b1 9398 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
9399
8222a04b 9400 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
9401
6a42d99d 9402 * term/tparm.c (analyze): Always set *popcount.
9403
10b159d1 9404 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
9405 cast to fix a warning.
9406
b8789f6c 9407 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
9408 cast to suppress a warning.
9409
29d7e38a 9410 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
9411 grub_fshelp_read_file() expects.
9412
f341f669 9413 * fs/fat.c: Fix UUID calculation on big-endian systems. We
9414 write uuid as a 32-bit value in CPU byte order, so declare and
9415 use it as such.
9416
0e9e51ec 9417 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
9418 long if the format specifier expects it.
9419 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
9420 * partmap/pc.c (pc_partition_map_iterate): Likewise.
9421 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
9422 long to fix a warning.
9423 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
9424 grub_dprintf() arguments to fix warnings.
9425
3aefa857 94262008-06-30 Pavel Roskin <proski@gnu.org>
9427
56c7668b 9428 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
9429 install_bsd_part immediately before core.img is embedded or
9430 modified on disk. This fixes core.img verification if core.img
9431 cannot be embedded.
9432
3aefa857 9433 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
9434 core_path to calculate the blocklist.
9435 Patch from Javier Martín <lordhabbit@gmail.com>
9436
5444088d 94372008-06-29 Robert Millan <rmh@aybabtu.com>
9438
9439 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
9440 block to disk block.
9441 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
9442 Patch from Niels Böhm <bitbucket@arcor.de>
9443
674835c8 94442008-06-29 Robert Millan <rmh@aybabtu.com>
9445
9446 * util/update-grub_lib.in (font_path): Search for fonts in
9447 /boot/grub first, which is more likely to be readable (we aren't
9448 deciding where fonts live, just looking for them).
9449
f527dbc8 94502008-06-26 Pavel Roskin <proski@gnu.org>
9451
6c2d8df6 9452 * util/biosdisk.c (read_device_map): Don't leave dead map
9453 entries for devices failing stat() check.
9454
f527dbc8 9455 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
9456 core_path_dev for the core.img path on the target device.
9457
aebe3d13 94582008-06-26 Robert Millan <rmh@aybabtu.com>
9459
9460 * disk/fs_uuid.c: New file.
9461 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
9462 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
9463 (fs_uuid_mod_LDFLAGS): New variables.
9464 * include/grub/disk.h (grub_disk_dev_id): Add
9465 `GRUB_DISK_DEVICE_UUID_ID'.
9466 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
9467 implement iterate().
9468
37aaf354 94692008-06-26 Robert Millan <rmh@aybabtu.com>
9470
9471 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
9472 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
9473 Linux image includes no initrd.
9474
25ff262a 94752008-06-21 Javier Martín <lordhabbit@gmail.com>
9476
9477 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
9478 call to resolve the core image location that effectively appended the
9479 name twice.
9480
76a2bd44 94812008-06-21 Robert Millan <rmh@aybabtu.com>
9482
9483 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
9484 call from here ...
9485
9486 * util/grub.d/10_hurd.in: ... to here ...
9487 * util/grub.d/10_linux.in: ... and here.
9488
650e1c79 94892008-06-19 Robert Millan <rmh@aybabtu.com>
9490
fe987087 9491 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 9492 after it has been set by grub_machine_set_prefix().
9493
6ce63911 94942008-06-19 Robert Millan <rmh@aybabtu.com>
9495
9496 * commands/search.c (search_label, search_fs_uuid, search_file): Print
9497 search result when not saving to variable, not the other way around.
9498 When saving to variable, abort iteration as soon as a match is found.
9499
73940cec 95002008-06-19 Robert Millan <rmh@aybabtu.com>
9501
9502 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
9503 check for partition that provides /boot/grub. Its logic is flawed,
9504 as it prevents prepare_grub_to_access_device() from being called
9505 multiple times.
9506
3c62a39d 95072008-06-19 Robert Millan <rmh@aybabtu.com>
9508
9509 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
9510 "insmod" command directly when abstraction modules are needed,
fe987087 9511 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 9512 since it had already been processed).
9513
47395a42 95142008-06-19 Pavel Roskin <proski@gnu.org>
9515
9516 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
9517 changed. This is needed in case GRUB_LIBDIR changes.
9518 * conf/i386-ieee1275.rmk: Likewise.
9519 * conf/i386-linuxbios.rmk: Likewise.
9520 * conf/i386-pc.rmk: Likewise.
9521 * conf/powerpc-ieee1275.rmk: Likewise.
9522
a145ac2d 95232008-06-18 Pavel Roskin <proski@gnu.org>
9524
9525 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
9526 kernel_elf_symlist.c to symlist.c for consistency with other
9527 architectures. Update all users.
9528 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9529
7847c51e 95302008-06-18 Robert Millan <rmh@aybabtu.com>
9531
9532 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
9533 it in prefix.
9534
9535 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
9536 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
9537 a RAID device, run setup() for all members independently on whether
9538 LVM abstraction is being used.
9539 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
9540 If grub-mkimage has set `*install_dos_part == -2', don't override this
9541 value.
9542 Perform *install_dos_part adjustments independently on whether
9543 we're embedding or not.
9544 Clarify error message when image is too big for embedding.
9545 Remove duplicate *install_dos_part stanza.
9546
b23e5644 95472008-06-17 Robert Millan <rmh@aybabtu.com>
9548
9549 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
9550 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
9551 variables.
9552 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
9553 values in grub_ofconsole_normal_color and
9554 grub_ofconsole_highlight_color (they're not directly related to
9555 background and foreground).
9556 (grub_ofconsole_setcolorstate): Extract background and foreground
9557 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
9558
0aac2f79 95592008-06-17 Robert Millan <rmh@aybabtu.com>
9560
9561 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
9562 /boot/grub for the check in last commit, not /boot (they could be
9563 different partitions).
9564
3cca7ef3 95652008-06-16 Robert Millan <rmh@aybabtu.com>
9566
9567 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
9568 asked to setup access for the same partition that provides /boot,
9569 don't bother using UUIDs since our root already has the value we
9570 want.
9571
347396d8 95722008-06-16 Robert Millan <rmh@aybabtu.com>
9573
9574 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
9575 I2O devices.
9576 Patch from Sven Mueller <sven@debian.org>.
9577
991477f8 95782008-06-16 Robert Millan <rmh@aybabtu.com>
9579
9580 * util/update-grub.in: Check for $EUID instead of $UID.
9581 Reported by Vincent Zweije.
9582
d31a32a1 95832008-06-16 Bean <bean123ch@gmail.com>
9584
fe987087 9585 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 9586 (grub_ext2_read_block): Likewise.
9587 (grub_ext2_read_inode): Likewise.
9588 (grub_ext2_mount): Likewise.
9589 (grub_ext2_close): Likewise.
9590 (grub_ext3_get_journal): Removed.
9591
fe987087 9592 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 9593 (grub_reiserfs_read_symlink): Likewise.
9594 (grub_reiserfs_mount): Likewise.
9595 (grub_reiserfs_open): Likewise.
9596 (grub_reiserfs_read): Likewise.
9597 (grub_reiserfs_close): Likewise.
9598 (grub_reiserfs_get_journal): Removed.
9599
9600 * fs/fshelp.c (grub_fshelp_read): Removed.
9601 (grub_fshelp_map_block): Likewise.
9602
9603 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
9604 (grub_fshelp_journal): Likewise.
9605 (grub_fshelp_read): Likewise.
9606 (grub_fshelp_map_block): Likewise.
9607
3540a760 96082008-06-16 Pavel Roskin <proski@gnu.org>
9609
9610 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
9611 floating point anymore.
9612 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
9613
95614c84 96142008-06-15 Pavel Roskin <proski@gnu.org>
9615
9616 * commands/ls.c (grub_ls_list_files): Use integer calculations
9617 for human readable format, avoid floating point use.
9618 * kern/misc.c (grub_ftoa): Remove.
9619 (grub_vsprintf): Remove floating point support.
9620
50465dd6 96212008-06-15 Robert Millan <rmh@aybabtu.com>
9622
fe6b695a 9623 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 9624 devices.
9625 Reported by Max Vozeler.
9626
a9207284 96272008-06-15 Robert Millan <rmh@aybabtu.com>
9628
9629 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
9630 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
9631 skipped later.
9632 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
9633 the beginning of the prefix.
9634
9635 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
9636 It is assumed that if we have a memdisk, grub-mkimage has set
9637 grub_prefix to include the "(memdisk)" drive in it.
9638
a7cbd45a 96392008-06-15 Robert Millan <rmh@aybabtu.com>
9640
9641 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
9642 Initialize keyboard controller after registering the terminal, so that
9643 grub_printf() can be called from grub_keyboard_controller_init().
9644
21cf716a 96452008-06-15 Robert Millan <rmh@aybabtu.com>
9646
9647 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
9648 extent-btree which is written as big endian on disk.
9649 Reported by Alain Greppin <al@chilibi.org>.
9650
23a64d8e 96512008-06-14 Robert Millan <rmh@aybabtu.com>
9652
9653 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
9654 * util/i386/pc/grub-install.in (modules): Likewise.
9655
d687651c 96562008-06-13 Pavel Roskin <proski@gnu.org>
9657
9658 * commands/ls.c (grub_ls_list_files): Fix format warnings.
9659
dfe9ddd4 96602008-06-13 Bean <bean123ch@gmail.com>
9661
9662 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
9663
9664 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
9665
9666 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
9667 to indicate sparse block.
9668
16ae7781 96692008-06-12 Pavel Roskin <proski@gnu.org>
9670
e6d1a308 9671 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
9672 number, grub_fshelp_read() does it for us.
9673
16ae7781 9674 * fs/fshelp.c (grub_fshelp_read): New function. Implement
9675 linear disk read with journal translation.
9676 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
9677 * include/grub/fshelp.h: Declare grub_fshelp_read().
9678
40fd3a2b 96792008-06-09 Pavel Roskin <proski@gnu.org>
9680
9681 * fs/minix.c (grub_minix_mount): Handle error reading
9682 superblock.
9683
f5679726 96842008-06-08 Robert Millan <rmh@aybabtu.com>
9685
9686 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
9687 don't append the RAID prefix afterwards.
9688 Reported by Clint Adams.
9689
ce525529 96902008-06-08 Robert Millan <rmh@aybabtu.com>
9691
9692 Based on description from Pavel:
9693 * kern/disk.c (grub_disk_check_range): Rename to ...
9694 (grub_disk_adjust_range): ... this. Add a comment explaining the
9695 tasks performed by this function.
9696
ad4936a0 96972008-06-08 Robert Millan <rmh@aybabtu.com>
9698
9699 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
9700 `num_serial' (for consistency with other variables).
9701 (struct grub_ntfs_data): Add `uuid' member.
9702 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
9703 (grub_ntfs_uuid): New function.
9704 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
9705
dc20b0f9 97062008-06-07 Pavel Roskin <proski@gnu.org>
9707
9708 * util/biosdisk.c (open_device): Revert last change to the
9709 function, it broke installation. The sector needs to be
9710 different dependent on which device is opened.
9711
c5e3cfba 97122008-06-06 Robert Millan <rmh@aybabtu.com>
9713
9714 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
9715 rest of GRUB, and breakage doesn't happen if its value were modified.
9716
9717 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9718 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
9719 a constant (same value).
9720 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
9721 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
9722
26a1f8c4 97232008-06-06 Robert Millan <rmh@aybabtu.com>
9724
9725 * util/biosdisk.c (open_device): Do not modify sector offset when
9726 accessing a partition. kern/disk.c already handles this for us.
9727
25d6b327 97282008-06-06 Robert Millan <rmh@aybabtu.com>
9729
9730 * util/grub-emu.c (grub_machine_init): Move code in this function from
9731 here ...
9732 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
9733 segfault in case grub_printf() is called).
9734
9735 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
9736 grub_probe. Update all users not to explicitly add it again.
9737 (grub_device): New variable; contains corresponding device for grubdir.
9738 (fs_module, partmap_module, devabstraction_module): Pass
9739 `--device ${grub_device}' to grub_probe to avoid traversing /dev
9740 every time.
9741
9ece62fb 97422008-06-05 Robert Millan <rmh@aybabtu.com>
9743
9744 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
9745 is found, print it (same layout as with labels).
9746
1ad36d37 97472008-06-04 Robert Millan <rmh@aybabtu.com>
9748
9749 * util/biosdisk.c (get_drive): Rename to ...
9750 (find_grub_drive): ... this. Update all users.
9751
9752 (get_os_disk): Rename to ...
9753 (convert_system_partition_to_system_disk): ... this. Update all users.
9754
9755 (find_drive): Rename to ...
9756 (find_system_device): ... this. Update all users.
9757
e6a30859 97582008-06-04 Robert Millan <rmh@aybabtu.com>
9759
9760 * util/biosdisk.c (get_os_disk): Handle IDA devices.
9761 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9762 (make_device_map): Likewise.
9763
00c108a4 97642008-06-01 Robert Millan <rmh@aybabtu.com>
9765
9766 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
9767 before dereferencing it.
9768
9769 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
9770 union with fat12/fat16-specific ones. Add some new fields, including
9771 `num_serial' for both versions.
9772 (struct grub_fat_data): Add `uuid' member.
9773 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
9774 names. Initialize `data->uuid' using `num_serial'.
9775 (grub_fat_uuid): New function.
9776 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
9777
9778 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
9779 (grub_reiserfs_uuid): New function.
9780 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
9781 member.
9782
9783 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
9784 (grub_xfs_uuid): New function.
9785 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
9786
1385c5bb 97872008-06-01 Robert Millan <rmh@aybabtu.com>
9788
9789 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
9790 code that is backward compatible with pre-uuid search command.
9791
c682dfd7 97922008-05-31 Robert Millan <rmh@aybabtu.com>
9793
9794 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
9795 floppies after everything else, to ensure floppy drive isn't accessed
9796 unnecessarily (patch from Bean).
9797
b7db5d47 97982008-05-31 Robert Millan <rmh@aybabtu.com>
9799
9800 * commands/search.c (search_label, search_fs_uuid, search_file): Do
9801 not print device names when we were asked to set a variable.
9802
6e037aa9 98032008-05-31 Robert Millan <rmh@aybabtu.com>
9804
9805 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
9806 using "cursor-on" and "cursor-off" commands (understood at least by
9807 the Open Firmware flavour on OLPC).
9808
41305bc8 98092008-05-31 Michael Gorven <michael@gorven.za.net>
9810
9811 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
9812 on and off sequences.
9813
69ba137e 98142008-05-31 Robert Millan <rmh@aybabtu.com>
9815
9816 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
9817 * util/update-grub.in: Likewise.
9818
520ae21b 98192008-05-30 Pavel Roskin <proski@gnu.org>
9820
9821 * util/biosdisk.c (linux_find_partition): Simplify logic and
9822 make the code more universal. Keep special processing for
9823 devfs, but use a simple rule for all other devices. If the
9824 device ends with a number, append 'p' and the partition number.
9825 Otherwise, append only the partition number.
9826
5786569b 98272008-05-30 Robert Millan <rmh@aybabtu.com>
9828
9829 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
9830 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
9831 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
9832 the `root' parameter to Linux.
9833
51500452 98342008-05-30 Robert Millan <rmh@aybabtu.com>
9835
9836 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
9837 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
9838 --fs_uuid with --fs-uuid.
9839 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
9840 all filesystems support them).
9841
811d3878 98422008-05-30 Robert Millan <rmh@aybabtu.com>
9843
9844 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 9845 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 9846
cab63c95 98472008-05-30 Robert Millan <rmh@aybabtu.com>
9848
9849 * util/grub.d/00_header.in: Remove obsolete comment referencing
9850 convert_system_path_to_grub_path().
9851 * util/update-grub.in: Likewise.
9852 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
9853 (convert_system_path_to_grub_path): Add a warning message explaining
9854 that this function is deprecated. Rely on is_path_readable_by_grub()
9855 for the readability checks.
9856 (font_path): Use is_path_readable_by_grub() for the readability
9857 check rather than convert_system_path_to_grub_path().
9858
972e2f7a 98592008-05-30 Robert Millan <rmh@aybabtu.com>
9860
9861 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
9862 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
9863 converting it first.
9864 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
9865 grub.cfg for access to font file, and afterwards call it again to set
9866 the root device.
9867
62191274 98682008-05-30 Robert Millan <rmh@aybabtu.com>
9869
9870 * commands/search.c (options): Add --fs_uuid option.
9871 (search_fs_uuid): New function.
9872 (grub_cmd_search): Fix --set argument passing.
9873 Use search_fs_uuid() when requested via --fs_uuid.
9874 (grub_search_init): Update help message.
9875 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
9876 and redeclare it as an array of 16-bit words.
9877 (grub_ext2_uuid): New function.
9878 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
9879 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
9880 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
9881 (GRUB_DEVICE_BOOT_UUID): New variables.
9882 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
9883 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
9884 whenever possible.
9885 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
9886 just assume `root' variable has the right value.
9887 * util/grub.d/10_linux.in: Likewise.
9888 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
9889 via PRINT_FS_UUID.
9890 (main): Recognise `-t fs_uuid' argument.
9891
01b73ec8 98922008-05-30 Robert Millan <rmh@aybabtu.com>
9893
9894 * util/biosdisk.c (map): Redefine structure to hold information
9895 about GRUB drive name.
fe6b695a 9896 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 9897 drive names.
9898 (call_hook): Remove.
9899 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
9900 member. Assume drive has partitions.
9901 (grub_util_biosdisk_open): Access device names via `.device' struct
9902 member.
9903 (open_device): Likewise.
9904 (find_drive): Likewise.
9905 (read_device_map): Adjust map[] usage to match the new struct
9906 definition. Don't check for duplicates (still possible, but not cheap
9907 anymore).
9908 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
9909 (make_device_name): Remove assumption of BIOS-like drive names.
9910
22f16596 99112008-05-30 Pavel Roskin <proski@gnu.org>
9912
9913 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
9914 compiling execute.c doesn't need grub_script.tab.h anymore.
9915 (normal/command.c_DEPENDENCIES): Likewise.
9916 (normal/function.c_DEPENDENCIES): Likewise.
9917 * conf/i386-ieee1275.rmk: Likewise.
9918 * conf/i386-linuxbios.rmk: Likewise.
9919 * conf/i386-pc.rmk: Likewise.
9920 * conf/powerpc-ieee1275.rmk: Likewise.
9921 * conf/sparc64-ieee1275.rmk: Likewise.
9922
528ad8f2 99232008-05-29 Pavel Roskin <proski@gnu.org>
9924
d1dff95d 9925 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
9926 when scanning metadata for volume group name.
9927
528ad8f2 9928 * include/grub/script.h: Don't include grub_script.tab.h. It's
9929 a generated file, which may only be included from the files with
9930 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
9931 use union YYSTYPE, as the later allows forward declaration.
9932 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
9933
47248e08 99342008-05-29 Robert Millan <rmh@aybabtu.com>
9935
9936 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
9937 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
9938 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
9939 (grub_console_checkkey): Add grub_dprintf() call to report unknown
9940 scan codes.
9941
ee632529 99422008-05-29 Robert Millan <rmh@aybabtu.com>
9943
9944 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
9945 control key combinations.
9946
eee96e08 99472008-05-29 Robert Millan <rmh@aybabtu.com>
9948
9949 * util/powerpc/ieee1275/grub-install.in: Move from here ...
9950 * util/ieee1275/grub-install.in: ... to here.
9951 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
9952 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
9953 (grub_install_SOURCES): Likewise.
9954
da9a6a94 99552008-05-29 Robert Millan <rmh@aybabtu.com>
9956
9957 * fs/affs.c: Update copyright year.
9958 * fs/ext2.c: Likewise.
9959 * fs/fshelp.c: Likewise.
9960 * fs/hfsplus.c: Likewise.
9961 * fs/ntfs.c: Likewise.
9962 * fs/xfs.c: Likewise.
9963 * include/grub/fshelp.h: Likewise.
9964 * util/grub-mkdevicemap.c: Likewise.
9965
12e65f3a 99662008-05-28 Robert Millan <rmh@aybabtu.com>
9967
9968 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
9969 might need to be fatfs to support some firmware implementations
9970 (e.g. OFW or EFI).
9971
23023641 99722008-05-28 Robert Millan <rmh@aybabtu.com>
9973
9974 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
9975 devices.
9976 * util/grub-mkdevicemap.c (get_mmc_disk_name)
9977 (make_device_map): Likewise.
9978
887d2619 99792008-05-20 Bean <bean123ch@gmail.com>
9980
9981 * fs/fshelp.c (grub_fshelp_map_block): New function.
9982 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
9983 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
9984
9985 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
9986 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
9987 (grub_fshelp_journal): New structure.
9988 (grub_fshelp_map_block): New function prototype.
9989 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
9990 (grub_fshelp_map_block): Likewise.
9991
9992 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
9993 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
9994 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
9995 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
9996 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
9997 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
9998 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
9999 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
10000 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
10001 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
10002 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
10003 (grub_ext2_sblock): New members for journal support.
10004 (grub_ext3_journal_header): New structure.
10005 (grub_ext3_journal_revoke_header): Likewise.
10006 (grub_ext3_journal_block_tag): Likewise.
10007 (grub_ext3_journal_sblock): Likewise.
10008 (grub_fshelp_node): New members logfile and journal.
10009 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
10010 grub_fshelp_map_block to get real block number.
10011 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
10012 number.
10013 (grub_ext2_read_inode): Likewise.
10014 (grub_ext3_get_journal): New function.
10015 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
10016 (grub_ext2_close): Release memory used by journal.
10017
10018 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
10019 (REISERFS_MAGIC_DESC_BLOCK): New macro.
10020 (grub_reiserfs_transaction_header): Renamed to
10021 grub_reiserfs_description_block, replace field data with real_blocks.
10022 (grub_reiserfs_commit_block): New structure.
10023 (grub_reiserfs_data): New member journal.
10024 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
10025 number.
10026 (grub_reiserfs_read_symlink): Likewise.
10027 (grub_reiserfs_iterate_dir): Likewise.
10028 (grub_reiserfs_open): Likewise.
10029 (grub_reiserfs_read): Likewise.
10030 (grub_reiserfs_get_journal): New function.
10031 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
10032 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
10033 using grub_reiserfs_get_journal.
10034 (grub_reiserfs_close): Release memory used by journal.
10035
10036 * fs/affs.c (grub_affs_read_block): Change block type to
10037 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
10038
10039 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
10040
10041 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
10042
10043 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
10044
10045 * fs/udf.c (grub_udf_read_block): Change block type to
10046 grub_disk_addr_t. Use type cast to avoid warning.
10047
10048 * fs/xfs.c (grub_xfs_read_block): Likewise.
10049
b7c6bed5 100502008-05-16 Christian Franke <franke@computer.org>
10051
10052 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
10053 to ensure that break with ESC will always work.
10054 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
10055 Remove ESC from keyboard queue.
10056
eedf167f 100572008-05-16 Christian Franke <franke@computer.org>
10058
10059 * util/biosdisk.c: [__CYGWIN__] Add includes.
10060 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
10061 (get_os_disk): Move variable declarations to OS specific
10062 parts to avoid warning.
10063 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
10064 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
10065 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
10066 Cygwin.
10067 * util/getroot.c: [__CYGWIN__] Add includes.
10068 (strip_extra_slashes): Fix "/" case.
10069 [__CYGWIN__] (get_win32_path): New function.
10070 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
10071 [__CYGWIN__] (find_root_device): Disable.
10072 [__CYGWIN__] (get_bootsec_serial): New function.
10073 [__CYGWIN__] (find_cygwin_root_device): Likewise.
10074 [__linux__] (grub_guess_root_device): Add early returns to simplify
10075 structure.
10076 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
10077 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
10078 check for Linux only.
10079
a079699e 100802008-05-15 Bean <bean123ch@gmail.com>
10081
10082 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
10083 keyboard hang problem in apple's intel mac.
10084
1cf4059a 100852008-05-09 Robert Millan <rmh@aybabtu.com>
10086
10087 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
10088 devices.
10089 * util/grub-mkdevicemap.c (get_virtio_disk_name)
10090 (make_device_map): Likewise.
10091 Reported by Aurelien Jarno <aurel32@debian.org>
10092
ed759390 100932008-05-07 Ian Campbell <ijc@hellion.org.uk>
10094
10095 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
10096 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
10097 (make_device_map): Output entries for xvd type disks.
10098
b56c4eaa 100992008-05-07 Robert Millan <rmh@aybabtu.com>
10100
10101 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
10102 devices.
10103 * util/grub-mkdevicemap.c (get_cciss_disk_name)
10104 (make_device_map): Likewise.
10105 Reported by Roland Dreier <rdreier@cisco.com>
10106
7f8866ed 101072008-05-07 Robert Millan <rmh@aybabtu.com>
10108
10109 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
10110 grub_strstr() call. Correct a few mistakes in failure path handling.
10111
b0346e0f 101122008-05-06 Robert Millan <rmh@aybabtu.com>
10113
10114 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10115 Do not print a trailing slash (therefore, the root directory is an
10116 empty string).
10117 (convert_system_path_to_grub_path): Do not remove trailing slash
10118 from make_system_path_relative_to_its_root() output.
10119
10120 * util/i386/pc/grub-install.in: Add trailing slash to output from
10121 make_system_path_relative_to_its_root().
10122
6cf12cbd 101232008-05-06 Robert Millan <rmh@aybabtu.com>
10124
10125 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
10126 ensures that output lines aren't intermangled with those sent to
10127 stderr (via grub_util_info()).
10128 * util/grub-probe.c (grub_refresh): Likewise.
10129 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
10130
0fbb3117 101312008-05-05 Christian Franke <franke@computer.org>
10132
10133 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
10134 Add Cygwin device names.
10135 (get_ide_disk_name) [__CYGWIN__]: Likewise.
10136 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
10137 (check_device): Return error instead of success on empty name.
10138 (make_device_map): Move label inside linux specific code to
10139 prevent compiler warning.
10140
8124cdb7 101412008-04-30 Robert Millan <rmh@aybabtu.com>
10142
10143 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
10144 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
10145 first boot option.
10146 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
10147
094c01d0 101482008-04-29 Robert Millan <rmh@aybabtu.com>
10149
10150 * docs/grub.cfg: New file (example GRUB configuration).
10151
f4b1fc02 101522008-04-26 Robert Millan <rmh@aybabtu.com>
10153
329ce2a5 10154 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
10155 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
10156 and `disk/ieee1275/nand.c'.
f4b1fc02 10157
25f16ec1 101582008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 10159
25f16ec1 10160 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
10161 i386-linuxbios.
10162
10163 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
10164 change the buffer size to 4096 for cdrom device.
10165
10166 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
10167 and nand.mod.
10168 (_linux_mod_SOURCES): New variable.
10169 (_linux_mod_CFLAGS): Likewise.
10170 (_linux_mod_LDFLAGS): Likewise.
10171 (linux_mod_SOURCES): Likewise.
10172 (linux_mod_CFLAGS): Likewise.
10173 (linux_mod_LDFLAGS): Likewise.
10174 (nand_mod_SOURCES): Likewise.
10175 (nand_mod_CFLAGS): Likewise.
10176 (nand_mod_LDFLAGS): Likewise.
10177
10178 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
10179 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
10180 type property. (nand device in olpc don't have this property)
10181
10182 * include/grub/disk.h (grub_disk_dev_id): New macro
10183 GRUB_DISK_DEVICE_NAND_ID.
10184
10185 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
10186 function prototype.
10187 (grub_rescue_cmd_initrd): Likewise.
10188
10189 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
10190 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
10191 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 10192
25f16ec1 10193 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
10194 GRUB_MACHINE_IEEE1275 is defined.
10195
10196 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
10197 Use NESTED_FUNC_ATTR attribute on the hook parameter.
10198
10199 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
10200 on nested function heap_init.
10201 (grub_upper_mem): New variable for i386-ieee1275.
10202 (grub_get_extended_memory): New function for i386-ieee1275.
10203 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
10204
10205 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
10206 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
10207 property.
f19dbdb7 10208
25f16ec1 10209 * loader/i386/ieee1275/linux.c: New file.
10210
10211 * loader/i386/ieee1275/linux_normal.c: New file.
10212
10213 * disk/ieee1275/nand.c: New file.
10214
e89d61e9 102152008-04-18 Thomas Schwinge <tschwinge@gnu.org>
10216
10217 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
10218 value.
10219 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
10220
602566f6 102212008-04-18 Robert Millan <rmh@aybabtu.com>
10222
10223 Restructures early code path on ieee1275 to unify grub_main() as
10224 the first C function that is executed in every platform.
10225
10226 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
10227 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
10228 cmain().
10229 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
10230 * kern/ieee1275/cmain.c (cmain): Rename to ...
10231 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
10232 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
10233 at the beginning.
10234
57490c2b 102352008-04-18 Robert Millan <rmh@aybabtu.com>
10236
10237 * util/update-grub.in: Fix syntax error when setting
10238 `GRUB_PRELOAD_MODULES'.
10239 Reported by Stephane Chazelas <stephane@artesyncp.com>
10240
1977517d 102412008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
10242
10243 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
10244 section into account, newer toolchains generate unique build ids
10245 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 10246 we want build ids to be preserved
1977517d 10247 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
10248 far from other sections don't cause the raw binary images grow
10249 size
10250
bfb1f1a2 102512008-04-15 Robert Millan <rmh@aybabtu.com>
10252
10253 * disk/lvm.c: Update copyright year.
10254 * kern/misc.c: Likewise.
10255
01979850 102562008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10257
10258 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 10259 there is no memory left for physical volume name.
01979850 10260
0a1150e2 102612008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10262
10263 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
10264 volume name mapping to support bigger than 9 character names properly.
10265
82ead3fe 102662008-04-13 Robert Millan <rmh@aybabtu.com>
10267
10268 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
10269 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
10270
e54a72f5 102712008-04-13 Christian Franke <franke@computer.org>
10272
10273 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
10274 to create a floppy emulation boot CD when non emulation mode
10275 does not work.
10276 Enable Joliet CD filesystem extension.
10277
9fe86034 102782008-04-13 Robert Millan <rmh@aybabtu.com>
10279
10280 * kern/misc.c (grub_strncat): Fix off-by-one error.
10281 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
10282
10283 * kern/env.c (grub_env_context_close): Clear current context, not
10284 previous one.
10285 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
10286
10287 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
10288
7ceeee39 102892008-04-13 Robert Millan <rmh@aybabtu.com>
10290
10291 Improve robustness when handling LVM.
10292
10293 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 10294 (and leave `*p' unmodified).
7ceeee39 10295 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
10296 through it.
10297 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
10298 iterating through it.
10299 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
10300 through it.
fe6b695a 10301 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 10302 when due) on each grub_lvm_getvalue() or grub_strstr() call.
10303 Don't assume `vg->pvs != NULL' when iterating through it.
10304
58cd3d85 103052008-04-13 Robert Millan <rmh@aybabtu.com>
10306
10307 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
10308 * genmk.rb (partmap): New variable.
10309 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
10310 (#{partmap}): New target rule.
10311 * genpartmaplist.sh: New file.
10312 * Makefile.in (pkglib_DATA): Add partmap.lst.
10313 (partmap.lst): New target rule.
10314 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
10315 modules (including all partition maps), instead of preloading them.
10316
78b51059 103172007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
10318
10319 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
10320 `linux-boot-prober' (if installed) to detect other operating
10321 systems which are installed on the computer and add them to
10322 the boot menu.
10323 * conf/common.rmk: Build and install 30_os-prober.
10324
a91627b4 103252008-04-12 Robert Millan <rmh@aybabtu.com>
10326
10327 * kern/powerpc/ieee1275/init.c: Move from here ...
10328 * kern/ieee1275/init.c: ... to here. Update all users.
10329
10330 * kern/powerpc/ieee1275/cmain.c: Move from here ...
10331 * kern/ieee1275/cmain.c: ... to here. Update all users.
10332
10333 * kern/powerpc/ieee1275/openfw.c: Move from here ...
10334 * kern/ieee1275/openfw.c: ... to here. Update all users.
10335
10336 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
10337 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
10338
322562ea 103392008-04-10 Pavel Roskin <proski@gnu.org>
10340
10341 * configure.ac: Always use "_cv_" in cache variables for
10342 compatibility with Autoconf 2.62.
10343
a02a73c5 103442008-04-07 Robert Millan <rmh@aybabtu.com>
10345
10346 Revert grub/machine/init.h addition by Pavel (since it breaks on
10347 i386-ieee1275 and others):
10348 * util/i386/pc/misc.c: Remove grub/machine/init.h.
10349 * util/powerpc/ieee1275/misc.c: Likewise.
10350
25c024b1 103512008-04-07 Robert Millan <rmh@aybabtu.com>
10352
10353 * util/grub-probe.c (probe): Improve error message.
10354
3cbd2f98 103552008-04-07 Robert Millan <rmh@aybabtu.com>
10356
10357 * util/biosdisk.c (read_device_map): Skip devices that don't exist
10358 (this prevents the presence of a bogus entry from ruining the whole
10359 thing).
10360
87a297bf 103612008-04-06 Pavel Roskin <proski@gnu.org>
10362
36747a62 10363 * util/biosdisk.c: Include grub/util/biosdisk.h.
10364 * util/grub-fstest.c (execute_command): Make static.
10365 * util/grub-mkdevicemap.c (check_device): Likewise.
10366 * util/i386/pc/misc.c: Include grub/machine/init.h.
10367 * util/powerpc/ieee1275/misc.c: Likewise.
10368 * util/lvm.c: Include grub/util/lvm.h.
10369 * util/misc.c: Include grub/kernel.h, grub/misc.h and
10370 grub/cache.h.
10371 * util/raid.c: Include grub/util/raid.h.
10372 (grub_util_getdiskname): Make static.
10373
87a297bf 10374 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
10375 grub_hostfs_fini(), as they are called from grub_init_all() and
10376 grub_fini_all() respectively. This fixes an infinite loop in
10377 grub-fstest due to double registration of hostfs.
10378 Reported by Christian Franke <Christian.Franke@t-online.de>
10379
f6ce7629 103802008-04-05 Pavel Roskin <proski@gnu.org>
10381
10382 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
10383 all 8 functions. Otherwise, probe function 0 only.
10384
070e49e4 103852008-04-04 Pavel Roskin <proski@gnu.org>
10386
8b088a4c 10387 * commands/lspci.c (grub_lspci_iter): Print the bus number
10388 correctly.
10389
4f657021 10390 * commands/lspci.c (grub_pci_classes): Fix typos.
10391 (grub_lspci_iter): Don't print func twice. Print vendor ID
10392 before device ID, as it's normally done.
10393
070e49e4 10394 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
10395 Fix signedness warnings.
10396 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
10397 Likewise.
10398 * util/ieee1275/get_disk_name.c: Include config.h so that
10399 _GNU_SOURCE is defined and getline() is declared. Mark an
10400 unused argument as such. Fix a signedness warning.
10401
ba7328dc 104022008-04-02 Pavel Roskin <proski@gnu.org>
10403
26887f22 10404 * genkernsyms.sh.in: Use more robust assignments for CC and
10405 srcdir. Quote srcdir.
10406 * gensymlist.sh.in: Likewise. Assert at the compile time that
10407 the symbol table is not empty.
10408
ba7328dc 10409 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
10410 * fs/cpio.c (grub_cpio_read): Likewise.
10411
0f582c6b 104122008-04-01 Pavel Roskin <proski@gnu.org>
10413
4b6e1995 10414 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
10415 * disk/host.c (grub_host_open): Likewise.
10416 * disk/loopback.c (grub_loopback_open): Likewise.
10417 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
10418 disk->id as in disk/host.c, not a multi-character constant.
10419
828a2768 10420 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
10421 later is obsolete, potentially dangerous and sets a bad example.
10422 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
10423 * util/misc.c (grub_util_get_image_size): Likewise.
10424
2bb4fb47 10425 * disk/loopback.c (options): Improve help for "--partitions".
10426
0f582c6b 10427 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
10428 options to align them with the short options, e.g. "echo -e".
10429
a33224e0 104302008-03-31 Bean <bean123ch@gmail.com>
10431
10432 * video/reader/png.c (grub_png_data): New member is_16bit and
10433 image_data.
10434 (grub_png_decode_image_header): Detect 16 bit png image.
10435 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
10436 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
10437 (grub_video_reader_png): Release memory occupied by image_data.
10438
10439 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
10440 4096 bytes.
10441 (grub_nfs_mount): Skip the test for sector per cluster.
10442
10443 * include/grub/ntfs.h (MAX_SPC): Removed.
10444
86cb4f54 104452008-03-31 Bean <bean123ch@gmail.com>
10446
10447 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
10448 (grub_probe_SOURCES): Add fs/afs.c.
10449 (grub_fstest_SOURCES): Likewise.
10450 (afs_mod_SOURCES): New variable.
10451 (afs_mod_CFLAGS): Likewise.
10452 (afs_mod_LDFLAGS): Likewise.
10453
10454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
10455 (grub_emu_SOURCES): Likewise.
10456
10457 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10458
10459 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10460
10461 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10462
10463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10464
10465 * fs/afs.c: New file.
10466
17c74c21 104672008-03-30 Pavel Roskin <proski@gnu.org>
10468
4cb68e89 10469 * disk/host.c: Include grub/misc.h to fix a warning.
10470 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
10471 warnings about implicit declarations.
10472
8790bb04 10473 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
10474 variable.
10475 * include/grub/i386/loader.h: Change declaration of
10476 grub_linux_boot() to match what grub_loader_set() expects.
10477 * util/getroot.c (grub_guess_root_device): Return const char* to
10478 fix a warning.
10479 * util/grub-probe.c (probe): Fix a warning about uninitialized
10480 abstraction_name variable.
10481 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
10482 second argument as unused to fix a warning.
10483
9a3f3296 10484 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
10485 missing grub_error() call.
10486
0ecef90d 10487 * util/update-grub_lib.in: Define datarootdir, since Autoconf
10488 2.60 and newer uses it to define datadir.
10489
0bf6d401 10490 * commands/sleep.c: Fix warning about implicit declaration.
10491 * disk/memdisk.c: Likewise.
10492 * loader/aout.c: Likewise.
10493 * loader/i386/bsd_normal.c: Likewise.
10494 * util/grub-probe.c: Likewise.
10495
7cdacf97 10496 * commands/i386/cpuid.c (has_longmode): Make static.
10497 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
10498 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
10499
17c74c21 10500 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
10501 GDT. This is more robust, as %ds can change.
10502 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
10503 calling real_to_prot().
10504 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
10505
80a3e68b 105062008-03-28 Pavel Roskin <proski@gnu.org>
10507
10508 * kern/i386/pc/startup.S: Assert that uncompressed functions
10509 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
10510 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
10511 code, as they push parts of the code (error handlers) beyond
10512 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
10513 code as correctness and size.
10514
77bcd272 105152008-03-28 Pavel Roskin <proski@gnu.org>
10516
10517 * kern/i386/pc/startup.S
10518 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
10519 data block address to the real mode, keep offset minimal. This
10520 works around a bug in AWARD BIOS on old Athlon systems, which
10521 makes CD detection hang.
10522
c5dfd43b 105232008-03-26 Pavel Roskin <proski@gnu.org>
10524
10525 * normal/color.c (grub_parse_color_name_pair): Make `name' a
10526 const.
10527 * include/grub/normal.h: Add grub_parse_color_name_pair()
10528 declaration.
10529
bf962df2 105302008-03-24 Bean <bean123ch@gmail.com>
10531
10532 * disk/i386/pc/biosdisk.c (cd_start): Removed.
10533 (cd_count): Removed.
10534 (cd_drive): New variable.
10535 (grub_biosdisk_get_drive): Don't check for (cdN) device.
10536 (grub_biosdisk_call_hook): Likewise.
10537 (grub_biosdisk_iterate): Change cdrom detection method.
10538 (grub_biosdisk_open): Replace cd_start with cd_drive.
10539 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
10540 detect cdrom device.
10541
10542 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
10543 Removed.
10544 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
10545 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
10546 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
10547 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
10548 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
10549 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
10550 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
10551 (grub_biosdisk_cdrp): New structure.
10552 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
10553
10554 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
10555
10556 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
10557 device.
10558
10559 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
10560 New function.
10561
68e7fc7a 105622008-03-20 Robert Millan <rmh@aybabtu.com>
10563
10564 Remove 2 TiB limit in ata.mod.
10565 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
10566 (grub_ata_dumpinfo): Print sector count with 0x%llx.
10567 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
10568 grub_uint64_t instead of grub_uint32_t.
10569
38ad2cf5 105702008-03-05 Bean <bean123ch@gmail.com>
10571
10572 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
10573 (grub_multiboot): Set boot device.
10574
10575 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
10576
2b89344e 105772008-03-02 Bean <bean123ch@gmail.com>
10578
10579 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
10580 symlink_buffer.
10581
87a95d1f 105822008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
10583
10584 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
10585 texinfo.tex.
10586
10587 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
10588 modified.
10589
10590 * docs/fdl.texi: New file.
f19dbdb7 10591
87a95d1f 10592 * docs/mdate-sh: New file. Copied from gnulib.
10593 * docs/texinfo.tex: Likewise.
10594
10595 * config.guess: Updated from gnulib.
10596 * install-sh: Likewise.
10597
7dc15d8e 105982008-02-28 Robert Millan <rmh@aybabtu.com>
10599
10600 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
10601 (aout_mod_SOURCES): New variable.
10602 (aout_mod_CFLAGS): Likewise.
10603 (aout_mod_LDFLAGS): Likewise.
10604
10605 * conf/i386-ieee1275.rmk: Likewise.
10606
b00ab696 106072008-02-28 Robert Millan <rmh@aybabtu.com>
10608
10609 * util/update-grub.in: Reorganise terminal validity check. Accept
10610 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
10611 Based on suggestion by Franklin PIAT.
10612
79ca2d78 106132008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
10614
10615 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
10616 function.
10617 * util/getroot.c (grub_util_check_block_device): New function that
10618 returns the given argument if it is a block device and returns NULL else.
10619 * util/grub-probe.c (argument_is_device): New variable.
10620 (probe): Promote device_name from a variable to an argument. Receive
10621 device_name from grub_util_check_block_device() if path is NULL and from
10622 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 10623 (options): Introduce new parameter '-d, --device'.
79ca2d78 10624 (main): Add description of the new parameter to the help screen.
10625 Rename path variable to argument. Set argument_is_device if the '-d'
10626 option is given. Pass argument to probe() depending on
10627 argument_is_device.
10628
0d16e571 106292008-02-24 Bean <bean123ch@gmail.com>
10630
10631 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
10632 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
10633 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
10634 (GRUB_ISO9660_VOLDESC_PART): Likewise.
10635 (GRUB_ISO9660_VOLDESC_END): Likewise.
10636 (grub_iso9660_primary_voldesc): New member escape.
10637 (grub_iso9660_data): New member joliet.
10638 (grub_iso9660_convert_string): New function.
10639 (grub_iso9660_mount): Detect joliet extension.
10640 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
10641 (grub_iso9660_iso9660_label): Likewise.
10642
10643 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
10644 (grub_setup_SOURCES): Add fs/udf.c.
10645 (grub_fstest_SOURCES): Likewise.
10646 (udf_mod_SOURCES): New variable.
10647 (udf_mod_CFLAGS): Likewise.
10648 (udf_mod_LDFLAGS): Likewise.
10649
10650 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
10651 (grub_emu_SOURCES): Likewise.
10652
10653 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10654
10655 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10656
10657 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10658
10659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10660
10661 * fs/udf.c: New file.
10662
8a594a17 106632008-02-24 Robert Millan <rmh@aybabtu.com>
10664
10665 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
10666 (normal/lexer.c_DEPENDENCIES): New variables.
10667 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10668 (normal/lexer.c_DEPENDENCIES): Likewise.
10669 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
10670 (normal/lexer.c_DEPENDENCIES): Likewise.
10671 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
10672 (normal/lexer.c_DEPENDENCIES): Likewise.
10673 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10674 (normal/lexer.c_DEPENDENCIES): Likewise.
10675 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
10676 (normal/lexer.c_DEPENDENCIES): Likewise.
10677
2dc33c03 106782008-02-23 Robert Millan <rmh@aybabtu.com>
10679
10680 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
10681 since they were intended to be in hex. This didn't break previously
10682 because of a bug in gpt_partition_map_iterate() (see below).
10683
10684 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
10685 when checking the validity of GPT header.
10686 Remove `partno', since it always provides the same information as `i'.
10687
f6f4cfb0 106882008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
10689
10690 * include/grub/efi/time.h: Fix a wrong comment.
10691
79ff665f 106922008-02-19 Pavel Roskin <proski@gnu.org>
10693
10694 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
10695 message.
10696
d38e24c2 106972008-02-19 Bean <bean123ch@gmail.com>
10698
10699 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
10700 (aout_mod_SOURCES): New variable.
10701 (aout_mod_CFLAGS): Likewise.
10702 (aout_mod_LDFLAGS): Likewise.
10703 (_bsd_mod_SOURCES): New variable.
10704 (_bsd_mod_CFLAGS): Likewise.
10705 (_bsd_mod_LDFLAGS): Likewise.
10706 (bsd_mod_SOURCES): New variable.
10707 (bsd_mod_CFLAGS): Likewise.
10708 (bsd_mod_LDFLAGS): Likewise.
10709
10710 * include/grub/aout.h: New file.
10711
10712 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
10713
10714 * include/grub/i386/bsd.h: New file.
10715
10716 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
10717 to make it public.
10718
10719 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
10720 function is called, so that it's possible to change it inside the hook.
10721 (grub_elf64_load): Likewise.
10722 (grub_elf_file): Don't close the file if elf header is not found.
10723 (grub_elf_close): Close the file if grub_elf_file fails (The new
10724 grub_elf_file won't close it).
10725 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
10726 (grub_elf64_size): Likewise.
10727
10728 * kern/i386/loader.S (grub_unix_real_boot): New function.
10729
10730 * loader/aout.c: New file.
10731
10732 * loader/i386/bsd.c: New file.
10733
10734 * loader/i386/bsd_normal.c: New file.
10735
10736 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
10737
10738 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 10739 can test other formats.
d38e24c2 10740
b93bdb0f 107412008-02-19 Robert Millan <rmh@aybabtu.com>
10742
10743 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
10744 (grub_gpt_partition_type_empty): Redefine with macro from
10745 `<grub/gpt_partition.h>'.
10746 (gpt_partition_map_iterate): Adjust partition type comparison.
10747
10748 Export `entry' as partmap-specific `part.data' struct.
10749 (grub_gpt_header, grub_gpt_partentry): Move from here ...
10750
10751 * include/grub/gpt_partition.h (grub_gpt_header)
10752 (grub_gpt_partentry): ... to here (new file).
10753
10754 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
10755
10756 (grub_gpt_partition_type_bios_boot): New const variable, defined
10757 with macro from `<grub/gpt_partition.h>'.
10758
10759 (setup): Replace `first_start' with `embed_region', which keeps
10760 track of the embed region (and is partmap-agnostic).
10761
10762 Replace find_first_partition_start() with find_usable_region(),
10763 which finds a usable region for embedding using partmap-specific
10764 knowledge (supports PC/MSDOS and GPT).
10765
10766 Fix all assumptions that the embed region start at sector 1, using
10767 `embed_region.start' from now on. Similarly, use `embed_region.end'
10768 rather than `first_start' to calculate available size.
10769
10770 In grub_util_info() message, replace "into after the MBR" with an
10771 indication of the specific sector our embed region starts at.
10772
66cb40f6 107732008-02-19 Robert Millan <rmh@aybabtu.com>
10774
10775 * DISTLIST: Replace `commands/ieee1275/halt.c' and
10776 `commands/ieee1275/reboot.c' with `commands/halt.c' and
10777 `commands/reboot.c'.
10778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10779 (halt_mod_SOURCES): Likewise.
10780 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
10781 (halt_mod_SOURCES): Likewise.
10782
b7202015 107832008-02-17 Christian Franke <franke@computer.org>
10784
10785 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
10786
32b0fc49 107872008-02-17 Robert Millan <rmh@aybabtu.com>
10788
10789 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10790 set `first_start' to 0 for non-PC/MSDOS partition maps.
10791
aca63502 107922008-02-16 Robert Millan <rmh@aybabtu.com>
10793
10794 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
10795 do not assume partition map is PC/MSDOS before performing checks that
10796 are specific to that layout.
10797
0de8be86 107982008-02-13 Robert Millan <rmh@aybabtu.com>
10799
10800 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
10801 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
10802 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
10803
c3db8364 108042008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
10805
10806 * configure.ac: Only a cosmetic change on the handling of
10807 -fno-stack-protector.
10808
f714229e 108092008-02-12 Alexandre Boeglin <alex@boeglin.org>
10810
c3db8364 10811 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
10812 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
10813 reboot.c.
f714229e 10814 (grub_install_SOURCES): Add halt.mod and reboot.mod.
10815 (halt_mod_SOURCES): New variable.
10816 (halt_mod_CFLAGS): Likewise.
10817 (halt_mod_LDFLAGS): Likewise.
10818 (reboot_mod_SOURCES): Likewise.
10819 (reboot_mod_CFLAGS): Likewise.
10820 (reboot_mod_LDFLAGS): Likewise.
10821
c3db8364 10822 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
10823 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
10824 reboot.c.
f714229e 10825 (halt_mod_SOURCES): Likewise.
10826 (reboot_mod_SOURCES): Likewise.
10827
c3db8364 10828 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
10829 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 10830 (reboot_mod_SOURCES): Likewise.
10831
10832 * commands/i386/pc/reboot.c: merge this file ...
10833
10834 * commands/ieee1275/reboot.c: ... and this file ...
10835
10836 * commands/reboot.c: ... to this file.
c3db8364 10837 Add some precompiler directive to include the correct header for
10838 each machine.
f714229e 10839
10840 * commands/ieee1275/halt.c: move this file ...
10841
10842 * commands/halt.c: ... to here.
c3db8364 10843 Add some precompiler directive to include the correct header for
10844 each machine.
f714229e 10845
10846 * include/grub/efi/efi.h (grub_reboot): New function declaration.
10847 (grub_halt): Likewise.
10848
10849 * kern/efi/efi.c (grub_reboot): New function.
10850 (grub_halt): Likewise.
10851
c74493e0 108522008-02-12 Robert Millan <rmh@aybabtu.com>
10853
10854 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
10855 /dev (like it is done for /dev/mapper). This doesn't provide support
10856 for EVMS, but at least it is now easy to identify the problem when it
10857 arises.
10858
d0db4b04 108592008-02-11 Robert Millan <rmh@aybabtu.com>
10860
10861 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
10862 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
10863 comparing it with -1, not 0.
10864
bf748642 108652008-02-10 Robert Millan <rmh@aybabtu.com>
10866
10867 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
10868 `disk/lvm.c'.
10869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10870 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10871
10872 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
10873 `disk/lvm.c' to the end of the list.
10874 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
10875 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10876
b5db202a 108772008-02-10 Robert Millan <rmh@aybabtu.com>
10878
10879 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
10880 grub_print_error() instead. This will let user know why we're entering
10881 rescue mode.
10882 Based on suggestions from Sam Morris.
10883
83abee31 108842008-02-10 Alexandre Boeglin <alex@boeglin.org>
10885
10886 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
10887 on remaining N args, instead of "--" arg N times.
10888
78d5a08b 108892008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
10890
10891 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
10892 (fill_with_default_glyph): Changed to use unknown_glyph for fill
10893 pattern for unknown glyphs.
10894
68807e5f 108952008-02-09 Robert Millan <rmh@aybabtu.com>
10896
10897 * configure.ac: Probe for `help2man'.
10898 * Makefile.in (builddir): New variable.
10899 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
10900 or otherwise add a few flags/options to it.
10901 (install-local): For every executable utility or script that is
10902 installed, invoke $(HELP2MAN) to install a manpage based on --help
10903 output.
10904
10905 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
10906 that it doesn't prevent --help from working in build tree.
10907
10908 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
10909 with `bug-grub@gnu.org'.
10910 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
10911 * util/update-grub.in (usage): New function.
10912 Implement proper argument check, with support for --help and --version
10913 (as well as existing -y).
10914
109152008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 10916
10917 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
10918 avoid overwriting previous output.
10919 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
10920
c1962162 109212008-02-09 Robert Millan <rmh@aybabtu.com>
10922
10923 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
10924 drawing the menu.
10925
3dac2e3f 109262008-02-09 Robert Millan <rmh@aybabtu.com>
10927
10928 * commands/sleep.c: New file.
10929 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
10930 (sleep_mod_SOURCES): New variable.
10931 (sleep_mod_CFLAGS): Likewise.
10932 (sleep_mod_LDFLAGS): Likewise.
10933
7a634e08 109342008-02-09 Robert Millan <rmh@aybabtu.com>
10935
10936 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
10937 situations in which we can deduce the RAID size and the superblock
10938 doesn't match it.
10939
b92f0c18 109402008-02-09 Robert Millan <rmh@aybabtu.com>
10941
10942 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
10943 and return a grub_diskmemberlist_t composed of LVM physical volumes.
10944 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
10945
10946 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
10947 and return a grub_diskmemberlist_t composed of physical array members.
10948 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
10949
10950 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
10951 prototype.
10952 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
10953 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
10954 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
10955
10956 * util/grub-probe.c (probe): Move partmap probing code from here ...
10957 (probe_partmap): ... to here.
10958 (probe): Use probe_partmap() once for the disk we're probing, and
10959 additionally, when such disk contains a memberlist() struct member,
10960 once for each disk that is contained in the structure returned by
10961 memberlist().
10962
91a4bf68 109632008-02-09 Robert Millan <rmh@aybabtu.com>
10964
10965 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
10966 environment variable to 'all' in order to obtain debug output from
10967 non-util/ code.
10968 * util/i386/pc/grub-setup.c (main): Likewise.
10969
a96f9caa 109702008-02-08 Robert Millan <rmh@aybabtu.com>
10971
10972 * disk/raid.c (grub_raid_scan_device): Check for
10973 `array->device[sb.this_disk.number]' rather than for
10974 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 10975 guaranteed to be accessible.
a96f9caa 10976
b37a9222 109772008-02-08 Robert Millan <rmh@aybabtu.com>
10978
10979 * disk/raid.c: Update copyright.
10980 * fs/cpio.c: Likewise.
10981 * include/grub/raid.h: Likewise.
10982 * loader/i386/pc/multiboot.c: Likewise.
10983 * util/hostfs.c: Likewise.
10984
5626aee1 109852008-02-08 Robert Millan <rmh@aybabtu.com>
10986
10987 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
10988 to a grub_disk_t array.
10989 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
10990 `device[x]'.
10991 (grub_raid_scan_device): Replace `device[x].name' accesses with
10992 `device[x]->name'. Simplify initialization of `array->device[x]'.
10993
554f0187 109942008-02-08 Robert Millan <rmh@aybabtu.com>
10995
10996 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
10997 grub_dprintf() calls.
10998 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
10999 error message.
11000
1ec8425d 110012008-02-07 Christian Franke <franke@computer.org>
11002
11003 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
11004 instead of fseek and ftell to support large files.
11005 (grub_hostfs_read): Likewise.
11006
f2156fda 110072008-02-07 Robert Millan <rmh@aybabtu.com>
11008
11009 Patch from Jeroen Dekkers.
11010 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 11011 failure, since successfully reading all array members might not be
f2156fda 11012 required.
11013
9216e0e7 110142008-02-06 Robert Millan <rmh@aybabtu.com>
11015
11016 * util/grub-probe.c (probe): Simplify partmap probing (with the
11017 assumption that the first word up to the underscore equals to
11018 the module name).
11019
b0dfd29a 110202008-02-06 Christian Franke <franke@computer.org>
11021
11022 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
11023 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
11024 last block of a cpio or tar stream.
11025 Check for "TRAILER!!!" instead of any empty data
11026 block to detect last block of a cpio stream.
11027 (grub_cpio_dir): Fix constness of variable np.
11028 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
11029 cpio or tar trailer is detected. This fixes a crash
11030 on open of a non existing file.
11031
c32865bf 110322008-02-05 Bean <bean123ch@gmail.com>
11033
11034 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
11035 address of entry.
11036 (grub_multiboot_load_elf64): Likewise.
11037 (grub_multiboot): Initialize mbi structure.
11038
11039 * util/grub-fstest.c: Don't include unused header file script.h.
11040
fe6b695a 11041 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 11042 of file.
11043 (grub_fstest_SOURCES): Likewise.
11044
409480b7 110452008-02-05 Robert Millan <rmh@aybabtu.com>
11046
11047 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
11048 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
11049 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
11050 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
11051
11052 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
11053 (translation_table): Replace hardcoded values with macros
11054 provided by `<grub/term.h>'.
11055
11056 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
11057 (keyboard_map): Correct/add a few values, with macros provided
11058 by `<grub/term.h>'.
11059 (keyboard_map_shift): Zero values that don't differ from their
11060 `keyboard_map' equivalents.
11061 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
11062 Discard the second scan code that is always sent by Caps lock.
11063 Only use `keyboard_map_shift' when it provides a non-zero value,
11064 otherwise fallback to `keyboard_map'.
11065
99fadbaa 110662008-02-04 Bean <bean123ch@gmail.com>
11067
11068 * Makefile.in (enable_grub_fstest): New variable.
11069
11070 * conf/common.rmk (grub_fstest_init.lst): New rule.
11071 (grub_fstest_init.h): Likewise.
11072 (grub_fstest_init.c): Likewise.
11073 (util/grub-fstest.c_DEPENDENCIES): New variable.
11074 (grub_fstest_SOURCES): Likewise.
11075
11076 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
11077
11078 * util/grub-fstest.c: New file.
11079
bf567c50 110802008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11081
11082 Make grub-setup handle a separate root device.
f19dbdb7 11083
bf567c50 11084 * util/i386/pc/grub-setup.c (setup): Always open the root device,
11085 so that the root device can be compared with the destination
11086 device.
11087 When embedding the core image, if the root and destination devices
11088 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
11089 0xFF.
11090 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 11091
9be6b98b 110922008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11093
11094 Add support for having a grub directory in a different drive. This
11095 is still only the data handling part.
f19dbdb7 11096
9be6b98b 11097 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
11098 (codestart): Save %dh in GRUB_ROOT_DRIVE.
11099 (grub_root_drive): New variable.
11100
11101 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
11102 instead of GRUB_BOOT_DRIVE to construct a device name. Set
11103 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
11104 as it was.
11105
11106 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
11107
11108 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
11109 macro.
11110 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
11111
11112 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
11113 is bogus, because PXE booting does not specify any drive
11114 correctly.
11115
11116 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
11117 am not sure if this is really correct.
11118
11119 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
11120 is always identical to the boot drive when booting from a CD.
11121
11122 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
11123 longer.
11124 (root_drive): New variable.
11125 (real_start): Unconditionally set %dh to ROOT_DRIVE.
11126 (setup_sectors): Push %dx right after popping it, because %dh will
11127 be modified later.
11128 (copy_buffer): Restore %dx.
11129
e0ca0677 111302008-02-03 Robert Millan <rmh@aybabtu.com>
11131
11132 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
11133 use `cdboot.img' for cdrom images.
11134
3b3f6629 111352008-02-03 Robert Millan <rmh@aybabtu.com>
11136
11137 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
11138 only setup gfxterm when `font' command has succeeded.
11139
d42b3672 111402008-02-03 Robert Millan <rmh@aybabtu.com>
11141
11142 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
11143 (grub_rescue_cmd_multiboot_loader)
11144 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
11145
fa370ea6 111462008-02-03 Pavel Roskin <proski@gnu.org>
11147
e0c5dacb 11148 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 11149 %edx and %esi from stack only after grub_gate_a20() is called.
11150 grub_gate_a20() clobbers %edx.
11151
f2a76e1d 111522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11153
11154 * configure.ac (AC_INIT): Bumped to 1.96.
11155
11156 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
11157 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
11158 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
11159 video/readers/png.c.
11160
90fd32d1 111612008-02-03 Bean <bean123ch@gmail.com>
9be665dd 11162
11163 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
11164 (cdboot_img_SOURCES): New variable.
11165 (cdboot_img_ASFLAGS): New variable.
11166 (cdboot_img_LDFLAGS): New variable.
11167
11168 * boot/i386/pc/cdboot.S: New file.
11169
11170 * disk/i386/pc/biosdisk.c (cd_start): New variable.
11171 (cd_count): Likewise.
11172 (grub_biosdisk_get_drive): Add support for cd device.
11173 (grub_biosdisk_call_hook): Likewise.
11174 (grub_biosdisk_iterate): Likewise.
11175 (grub_biosdisk_open): Likewise.
11176 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
11177 (grub_biosdisk_rw): Support reading from cd device.
11178 (GRUB_MOD_INIT): Iterate cd devices.
11179
11180 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
11181 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
11182 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
11183
11184 * kern/i386/pc/init.c (make_install_device): Check for cd device.
11185
4020aa53 111862008-02-02 Robert Millan <rmh@aybabtu.com>
11187
11188 * commands/read.c: New file.
11189 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
11190 (read_mod_SOURCES): New variable.
11191 (read_mod_CFLAGS): Likewise.
11192 (read_mod_LDFLAGS): Likewise.
11193
e03a1132 111942008-02-02 Robert Millan <rmh@aybabtu.com>
11195
11196 * normal/main.c (grub_normal_execute): Check for `menu->size' when
11197 determining whether menu has to be displayed.
11198
58c69220 111992008-02-02 Marco Gerards <marco@gnu.org>
11200
11201 * bus/pci.c: New file.
11202
11203 * include/grub/pci.h: Likewise.
11204
11205 * include/grub/i386/pc/pci.h: Likewise.
11206
11207 * commands/lspci.c: Likewise.
11208
11209 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
11210 `lspci.mod'.
11211 (pci_mod_SOURCES): New variable.
11212 (pci_mod_CFLAGS): Likewise.
11213 (pci_mod_LDFLAGS): Likewise.
11214 (lspci_mod_SOURCES): Likewise.
11215 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 11216 (lspci_mod_LDFLAGS): Likewise.
58c69220 11217
c004e1b4 112182008-02-02 Bean <bean123ch@gmail.com>
11219
11220 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
11221 (grub_ufs_get_file_block): Fix indirect block calculation problem.
11222
11223 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
11224 (grub_xfs_btree_node): New structure.
11225 (grub_xfs_btree_root): New structure.
11226 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
11227 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
11228 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11229 (GRUB_XFS_EXTENT_SIZE): Likewise.
11230 (grub_xfs_read_block): Support btree format type.
11231 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
11232 Use directory block as basic unit.
11233
11234 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
11235
11236 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
11237 __attribute__ ((__regparm__ (1))).
11238
f95562bf 112392008-02-01 Robert Millan <rmh@aybabtu.com>
11240
11241 Correct a mistake in previous commit.
11242
11243 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
11244 top.
11245 (normal/command.c_DEPENDENCIES): New variable.
11246
7d31f41f 112472008-02-01 Robert Millan <rmh@aybabtu.com>
11248
11249 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
11250 top.
11251 (normal/command.c_DEPENDENCIES): New variable.
11252 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
11253 * conf/i386-ieee1275.rmk: Likewise.
11254 * conf/i386-linuxbios.rmk: Likewise.
11255 * conf/i386-pc.rmk: Likewise.
11256 * conf/sparc64-ieee1275.rmk: Likewise.
11257 * conf/powerpc-ieee1275.rmk: Likewise.
11258 (grub_emu_SOURCES): Add `fs/fshelp.c'.
11259
11260 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
11261
60b6be74 112622008-02-01 Robert Millan <rmh@aybabtu.com>
11263
11264 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
11265 call at beginning of function.
11266
078522ab 112672008-01-31 Pavel Roskin <proski@gnu.org>
11268
11269 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 11270 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
11271 (grub_mkrescue_SOURCES): Likewise.
078522ab 11272 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
11273
ccaa8a5f 112742008-01-30 Robert Millan <rmh@aybabtu.com>
11275
11276 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
11277 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
11278 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
11279 (grub_probe_SOURCES): ... to here.
11280
11281 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
11282 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
11283 * conf/i386-ieee1275.rmk: Likewise.
11284 * conf/i386-linuxbios.rmk: Likewise.
11285 * conf/powerpc-ieee1275.rmk: Likewise.
11286
ae5a9cd7 112872008-01-30 Tristan Gingold <gingold@free.fr>
11288
11289 * kern/rescue.c: Silently accept empty lines.
11290
70bc2ef2 112912008-01-29 Bean <bean123ch@gmail.com>
11292
11293 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
11294 (real_code_2): Code cleanup and change comment style.
11295 (move_memory): Avoid using 32-bit address mode.
11296
6a4d50ea 112972008-01-29 Bean <bean123ch@gmail.com>
11298
11299 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
11300 (png_mod_SOURCES): New variable.
11301 (png_mod_CFLAGS): Likewise.
11302 (png_mod_LDFLAGS): Likewise.
11303
11304 * video/readers/png.c: New file.
11305
11cc30ac 113062008-01-28 Robert Millan <rmh@aybabtu.com>
11307
11308 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
11309 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
11310 `ifndef GRUB_MOD_GAP' hack.
11311 * util/elf/grub-mkimage.c (add_segments): Likewise.
11312
3abc589f 113132008-01-27 Robert Millan <rmh@aybabtu.com>
11314
11315 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
11316 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 11317 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 11318
e1907778 113192008-01-27 Robert Millan <rmh@aybabtu.com>
11320
11321 Get grub-emu to build again (including parallel builds).
11322
11323 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
11324 Split into ...
11325 (util/grub-emu.c_DEPENDENCIES): ... this, ...
11326 (normal/execute.c_DEPENDENCIES): ... this, ...
11327 (grub-emu_DEPENDENCIES): ... and this.
11328
11329 * conf/i386-efi.rmk: Likewise.
11330 * conf/i386-linuxbios.rmk: Likewise.
11331 * conf/i386-ieee1275.rmk: Likewise.
11332 * conf/powerpc-ieee1275.rmk: Likewise.
11333 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
11334
2216b101 113352008-01-27 Robert Millan <rmh@aybabtu.com>
11336
11337 * NEWS: Add a few items.
11338
f75172d9 113392008-01-27 Robert Millan <rmh@aybabtu.com>
11340
11341 Fix parallel builds with grub-emu. Based on earlier commit for
11342 grub-probe and grub-setup.
11343
11344 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11345 (util/grub-emu.c_DEPENDENCIES): ... this.
11346 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11347 (util/grub-emu.c_DEPENDENCIES): ... this.
11348 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11349 (util/grub-emu.c_DEPENDENCIES): ... this.
11350 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11351 (util/grub-emu.c_DEPENDENCIES): ... this.
11352 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
11353 (util/grub-emu.c_DEPENDENCIES): ... this.
11354
3f51de77 113552008-01-27 Pavel Roskin <proski@gnu.org>
11356
11357 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
11358 to create a gap between _end and the modules added to the image
11359 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
11360 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
11361 * util/elf/grub-mkimage.c (add_segments): Likewise.
11362
2033f53e 113632008-01-26 Pavel Roskin <proski@gnu.org>
11364
11365 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
11366 just return an error.
11367
22da1f6f 113682008-01-26 Bean <bean123ch@gmail.com>
11369
11370 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
11371 (grub_reiserfs_get_item): Save offset of the next item.
11372 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
11373
2a9525e6 113742008-01-25 Robert Millan <rmh@aybabtu.com>
11375
11376 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
11377 make all filesystem sources appear together (possibly fixing omissions
11378 while at it).
11379 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11380 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11381 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11383
11384 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
11385 add `kern/file.c'.
11386 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
11387 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11388 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
11389 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
11390
11391 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
11392 (probe): Add a sanity check to make sure of our ability to read
11393 requested files when probing for filesystem type.
11394
11395 * genmk.rb: Update copyright year (2007).
11396
11397 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
11398 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
11399 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
11400 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
11401 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
11402 : Remove function prototypes.
11403
b95f71b5 114042008-01-25 Robert Millan <rmh@aybabtu.com>
11405
11406 Revert my previous commits (based on wrong assumption of how grub_errno
11407 works).
11408
fe6b695a 11409 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 11410 * kern/file.c (grub_file_open): Likewise.
11411
d08bbb49 114122008-01-24 Pavel Roskin <proski@gnu.org>
11413
11414 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
11415 that hang if GRUB tries to setup colors.
11416 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
11417 colors for firmwares that don't support it.
11418 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
11419 Recognize Open Hack'Ware, set flags to work around its
11420 limitations.
11421
605e36ed 114222008-01-24 Robert Millan <rmh@aybabtu.com>
11423
11424 * kern/file.c (grub_file_open): Do not account previous failures of
11425 unrelated functions when grub_errno is checked for.
11426 Reported by Oleg Strikov.
11427
bac332a1 114282008-01-24 Bean <bean123ch@gmail.com>
11429
11430 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
11431 (grub_ufs_sblock): New member volume name.
11432 (grub_ufs_find_file): Fix string copy bug.
11433 (grub_ufs_label): Implement this function properly.
11434
11435 * fs/hfs.c (grub_hfs_cnid_type): New enum.
11436 (grub_hfs_iterate_records): Use the correct file number for extents
11437 and catalog file. Fix problem in next index calculation.
11438 (grub_hfs_find_node): Replace recursive function call with loop.
11439 (grub_hfs_iterate_dir): Replace recursive function call with loop.
11440
15c80c09 114412008-01-23 Robert Millan <rmh@aybabtu.com>
11442
11443 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
11444 `<grub/symbol.h>' and `<grub/multiboot.h>'.
11445 (grub_multiboot2_real_boot): New function prototype.
11446
11447 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
11448 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
11449
11450 * kern/i386/ieee1275/init.c (grub_os_area_addr)
11451 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
11452
305338fd 114532008-01-23 Robert Millan <rmh@aybabtu.com>
11454
11455 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
11456 #ifdef'ed out grub_printf().
11457
3ea52685 114582008-01-23 Robert Millan <rmh@aybabtu.com>
11459
11460 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
11461 grub_dprintf calls, since they make "debug=all" mode unusable.
11462 (grub_console_checkkey): Likewise.
11463
5882ae4b 114642008-01-23 Robert Millan <rmh@aybabtu.com>
11465
11466 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11467 `term/i386/pc/at_keyboard.c'.
11468 (pkglib_MODULES): Add `serial.mod'.
11469 (serial_mod_SOURCES): New variable.
11470 (serial_mod_CFLAGS): Likewise.
11471 (serial_mod_LDFLAGS): Likewise.
11472
11473 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
11474 `<grub/powerpc/ieee1275/console.h>'.
11475 (grub_keyboard_controller_init): New function prototype.
11476 (grub_console_checkkey): Likewise.
11477 (grub_console_getkey): Likewise.
11478
11479 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
11480 keyboard on i386.
11481
11482 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
11483 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
11484
06ab5303 114852008-01-23 Robert Millan <rmh@aybabtu.com>
11486
11487 * kern/i386/pc/init.c (make_install_device): When memdisk image is
11488 present, "(memdisk)/boot/grub" becomes the default prefix.
11489
11490 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
11491 a memdisk tarball with all the modules. Add --overlay=DIR option that
11492 allows users to overlay additional files into the image.
11493
dbb475a4 114942008-01-23 Robert Millan <rmh@aybabtu.com>
11495
11496 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
11497 and `machine/memory.h'.
11498 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
11499 (_multiboot_mod_SOURCES): New variable.
11500 (_multiboot_mod_CFLAGS): Likewise.
11501 (_multiboot_mod_LDFLAGS): Likewise.
11502 (multiboot_mod_SOURCES): Likewise.
11503 (multiboot_mod_CFLAGS): Likewise.
11504 (multiboot_mod_LDFLAGS): Likewise.
11505
11506 * include/grub/i386/ieee1275/loader.h: New file.
11507
11508 * include/grub/i386/ieee1275/machine.h: Likewise.
11509
11510 * include/grub/i386/ieee1275/memory.h: Likewise.
11511
11512 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
11513 variable declaration.
11514 (grub_os_area_size): Likewise.
11515
11516 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
11517 (grub_lower_mem, grub_upper_mem): New variables.
11518 (grub_stop_floppy): New function (just to make
11519 grub_multiboot2_real_boot() happy).
11520
11521 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
11522 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
11523 (grub_stop): New function.
11524 Include `"../realmode.S"' and `"../loader.S"'.
11525
11526 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
11527 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
11528
11529 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
11530 rely on grub_multiboot2_real_boot() for final boot.
11531
25638629 115322008-01-22 Robert Millan <rmh@aybabtu.com>
11533
11534 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
11535 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
11536 device that doesn't look like an SD card.
11537 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
11538 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
11539 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
11540 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
11541 found.
11542
9dad816d 115432008-01-22 Robert Millan <rmh@aybabtu.com>
11544
11545 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
11546 avoid claiming over our own code.
11547
34842f2d 115482008-01-22 Bean <bean123ch@gmail.com>
11549
11550 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
11551 (jpeg_mod_SOURCES): New variable.
11552 (jpeg_mod_CFLAGS): Likewise.
11553 (jpeg_mod_LDFLAGS): Likewise.
11554
11555 * video/readers/jpeg.c : New file.
11556
44023a28 115572008-01-22 Bean <bean123ch@gmail.com>
11558
11559 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
11560 there are no more items.
11561
bc2d8ac6 115622008-01-21 Robert Millan <rmh@aybabtu.com>
11563
11564 * kern/mm.c (grub_mm_init_region): Improve debug message.
11565
261bd4bc 115662008-01-21 Robert Millan <rmh@aybabtu.com>
11567
11568 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
11569 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
11570 address.
11571 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
11572 a C macro.
11573 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
11574 Indicates start of upper memory.
11575 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
11576 (generate_image): Abort when image size is big enough to corrupt
11577 upper memory.
11578
11579 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
11580 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
11581 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11582 instead of hardcoding 0xA0000.
11583 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
11584 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
11585 instead of hardcoding 0xA0000.
11586
f970b55e 115872008-01-21 Robert Millan <rmh@aybabtu.com>
11588
11589 * disk/memdisk.c (memdisk_size): New variable.
11590 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
11591 `memdisk_size'.
11592 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
11593 image to dynamic memory.
11594 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
11595 `memdisk_size'. Free memdisk block.
11596
1a8b0526 115972008-01-21 Robert Millan <rmh@aybabtu.com>
11598
11599 Fix detection of very small filesystems (like tar).
11600
11601 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
11602 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
11603 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
11604 a problem with this disk).
11605
6e9b4aab 116062008-01-21 Robert Millan <rmh@aybabtu.com>
11607
11608 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
11609 on grub_biosdisk_rw_standard() error.
11610
0d8837b2 116112008-01-21 Robert Millan <rmh@aybabtu.com>
11612
11613 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
11614 recent changes.
11615 * kern/elf.c: Likewise.
11616 * kern/ieee1275/ieee1275.c: Likewise.
11617 * kern/powerpc/ieee1275/openfw.c: Likewise.
11618 * term/ieee1275/ofconsole.c: Likewise.
11619
ffd36e34 116202008-01-21 Robert Millan <rmh@aybabtu.com>
11621
11622 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
11623
3f0093d0 11624 * include/grub/kernel.h (grub_arch_memdisk_addr)
11625 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 11626
3f0093d0 11627 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
11628 (grub_arch_memdisk_size): ... to here.
ffd36e34 11629
6c391b21 116302008-01-21 Robert Millan <rmh@aybabtu.com>
11631
11632 Mostly based on bugfix from Bean.
11633
11634 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
11635 attribute with hook() parameter.
11636 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
11637 declaration.
11638 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
11639 attribute with hook() parameter.
11640 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
11641 declaration.
11642
55a581dc 116432008-01-21 Robert Millan <rmh@aybabtu.com>
11644
11645 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
11646 (pkglib_MODULES): Add `memdisk.mod'.
11647 (memdisk_mod_SOURCES): New variable.
11648 (memdisk_mod_CFLAGS): Likewise.
11649 (memdisk_mod_LDFLAGS): Likewise.
11650
11651 * disk/memdisk.c: New file.
11652
11653 * include/grub/disk.h (grub_disk_dev_id): Add
11654 `GRUB_DISK_DEVICE_MEMDISK_ID'.
11655
11656 * include/grub/i386/pc/kernel.h
11657 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
11658 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
11659 (grub_kernel_image_size): New variable declaration.
11660 (grub_total_module_size): Likewise.
11661 (grub_memdisk_image_size): Likewise.
11662
11663 * include/grub/i386/pc/memory.h
11664 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
11665
11666 * include/grub/kernel.h: Include `<grub/symbol.h>'.
11667 (grub_arch_memdisk_addr): New variable declaration.
11668 (grub_arch_memdisk_size): Likewise.
11669
11670 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
11671 (grub_arch_memdisk_size): Likewise.
11672
11673 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
11674 (codestart): Replace hardcoded `0x100000' with
11675 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
11676
11677 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
11678 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
11679 not NULL, append the contents of the file it refers to, at the end of
11680 the compressed kernel image. Initialize `grub_memdisk_image_size'
11681 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
11682 (options): Add "memdisk"|'m' option.
11683 (main): Parse --memdisk|-m option, and pass user-provided path as
11684 parameter to generate_image().
11685
3d7f54c9 116862008-01-20 Robert Millan <rmh@aybabtu.com>
11687
11688 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
11689 grub_dprintf() calls from here ...
11690 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
11691
0bf74728 116922008-01-20 Robert Millan <rmh@aybabtu.com>
11693
11694 Fix detection of "real mode" when /options/real-mode? doesn't exist.
11695
11696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
11697 declaration.
11698 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
11699 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
11700 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 11701 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 11702 property).
11703 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
11704 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
11705
33bf70a7 117062008-01-19 Robert Millan <rmh@aybabtu.com>
11707
fe6b695a 11708 Get rid of confusing function (superseded by
33bf70a7 11709 `grub_ieee1275_get_integer_property')
11710 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
11711 prototype.
11712 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
11713 function.
11714 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
11715 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 11716 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 11717
e2da7d26 117182008-01-19 Robert Millan <rmh@aybabtu.com>
11719
11720 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
11721 command after "shut-down", since implementations differ on which
11722 the command for halt is.
11723
59f1fd8d 117242008-01-19 Robert Millan <rmh@aybabtu.com>
11725
11726 * include/grub/i386/linuxbios/console.h: Add header protection.
11727 (grub_keyboard_controller_init): New function prototype.
11728 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
11729 (KEYBOARD_COMMAND_READ): Likewise.
11730 (KEYBOARD_COMMAND_WRITE): Likewise.
11731 (KEYBOARD_SCANCODE_SET1): Likewise.
11732 (grub_keyboard_controller_write): New function.
11733 (grub_keyboard_controller_read): Likewise.
11734 (grub_keyboard_controller_init): Likewise.
11735
11736 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
11737 (grub_console_init): On coreboot/LinuxBIOS, call
11738 grub_keyboard_controller_init().
11739
5f5a7c15 117402008-01-19 Robert Millan <rmh@aybabtu.com>
11741
11742 PowerPC changes provided by Pavel Roskin.
11743
11744 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
11745 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
11746 don't rely on cmain() doing it.
11747 * kern/i386/ieee1275/startup.S (_start): Store %eax in
11748 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
11749
1210e168 117502008-01-16 Robert Millan <rmh@aybabtu.com>
11751
11752 * include/grub/i386/linuxbios/memory.h
11753 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
11754 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
11755 receive `table_header' as argument. Instead, probe for it in the
11756 known memory ranges where it can be present.
11757 (grub_available_iterate): Do not pass a fixed `table_header' address
11758 to grub_linuxbios_table_iterate().
11759
3d04eab8 117602008-01-15 Robert Millan <rmh@aybabtu.com>
11761
11762 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
11763 * conf/i386-ieee1275.rmk: New file.
11764 * include/grub/i386/ieee1275/console.h: Likewise.
11765 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
11766 * include/grub/i386/ieee1275/kernel.h: Likewise.
11767 * include/grub/i386/ieee1275/time.h: Likewise.
11768 * kern/i386/ieee1275/init.c: Likewise.
11769 * kern/i386/ieee1275/startup.S: Likewise.
11770
d1bc1b73 117712008-01-15 Robert Millan <rmh@aybabtu.com>
11772
11773 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
11774 when pointers are 32-bit (but still do set it to one when they are
11775 64-bit).
11776
66a65807 117772008-01-15 Robert Millan <rmh@aybabtu.com>
11778
11779 * include/grub/ieee1275/ieee1275.h
11780 (grub_ieee1275_get_integer_property): New function prototype.
11781
11782 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
11783 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 11784 grub_ieee1275_get_property() to handle endianness.
66a65807 11785
11786 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
11787 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 11788 where appropriate.
66a65807 11789 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
11790 (grub_map): Likewise.
11791 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
11792
a83ccafd 117932008-01-15 Bean <bean123ch@gmail.com>
11794
11795 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
11796 (grub_script_execute_cmdline): Reset grub_errno.
11797
11798 * normal/main.c (read_config_file): Reset grub_errno.
11799
11800 * normal/parse.y (script_init): New.
11801 (script): Move function and menuentry here.
11802 (delimiter): New.
11803 (command): Add delimiter at the end of command.
11804 (commands): Adjust to match the new command.
11805 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 11806 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 11807 (if): Use the new commands.
11808
11809 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
11810
df6ecfc6 118112008-01-15 Robert Millan <rmh@aybabtu.com>
11812
11813 * normal/menu.c (run_menu): Move timeout message from here ...
11814 (print_timeout): ... to here.
11815 (run_menu): Use print_timeout() once during initial draw to print
11816 the whole message, and again in every clock tick to update only
11817 the number of seconds.
11818
87ae25eb 118192008-01-15 Robert Millan <rmh@aybabtu.com>
11820
11821 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
11822 actual size of `available' from grub_ieee1275_get_property(), and
11823 restrict parsing to that bound.
11824
47bf09a4 118252008-01-15 Christian Franke <franke@computer.org>
11826
11827 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
11828 (argp_program_version): Remove variable.
11829 (argp_program_bug_address): Likewise.
11830 (options): Convert from struct argp_option to struct option.
11831 (struct arguments): Remove.
11832 (parse_opt): Remove.
11833 (usage): New function.
11834 (main): Replace struct args members by simple variables.
11835 Replace argp_parse() by getopt_long().
11836 Add switch to evaluate options.
11837 Add missing "(...)" around root_dev in prefix string.
11838
c86f1469 118392008-01-14 Robert Millan <rmh@aybabtu.com>
11840
11841 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
11842 for grub_ieee1275_exit(), in order to improve portability.
11843
e622c559 118442008-01-14 Robert Millan <rmh@aybabtu.com>
11845
11846 * util/grub.d/10_linux.in (prefix): Define.
11847 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
11848
44cb1ec8 118492008-01-13 Pavel Roskin <proski@gnu.org>
11850
11851 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
11852 grub_errno if no errors have been detected.
11853
1eb8c802 118542008-01-12 Robert Millan <rmh@aybabtu.com>
11855
11856 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
11857 (grub_util_get_dev_abstraction): New function prototype.
11858
11859 * util/getroot.c: Include `<grub/util/getroot.h>'
11860 (grub_util_get_grub_dev): Move detection of abstraction type to ...
11861 (grub_util_get_dev_abstraction): ... here (new function).
11862
11863 * util/grub-probe.c: Convert PRINT_* to an enum. Add
11864 `PRINT_ABSTRACTION'.
11865 (probe): Probe for abstraction type when requested.
11866 (main): Understand `--target=abstraction'.
11867
11868 * util/i386/efi/grub-install.in: Add abstraction module to core
11869 image when it is found to be necessary.
11870 * util/i386/pc/grub-install.in: Likewise.
11871 * util/powerpc/ieee1275/grub-install.in: Likewise.
11872
11873 * util/update-grub_lib.in (font_path): Return system path without
11874 converting to GRUB path.
11875 * util/update-grub.in: Convert system path returned by font_path()
11876 to a GRUB path. Use `grub-probe -t abstraction' to determine what
11877 abstraction module is needed for loading fonts (if any). Export
11878 that as `GRUB_PRELOAD_MODULES'.
11879 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
11880 insmod commands).
11881
52bd3de9 118822008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
11883
11884 Remove some unused code from reiserfs.
f19dbdb7 11885
52bd3de9 11886 * fs/reiserfs.c (struct grub_reiserfs_key)
11887 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
11888 (struct grub_reiserfs_node_body): Removed.
11889 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11890 Likewise.
11891 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11892 Likewise.
11893 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11894 Likewise.
11895 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
11896 Likewise.
11897 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
11898 Likewise.
11899 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
11900 Likewise.
11901 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11902 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11903 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
11904
2f80039d 119052008-01-10 Robert Millan <rmh@aybabtu.com>
11906
11907 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
11908 Determines if a file is garbage left by packaging systems, etc.
11909 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
11910 for processing /etc/grub.d scripts.
11911 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
11912 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
11913 as a condition for processing Linux images.
11914
87888032 119152008-01-10 Pavel Roskin <proski@gnu.org>
11916
11917 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
11918 to compile reiserfs.c on PowerPC.
11919
7e54fced 119202008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 11921
11922 * kern/device.c (grub_device_iterate): Do not abort device iteration
11923 when one of the devices cannot be opened.
11924 * kern/disk.c (grub_disk_open): Do not account previous failures of
11925 unrelated functions when grub_errno is checked for.
11926
5aa541e6 119272008-01-08 Robert Millan <rmh@aybabtu.com>
11928
11929 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
11930 `! grub_linux_is_bzimage', change order of address comparison to make
11931 it more intuitive, and improve "too big zImage" error message.
11932
7076340d 119332008-01-08 Robert Millan <rmh@aybabtu.com>
11934
11935 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
11936 `$(update-grub_DATA)'.
11937 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
11938 targets.
11939
9ca70333 119402008-01-07 Robert Millan <rmh@aybabtu.com>
11941
11942 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
11943 which instruction is modified by grub-setup during installation
11944 (since it wasn't obvious by only looking at this file).
11945
38ccf575 119462008-01-07 Robert Millan <rmh@aybabtu.com>
11947
11948 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
11949 listing actual TODO items.
11950
f5db4291 119512008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11952
868967cf 11953 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
11954 correctly.
11955 (grub_reiserfs_get_key_offset): Likewise.
11956 (grub_reiserfs_set_key_offset): Likewise.
11957 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 11958 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 11959
11960 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
11961 better to remove the bitfield version completely.
f19dbdb7 11962
868967cf 119632008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 11964
f5db4291 11965 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
11966 allocated from the heap, due to the fshelp implementation.
11967 (grub_reiserfs_dir): Free NODE, due to the same reason.
11968
492e6d9d 119692008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
11970
11971 Mostly from Vincent Pelletier:
f19dbdb7 11972
492e6d9d 11973 * fs/reiserfs.c: New file.
f19dbdb7 11974
492e6d9d 11975 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
11976 (reiserfs_mod_SOURCES): New variable.
11977 (reiserfs_mod_CFLAGS): Likewise.
11978 (reiserfs_mod_LDFLAGS): Likewise.
11979
11980 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
11981 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
11982 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
11983 normal/color.c.
11984
9ce3e7c1 119852008-01-06 Robert Millan <rmh@aybabtu.com>
11986
11987 * normal/color.c: Remove `<grub/env.h>'.
11988
f3b58148 119892008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
11990
11991 * include/grub/normal.h: Include <grub/env.h>.
11992
7ac3bcfa 119932008-01-05 Robert Millan <rmh@aybabtu.com>
11994
11995 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
11996 usage example with `(hd0,1)'.
fb358190 11997 Reported by Samuel Thibault.
7ac3bcfa 11998
c8ee99d7 119992008-01-05 Robert Millan <rmh@aybabtu.com>
12000
12001 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
12002 (grub_linux_boot_zimage): Rename to ...
12003 (grub_linux_boot): ... this.
12004 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
12005 (grub_linux_boot_zimage): Conditionalize zImage copy.
12006
12007 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
12008 (grub_linux_boot_bzimage): Remove prototype.
12009 (grub_linux_boot_zimage): Rename to ...
12010 (grub_linux_boot): ... this.
12011
12012 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
12013 (grub_linux_boot): Remove function.
12014
0ece25b1 120152008-01-05 Robert Millan <rmh@aybabtu.com>
12016
12017 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
12018 (grub_env_write_color_highlight): Likewise.
12019 (grub_wait_after_message): Likewise.
12020
12021 * normal/color.c: New file.
12022
12023 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12024 (normal_mod_DEPENDENCIES): Likewise.
12025
12026 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12027 (normal_mod_DEPENDENCIES): Likewise.
12028
12029 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12030 (normal_mod_DEPENDENCIES): Likewise.
12031
12032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12033 (normal_mod_DEPENDENCIES): Likewise.
12034
12035 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
12036 for waiting after a message is printed.
12037 * normal/main.c (read_config_file): Likewise.
12038 (grub_normal_init): Register grub_env_write_color_normal() and
12039 grub_env_write_color_highlight() hooks. Mark `color_normal' and
12040 `color_highlight' variables as global.
12041
12042 * normal/menu.c (grub_wait_after_message): New function.
12043 (grub_color_menu_normal): New variable. Replaces ...
12044 (GRUB_COLOR_MENU_NORMAL): ... this macro.
12045 (grub_color_menu_highlight): New variable. Replaces ...
12046 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
12047 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
12048 `GRUB_TERM_COLOR_STANDARD'.
12049 (print_message): Use `grub_setcolorstate' to reload colors. Rename
12050 `normal_code' and `highlight_code' to `old_color_normal' and
12051 `old_color_highlight', respectively.
12052 (grub_menu_init_page): Update colors when drawing the menu, based on
12053 `menu_color_normal' and `menu_color_highlight' variables.
12054 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
12055 a message is printed.
12056
182dd4e5 120572008-01-05 Robert Millan <rmh@aybabtu.com>
12058
12059 * kern/env.c (grub_env_context_open): Propagate hooks for global
12060 variables to new context.
12061
12062 * kern/main.c (grub_set_root_dev): Export `root' variable.
12063
ddf8f6ad 120642008-01-05 Robert Millan <rmh@aybabtu.com>
12065
12066 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 12067 discs unconditionally, since udev and others have options to provide
ddf8f6ad 12068 them.
12069
d8b43d9b 120702008-01-05 Robert Millan <rmh@aybabtu.com>
12071
12072 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
12073
2bff2de3 120742008-01-04 Christian Franke <franke@computer.org>
12075
12076 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
12077 of eisa_mmap.
12078
97eab917 120792008-01-03 Pavel Roskin <proski@gnu.org>
12080
12081 * kern/i386/linuxbios/init.c: Put "void" to all function
12082 declarations with no arguments.
12083 * kern/powerpc/ieee1275/init.c: Likewise.
12084 * term/i386/pc/at_keyboard.c: Likewise.
12085 * term/i386/pc/vga_text.c: Likewise.
12086 * util/grub-mkdevicemap.c: Likewise.
12087
b9416d00 120882008-01-02 Robert Millan <rmh@aybabtu.com>
12089
12090 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
12091 message when loaded image is out of bounds.
12092 (grub_multiboot_load_elf64): Likewise.
12093
92695df9 120942008-01-02 Pavel Roskin <proski@gnu.org>
12095
12096 * util/grub.d/10_linux.in: Try version without ".old" when
12097 looking for initrd. It's better to use initrd from the newer
12098 kernel of the same version than no initrd at all.
12099
d98d9cad 121002008-01-01 Robert Millan <rmh@aybabtu.com>
12101
12102 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
12103
dbfdce36 121042008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
12105
f19dbdb7 12106 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 12107 grub_video_get_active_render_target.
12108 (grub_video_adapter): Added unmap_color and get_active_render_target.
12109
f19dbdb7 12110 * video/video.c: Added grub_video_unmap_color and
dbfdce36 12111 grub_video_get_active_render_target.
12112 (grub_video_get_info): Changed method to accept NULL pointer as an
12113 argument to allow detection of active video adapter.
12114
12115 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
12116 grub_video_vbe_unmap_color_int.
12117 Added grub_video_vbe_unmap_color and
12118 grub_video_vbe_get_active_render_target.
12119 (grub_video_vbe_adapter): Added unmap_color and
12120 get_active_render_target.
12121
f19dbdb7 12122 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 12123 with grub_video_vbe_unmap_color_int.
12124
12125 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
12126 (DEFAULT_NORMAL_COLOR): Likewise.
12127 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
12128 (DEFAULT_FG_COLOR): Removed.
12129 (DEFAULT_BG_COLOR): Likewise.
12130 (DEFAULT_CURSOR_COLOR): Changed value.
12131 (grub_virtual_screen): Added standard_color_setting,
12132 normal_color_setting, highlight_color_setting and term_color.
12133 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
12134 (bitmap_width): Added.
12135 (bitmap_height): Likewise.
12136 (bitmap): Likewise.
12137 (set_term_color): Likewise.
12138 (grub_virtual_screen_setup): Changed to use new terminal coloring
12139 settings.
12140 (grub_gfxterm_init): Added init for bitmap.
12141 (grub_gfxterm_fini): Added destroy for bitmap.
12142 (redraw_screen_rect): Updated to use background bitmap and new
12143 terminal coloring.
12144 (scroll_up): Added optimization for case when there is no bitmap.
12145 (grub_gfxterm_cls): Fixed to use correct background color.
12146 (grub_virtual_screen_setcolorstate): Changed to use new terminal
12147 coloring.
12148 (grub_virtual_screen_setcolor): Likewise.
12149 (grub_virtual_screen_getcolor): Added.
12150 (grub_gfxterm_background_image_cmd): Likewise.
12151 (grub_video_term): Added setcolor and getcolor.
12152 (MOD_INIT): Added registration of background_image command.
12153 (MOD_TERM): Added unregistration for background_image command.
12154
c3c20931 121552007-12-30 Pavel Roskin <proski@gnu.org>
12156
12157 * loader/multiboot_loader.c: Fix multiboot command
12158 unregistration. Fix all typos in the word "multiboot".
12159
df266716 121602007-12-29 Pavel Roskin <proski@gnu.org>
94239199 12161
12162 * util/grub.d/10_linux.in: Refactor search for initrd. Add
12163 support for initrd names used in Fedora.
12164
fc6e896c 121652007-12-26 Bean <bean123ch@gmail.com>
12166
12167 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
12168 (cpio_mod_SOURCES): New variable.
12169 (cpio_mod_CFLAGS): Likewise.
12170 (cpio_mod_LDFLAGS): Likewise.
12171
12172 * fs/cpio.c: New file.
12173
12174 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
12175
12176 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12177
12178 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12179
12180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12181
533110ad 121822007-12-25 Robert Millan <rmh@aybabtu.com>
12183
12184 * include/grub/term.h (struct grub_term): Add `getcolor' function.
12185 (grub_getcolor): New function.
12186
12187 * kern/term.c (grub_getcolor): New function.
12188 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
12189 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
12190 (print_entry): Set normal and highlight colors to
12191 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
12192 respectively, before printing and restore them to old
12193 values afterwards.
12194 (grub_menu_init_page): Likewise. Fill an additional colored space
12195 that would otherwise be left blank.
12196
12197 * term/efi/console.c (grub_console_getcolor): New function.
12198 (struct grub_console_term.getcolor): New variable.
12199 * term/i386/pc/console.c (grub_console_getcolor): New function.
12200 (struct grub_console_term.getcolor): New variable.
12201 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
12202 (struct grub_console_term.getcolor): New variable.
12203
12204 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
12205 (struct grub_console_term.setcolor): Remove variable.
12206 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
12207 (struct grub_console_term.setcolor): Remove variable.
12208 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
12209 (struct grub_console_term.setcolor): Remove variable.
12210 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
12211 (struct grub_console_term.setcolor): Remove variable.
12212
4931827f 122132007-12-25 Robert Millan <rmh@aybabtu.com>
12214
12215 * configure.ac: Search for possible unifont.hex locations, and
12216 define UNIFONT_HEX if found.
12217
12218 * Makefile.in (UNIFONT_HEX): Define variable.
12219 (DATA): Rename to ...
12220 (PKGLIB): ... this. Update all users.
12221 (PKGDATA): New variable.
12222 (pkgdata_IMAGES): Rename to ...
12223 (pkglib_IMAGES): ... this. Update all users.
12224 (pkgdata_MODULES): Rename to ...
12225 (pkglib_MODULES): ... this. Update all users.
12226 (pkgdata_PROGRAMS): Rename to ...
12227 (pkglib_PROGRAMS): ... this. Update all users.
12228 (pkgdata_DATA): Rename to ...
12229 (pkglib_DATA): ... this. Update all users.
12230 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
12231 (unicode.pff, ascii.pff): New rules.
12232 (all-local): Add `$(PKGDATA)' dependency.
12233 (install-local): Process `$(PKGDATA)'.
12234
12235 * util/update-grub_lib.in (font_path): Search for *.pff files in
12236 a few more locations, including `${pkgdata}'.
12237
57e57e31 122382007-12-23 Robert Millan <rmh@aybabtu.com>
12239
12240 Patch from Bean <bean123ch@gmail.com>:
12241 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
12242 `size'.
12243
4bc72aa9 122442007-12-21 Bean <bean123ch@gmail.com>
12245
12246 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
12247 (ntfscomp_mod_SOURCES): New variable.
12248 (ntfscomp_mod_CFLAGS): Likewise.
12249 (ntfscomp_mod_LDFLAGS): Likewise.
12250
12251 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
12252 (grub_probe_SOURCES): Likewise.
12253 (grub_emu_SOURCES): Likewise.
12254
12255 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12256 (grub_emu_SOURCES): Likewise.
12257
12258 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12259 (grub_emu_SOURCES): Likewise.
12260
12261 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12262 (grub_emu_SOURCES): Likewise.
12263
12264 * fs/ntfs.c (grub_ntfscomp_func): New variable.
12265 (read_run_list): Renamed to grub_ntfs_read_run_list.
12266 (decomp_nextvcn): Moved to ntfscomp.c.
12267 (decomp_getch): Likewise.
12268 (decomp_get16): Likewise.
12269 (decomp_block): Likewise.
12270 (read_block): Likewise.
12271 (read_data): Partially moved to ntfscomp.c.
12272 (fixup): Change unsigned to grub_uint16_t.
12273 (read_mft): Change unsigned long to grub_uint32_t.
12274 (read_attr): Likewise.
12275 (read_data): Likewise.
12276 (read_run_data): Likewise.
12277 (read_run_list): Likewise.
12278 (read_mft): Likewise.
12279
12280 * fs/ntfscomp.c: New file.
12281
12282 * include/grub/ntfs.h: New file.
12283
af680a87 122842007-12-16 Robert Millan <rmh@aybabtu.com>
12285
12286 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
12287 IDE disk check, since Linux is known to support 20 IDE disks.
12288 Reported by Colin Watson.
12289
84be7599 122902007-12-15 Bean <bean123ch@gmail.com>
12291
12292 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
12293 (lnxboot_img_SOURCES): New variable.
12294 (lnxboot_img_ASFLAGS): Likewise.
12295 (lnxboot_img_LDFLAGS): Likewise.
12296
12297 * boot/i386/pc/lnxboot.S: New file.
12298
6af9db01 122992007-11-24 Pavel Roskin <proski@gnu.org>
12300
12301 * configure.ac: Test if '--build-id=none' is supported by the
12302 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
12303 objcopy to generate incorrect binary files (binutils
12304 2.17.50.0.18-1 as shipped by Fedora 8).
12305 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
12306 linking, so that build ID doesn't break the test.
12307
7361cfe6 123082007-11-24 Pavel Roskin <proski@gnu.org>
12309
12310 * include/grub/i386/time.h: use "void" in the argument list
12311 of grub_cpu_idle().
12312 * include/grub/powerpc/time.h: Likewise.
12313 * include/grub/sparc64/time.h: Likewise.
12314
1593e10c 123152007-11-18 Christian Franke <franke@computer.org>
12316
12317 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
12318 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
12319 This fixes the problem that function keys did not work in grub-emu.
12320
3b8db1a8 123212007-11-18 Christian Franke <franke@computer.org>
12322
12323 * disk/host.c (grub_host_open): Remove attribute unused from
12324 name parameter. Add check for "host". This fixes the problem
12325 that grub-emu does not find partitions.
12326
2e29408d 123272007-11-18 Christian Franke <franke@computer.org>
12328
12329 * util/hostfs.c (is_dir): New function.
12330 (grub_hostfs_dir): Handle missing dirent.d_type case.
12331 (grub_hostfs_read): Add missing fseek().
12332 (grub_hostfs_label): Clear label pointer. This fixes a crash
12333 of grub-emu on "ls (host)".
12334
398cd047 123352007-11-18 Christian Franke <franke@computer.org>
12336
12337 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
12338 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
12339 to 64 bit boundary by default.
12340
c405c391 123412007-11-18 Bean <bean123ch@gmail.com>
12342
12343 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
12344 (hexdump_mod_SOURCES): New variable.
12345 (hexdump_mod_CFLAGS): Likewise.
12346 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 12347
c405c391 12348 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12349
12350 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12351
12352 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12353
12354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
12355
12356 * include/grub/hexdump.h: New file.
12357
12358 * commands/hexdump.c: New file.
12359
5cced7fd 123602007-11-10 Robert Millan <rmh@aybabtu.com>
12361
12362 * commands/i386/pc/play.c (beep_off): Switch order of arguments
12363 in grub_outb() calls.
12364 (beep_on): Likewise.
12365
8b714eb0 123662007-11-10 Christian Franke <franke@computer.org>
12367
12368 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
12369 (grub_menu_run): Likewise.
12370
ce0f1839 123712007-11-10 Robert Millan <rmh@aybabtu.com>
12372
12373 * include/grub/i386/efi/machine.h: New file.
12374 * include/grub/i386/linuxbios/machine.h: Likewise.
12375 * include/grub/i386/pc/machine.h: Likewise.
12376 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12377 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12378
12379 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
12380 (serial_hw_io_addr): New variable.
12381 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
12382 instead of `(unsigned short *) 0x400'.
12383
270c237d 123842007-11-10 Bean <bean123ch@gmail.com>
12385
12386 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
12387
a87783bf 123882007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12389
12390 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
12391 (vga_mod_SOURCES): Added.
12392 (vga_mod_CFLAGS): Likewise.
12393 (vga_mod_LDFLAGS): Likewise.
12394
12395 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
12396 grub_outb() calls.
12397 (set_map_mask): Likewise.
12398 (set_read_map): Likewise.
12399 (set_read_address): Likewise.
12400 (vga_font): Removed variable.
12401 (get_vga_glyph): Removed function.
12402 (invalidate_char): Likewise.
12403 (write_char): Changed to use grub_font_get_glyph() for font
12404 information.
12405 (grub_vga_putchar): Likewise.
12406 (grub_vga_getcharwidth): Likewise.
12407
6433b448 124082007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
12409
12410 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
12411 flags.
12412 (pxeboot_img_LDFLAGS): Likewise.
12413 (diskboot_img_LDFLAGS): Likewise.
12414 (kernel_img_LDFLAGS): Likewise.
12415
49178511 124162007-11-06 Robert Millan <rmh@aybabtu.com>
12417
12418 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
12419 in grub_outb() calls.
12420 (serial_hw_init): Likewise.
12421
53b052de 124222007-11-05 Robert Millan <rmh@aybabtu.com>
12423
12424 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
12425 spaces. Skip non-regular files.
12426
5ab33bba 124272007-11-05 Robert Millan <rmh@aybabtu.com>
12428
12429 * kern/disk.c (grub_disk_firmware_fini)
12430 (grub_disk_firmware_is_tainted): New variables.
12431
12432 * include/grub/disk.h (grub_disk_firmware_fini)
12433 (grub_disk_firmware_is_tainted): Likewise.
12434
12435 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
12436 (grub_disk_biosdisk_fini): ... to here.
12437 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
12438 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
12439 is set. Register grub_disk_biosdisk_fini() in
12440 `grub_disk_firmware_fini'.
12441
12442 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
12443 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
12444 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
12445 to finish existing firmware disk interface.
12446
12447 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
12448 (ata_mod_SOURCES): New variable.
12449 (ata_mod_CFLAGS): Likewise.
12450 (ata_mod_LDFLAGS): Likewise.
12451
0149ab7c 124522007-11-05 Robert Millan <rmh@aybabtu.com>
12453
12454 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
12455 (grub_ata_wait): Reimplement using grub_millisleep().
12456
12457 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
12458 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
12459
be7ac41e 124602007-11-03 Marco Gerards <marco@gnu.org>
12461
12462 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
12463 (CRTC_ADDR_PORT): New macro.
12464 (CRTC_DATA_PORT): Likewise.
12465 (CRTC_CURSOR): Likewise.
12466 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12467 (CRTC_CURSOR_ADDR_LOW): Likewise.
12468 (update_cursor): New function.
12469 (grub_console_real_putchar): Call `update_cursor'.
12470 (grub_console_gotoxy): Likewise.
12471 (grub_console_cls): Set the default color when clearing the
12472 screen.
12473 (grub_console_setcursor): Implemented.
12474
bb06ab2e 124752007-11-03 Marco Gerards <marco@gnu.org>
12476
12477 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
12478 become activate.
12479 (grub_ata_pio_write): Likewise.
12480
12481 (grub_atapi_identify): Wait after issuing an ATA command.
12482 (grub_atapi_packet): Likewise.
12483 (grub_ata_identify): Likewise.
12484 (grub_ata_readwrite): Likewise.
12485
cf8f780b 124862007-11-03 Marco Gerards <marco@gnu.org>
12487
12488 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
12489 (grub_ata_pio_write): Likewise.
12490 (grub_ata_readwrite): Use `grub_error', instead of
12491 returning `grub_errno'.
12492
ed649e54 124932007-11-03 Marco Gerards <marco@gnu.org>
12494
12495 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
12496 grub_ata_pio_write once for every single sector, instead of for
12497 multiple sectors.
12498
ca25d8f0 124992007-10-31 Robert Millan <rmh@aybabtu.com>
12500
12501 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
12502
12503 * conf/i386-linuxbios.rmk: New file.
12504
12505 * kern/i386/pc/hardware.c: Likewise.
12506 * term/i386/pc/at_keyboard.c: Likewise.
12507 * term/i386/pc/vga_text.c: Likewise.
12508
12509 * include/grub/i386/linuxbios/boot.h: Likewise.
12510 * include/grub/i386/linuxbios/console.h: Likewise.
12511 * include/grub/i386/linuxbios/init.h: Likewise.
12512 * include/grub/i386/linuxbios/kernel.h: Likewise.
12513 * include/grub/i386/linuxbios/loader.h: Likewise.
12514 * include/grub/i386/linuxbios/memory.h: Likewise.
12515 * include/grub/i386/linuxbios/serial.h: Likewise.
12516 * include/grub/i386/linuxbios/time.h: Likewise.
12517
12518 * kern/i386/linuxbios/init.c: Likewise.
12519 * kern/i386/linuxbios/startup.S: Likewise.
12520 * kern/i386/linuxbios/table.c: Likewise.
12521
e911ecc1 125222007-10-31 Marco Gerards <marco@gnu.org>
12523
12524 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
12525 (ata_mod_SOURCES): New variable.
12526 (ata_mod_CFLAGS): Likewise.
12527 (ata_mod_LDFLAGS): Likewise.
12528
12529 * disk/ata.c: New file.
12530
12531 * include/grub/disk.h (grub_disk_dev_id): Add
12532 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 12533
7f66d0e0 125342007-10-31 Robert Millan <rmh@aybabtu.com>
12535
12536 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
12537 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
12538
12539 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
12540 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
12541
12542 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
12543 `<grub/types.h>'.
12544
12545 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
12546
5cd7dd46 125472007-10-27 Robert Millan <rmh@aybabtu.com>
12548
3236ca65 12549 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 12550
2ebfc90f 125512007-10-22 Robert Millan <rmh@aybabtu.com>
12552
12553 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
12554 `"../realmode.S"'.
12555 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
12556
73fcb0f3 125572007-10-22 Robert Millan <rmh@aybabtu.com>
12558
12559 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
12560 (pkgdata_MODULES): Add `biosdisk.mod'.
12561 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
12562 variables.
12563
12564 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
12565 (grub_biosdisk_init): Replace with ...
12566 (GRUB_MOD_INIT(biosdisk)): ... this.
12567 (grub_biosdisk_fini): Replace with ...
12568 (GRUB_MOD_FINI(biosdisk)): ... this.
12569
12570 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
12571 (grub_machine_init): Remove call to grub_biosdisk_init().
12572 (grub_machine_fini): Remove call to grub_machine_fini().
12573
12574 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
12575
3381d274 125762007-10-22 Robert Millan <rmh@aybabtu.com>
12577
12578 * include/grub/time.h: New file.
12579 * include/grub/i386/time.h: Likewise.
12580 * include/grub/powerpc/time.h: Likewise.
12581 * include/grub/sparc64/time.h: Likewise.
12582
12583 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
12584 instances to ...
12585 (KERNEL_MACHINE_TIME_HEADER): ... this.
12586 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12587 instances to ...
12588 (KERNEL_MACHINE_TIME_HEADER): ... this.
12589 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
12590 instances to ...
12591 (KERNEL_MACHINE_TIME_HEADER): ... this.
12592
12593 * kern/i386/efi/init.c: Include `<grub/time.h>'.
12594 (grub_millisleep): New function.
12595 * kern/i386/pc/init.c: Include `<grub/time.h>'.
12596 (grub_millisleep): New function.
12597 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
12598 Remove `grub/machine/time.h' include.
12599 (grub_millisleep): New function.
12600 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
12601 Remove `grub/machine/time.h' include.
12602 (grub_millisleep): New function.
12603
12604 * include/grub/misc.h (grub_div_roundup): New function.
12605
12606 * kern/misc.c: Include `<grub/time.h>'.
12607 (grub_millisleep_generic): New function.
12608
12609 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
12610 Add `time.h'.
12611 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
12612 Add `time.h'.
12613 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
12614 `machine/time.h'. Add `time.h'.
12615 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
12616
a39a0312 126172007-10-21 Robert Millan <rmh@aybabtu.com>
12618
12619 * include/grub/misc.h (grub_max): New function.
12620
2aad70e2 126212007-10-21 Robert Millan <rmh@aybabtu.com>
12622
12623 * util/misc.c (grub_util_info): Call fflush() before returning.
12624
54b71c4b 126252007-10-20 Robert Millan <rmh@aybabtu.com>
12626
12627 * genmk.rb (Image): Copy `extra_flags' from here ...
12628 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
12629
12630 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
12631 to `argc' and `args' arguments.
12632
a979f513 126332007-10-17 Robert Millan <rmh@aybabtu.com>
12634
12635 * kern/i386/loader.S: New file.
12636
12637 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
12638 * kern/i386/loader.S (grub_linux_prot_size)... to here.
12639 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
12640 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
12641 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
12642 * kern/i386/loader.S (grub_linux_real_addr)... to here.
12643 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
12644 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
12645 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
12646 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
12647 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
12648 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
12649 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
12650 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
12651
12652 * kern/i386/realmode.S: New file.
12653
12654 * kern/i386/pc/startup.S (protstack): Moved from here ...
12655 * kern/i386/realmode.S (protstack)... to here.
12656 * kern/i386/pc/startup.S (gdt): Moved from here ...
12657 * kern/i386/realmode.S (gdt)... to here.
12658 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
12659 * kern/i386/realmode.S (prot_to_real)... to here.
12660
12661 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
12662 `kern/i386/realmode.S'.
12663
825fc8fd 126642007-10-17 Robert Millan <rmh@aybabtu.com>
12665
12666 * include/grub/i386/loader.h: New file.
12667
12668 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
12669 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12670 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12671 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12672 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
12673 * include/grub/i386/loader.h (grub_linux_prot_size)
12674 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
12675 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
12676 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
12677 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
12678
12679 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
12680
e179b2f4 126812007-10-15 Robert Millan <rmh@aybabtu.com>
12682
12683 * normal/misc.c (grub_normal_print_device_info): Do not probe for
12684 filesystem when dev->disk is unset.
12685 Do probe for filesystem even when dev->disk->has_partitions is set.
12686 In case a filesystem is found, always report it.
12687 In case it isn't, if dev->disk->has_partitions is set, report that
12688 a partition table was found instead of reporting that no filesystem
12689 could be identified.
12690
5db82af6 126912007-10-12 Robert Millan <rmh@aybabtu.com>
12692
12693 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
12694 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
12695
68f6ac74 12696 * include/grub/types.h (grub_host_to_target16): New macro.
12697 (grub_host_to_target32): Likewise.
12698 (grub_host_to_target64): Likewise.
12699 (grub_target_to_host16): Likewise.
12700 (grub_target_to_host32): Likewise.
12701 (grub_target_to_host64): Likewise.
5db82af6 12702
12703 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
12704 Renamed from to ...
12705 (GRUB_MOD_ALIGN): ...this. Update all users.
12706
68f6ac74 12707 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
12708 grub_host_to_target32.
12709 Replace grub_be_to_cpu32 with grub_target_to_host32.
12710 (load_modules): Likewise.
12711 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
12712 Replace grub_be_to_cpu32 with grub_target_to_host32.
12713 Replace grub_cpu_to_be16 with grub_host_to_target16.
12714 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 12715
3cf497cc 127162007-10-12 Robert Millan <rmh@aybabtu.com>
12717
12718 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
12719 * util/elf/grub-mkimage.c: ... here.
12720
12721 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
12722 `util/powerpc/ieee1275/grub-mkimage.c'.
12723
c8cc3692 127242007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 12725
c8cc3692 12726 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
12727 and make it easier to figure out.
12728 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
12729 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
12730 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
12731 leave us with less than HEAP_MIN_SIZE total heap.
12732 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 12733
5c58b791 127342007-10-03 Robert Millan <rmh@aybabtu.com>
12735
12736 * include/grub/i386/io.h: New file.
12737 * commands/i386/pc/play.c (inb): Removed.
12738 (outb): Removed.
12739 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12740 with grub_outb().
afcd2ef8 12741 * term/i386/pc/serial.c (inb): Removed.
12742 (outb): Removed.
12743 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12744 with grub_outb().
12745 * term/i386/pc/vga.c (inb): Removed.
12746 (outb): Removed.
12747 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
12748 with grub_outb().
5c58b791 12749
1a477ed6 127502007-10-02 Robert Millan <rmh@aybabtu.com>
12751
12752 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
12753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12754 Reported by Marcin Kurek.
12755
6b5d80fa 127562007-09-07 Robert Millan <rmh@aybabtu.com>
12757
12758 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
12759 SmartFirmware version updates (as released by Sven Luther), and avoid
12760 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
12761 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
12762 known broken.
12763
5618afbf 127642007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12765
12766 From Hitoshi Ozeki:
12767 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
12768 when merging two regions.
12769
6139dcd9 127702007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
12771
508e39ee 12772 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
12773 * normal/completion.c (grub_normal_do_completion): Likewise.
12774 Reported by Hitoshi Ozeki.
12775
127762007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 12777
6139dcd9 12778 Do not use devices at boot in chainloading.
f19dbdb7 12779
6139dcd9 12780 * loader/i386/pc/chainloader.c (boot_drive): New variable.
12781 (boot_part_addr): Likewise.
12782 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
12783 with BOOT_DRIVE and BOOT_PART_ADDR.
12784 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
12785 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
12786
38da6516 127872007-08-29 Robert Millan <rmh@aybabtu.com>
12788
12789 Patch from Simon Peter <dn.tlp@gmx.net>:
12790 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
12791 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
12792 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
12793 util/i386/pc/grub-setup.c_DEPENDENCIES.
12794 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
12795 util/grub-probe.c_DEPENDENCIES.
12796 * conf/powerpc-ieee1275.rmk: Likewise.
12797
29d0928c 127982007-08-28 Robert Millan <rmh@aybabtu.com>
12799
12800 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
12801 to tell grub-mkdevicemap how to name devices.
12802 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
12803 feature).
12804
12805 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
12806 util/i386/get_disk_name.c.
12807 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
12808 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
12809 util/ieee1275/get_disk_name.c.
12810
12811 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
12812
12813 * DISTLIST: Add util/i386/get_disk_name.c and
12814 util/ieee1275/get_disk_name.c.
12815
12816 * util/grub-mkdevicemap.c: Replace device naming logic with
12817 grub_util_get_disk_name() calls.
12818
5a0d3cca 128192007-08-20 Robert Millan <rmh@aybabtu.com>
12820
12821 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
12822 (so that it works for both plural and singular quantities).
12823
8b72db2f 128242007-08-05 Robert Millan <rmh@aybabtu.com>
12825
12826 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
12827 so that [xz] isn't taken into account when determining order.
12828
352466bf 128292007-08-02 Marco Gerards <marco@gnu.org>
12830
12831 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
12832 `include/multiboot2.h', `include/grub/elfload.h',
12833 `include/multiboot.h', `include/grub/multiboot.h',
12834 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
12835 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
12836 `kern/elf.c', `loader/multiboot_loader.c',
12837 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
12838 `loader/i386/pc/multiboot2.c',
12839 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
12840 `util/i386/pc/grub-mkrescue.in'. Remove
12841 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
12842 `include/grub/i386/pc/util/biosdisk.h' and
12843 `include/grub/powerpc/ieee1275/multiboot.h'.
12844
8f096014 128452007-08-02 Bean <bean123ch@gmail.com>
12846
12847 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
12848 (ntfs_mod_SOURCES): New variable.
12849 (ntfs_mod_CFLAGS): Likewise.
12850 (ntfs_mod_LDFLAGS): Likewise.
12851
12852 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
12853 (grub_probe_SOURCES): Likewise.
12854 (grub_emu_SOURCES): Likewise.
12855
12856 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12857 (grub_emu_SOURCES): Likewise.
12858
12859 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
12860 (grub_emu_SOURCES): Likewise.
f19dbdb7 12861
8f096014 12862 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
12863
12864 * fs/ntfs.c: New file.
12865
9959f7db 128662007-08-02 Bean <bean123ch@gmail.com>
12867
12868 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
12869
12870 * file.h (grub_file): Likewise.
12871
12872 * fshelp.h (grub_fshelp_read_file): Likewise.
12873
12874 * util/i386/pc/grub-setup.c (setup): Likewise.
12875 (save_first_sector): Likewise.
12876 (save_blocklists): Likewise.
f19dbdb7 12877
9959f7db 12878 * fs/affs.c (grub_affs_read_file): Likewise.
12879
12880 * fs/ext2.c (grub_ext2_read_file): Likewise.
12881
12882 * fs/fat.c (grub_fat_read_data): Likewise.
12883
12884 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
12885
12886 * fs/hfs.c (grub_hfs_read_file): Likewise.
12887
12888 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
12889
12890 * fs/jfs.c (grub_jfs_read_file): Likewise.
12891
12892 * fs/minix.c (grub_minix_read_file): Likewise.
12893
12894 * fs/sfs.c (grub_sfs_read_file): Likewise.
12895
12896 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 12897
9959f7db 12898 * fs/xfs.c (grub_xfs_read_file): Likewise.
12899
12900 * command/blocklist.c (read_blocklist): Likewise.
12901 (print_blocklist): Likewise.
12902
0a203f83 129032007-08-02 Marco Gerards <marco@gnu.org>
12904
12905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
12906 `util/hostfs.c'.
12907
12908 * disk/host.c: New file.
12909
12910 * util/hostfs.c: Likewise.
12911
12912 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
12913 return `GRUB_ERR_BAD_FS'.
12914 * fs/sfs.c (grub_sfs_mount): Likewise.
12915 * fs/xfs.c (grub_xfs_mount): Likewise.
12916
12917 * include/grub/disk.h (enum grub_disk_dev_id): Add
12918 `GRUB_DISK_DEVICE_HOST_ID'.
12919
12920 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
12921
e5dfe777 129222007-07-24 Jerone Young <jerone@gmail.com>
12923
f19dbdb7 12924 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 12925 modules for compilation.
12926 * conf/powerpc-ieee1275.rmk: Likewise.
12927
12928 * include/multiboot.h: Move multiboot definitions to one file. Rename
12929 many definitions to not get grub specific.
12930 * include/multiboot2.h: Create header with multiboot 2 definitions.
12931 * include/grub/multiboot.h: Header for grub specific function
12932 prototypes and definitions.
12933 * include/grub/multiboot2.h: Likewise.
12934 * include/grub/multiboot_loader.h: Likewise.
12935 * include/grub/i386/pc/multiboot.h: Removed.
12936 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
12937
12938 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
12939 and 2 to allow for one multiboot and module commands.
12940 * loader/multiboot2.c: Add multiboot2 functionality.
12941 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
12942 and definition names.
12943 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
12944 2 functions.
12945 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
12946 ieee1275 specific multiboot2 code.
12947
12948 * kern/i386/pc/startup.S: Change headers and definition names for
12949 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
12950
daf0f0ba 129512007-07-22 Robert Millan <rmh@aybabtu.com>
12952
12953 * geninitheader.sh: Process file specified in first parameter rather
12954 than hardcoding grub_modules_init.lst.
fe6b695a 12955 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 12956 than hardcoding grub_modules_init.h.
12957
12958 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
12959 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
12960 grub_probe_init.[ch] and grub_setup_init.[ch].
12961
12962 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
12963 grub_modules_init.h with grub_emu_init.h.
12964 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
12965 grub_probe_init.[ch] files.
12966 * conf/i386-efi.rmk: Likewise.
12967 * conf/i386-pc.rmk: Likewise.
12968 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
12969 grub_setup_init.[ch] files.
12970
12971 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
12972 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
12973 to initialize modules rather than a list of hardcoded functions.
12974 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
12975 grub_init_all() to initialize modules rather than a list of hardcoded
12976 functions.
12977
54cdc1cc 129782007-07-22 Robert Millan <rmh@aybabtu.com>
12979
12980 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12981 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
12982
ad0686cc 129832007-07-22 Robert Millan <rmh@aybabtu.com>
12984
12985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12986 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
12987 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
12988 flag when running on SmartFirmware.
12989 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
12990 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
12991 was set.
12992
12993 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12994 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
12995 rather than decreasing it.
12996
12997 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
12998 there's not enough space to do it, fail in the same way as when it
12999 can't be done because there are no partitions.
13000
13001 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
13002 when nvsetenv failed.
13003
969c02ec 130042007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
13005
13006 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
13007 because this rule is automatically generated.
13008 (grub-mkrescue): Removed for the same reason as above.
13009
5a79f472 130102007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
13011
13012 Migrate to GNU General Public License Version 3.
f19dbdb7 13013
5a79f472 13014 * COPYING: Replaced with the plain text version of GPLv3.
13015
13016 * config.guess: Updated from gnulib.
13017 * config.sub: Likewise.
13018
13019 * geninit.sh: Output a GPLv3 copyright notice.
13020 * geninitheader.sh: Likewise.
13021 * genmodsrc.sh: Likewise.
13022 * gensymlist.sh.in: Likewise.
13023
13024 * boot/i386/pc/boot.S: Upgraded to GPLv3.
13025 * boot/i386/pc/diskboot.S: Likewise.
13026 * boot/i386/pc/pxeboot.S: Likewise.
13027 * commands/blocklist.c: Likewise.
13028 * commands/boot.c: Likewise.
13029 * commands/cat.c: Likewise.
13030 * commands/cmp.c: Likewise.
13031 * commands/configfile.c: Likewise.
13032 * commands/echo.c: Likewise.
13033 * commands/help.c: Likewise.
13034 * commands/ls.c: Likewise.
13035 * commands/search.c: Likewise.
13036 * commands/terminal.c: Likewise.
13037 * commands/test.c: Likewise.
13038 * commands/videotest.c: Likewise.
13039 * commands/i386/cpuid.c: Likewise.
13040 * commands/i386/pc/halt.c: Likewise.
13041 * commands/i386/pc/play.c: Likewise.
13042 * commands/i386/pc/reboot.c: Likewise.
13043 * commands/i386/pc/vbeinfo.c: Likewise.
13044 * commands/i386/pc/vbetest.c: Likewise.
13045 * commands/ieee1275/halt.c: Likewise.
13046 * commands/ieee1275/reboot.c: Likewise.
13047 * commands/ieee1275/suspend.c: Likewise.
13048 * disk/loopback.c: Likewise.
13049 * disk/lvm.c: Likewise.
13050 * disk/raid.c: Likewise.
13051 * disk/efi/efidisk.c: Likewise.
13052 * disk/i386/pc/biosdisk.c: Likewise.
13053 * disk/ieee1275/ofdisk.c: Likewise.
13054 * font/manager.c: Likewise.
13055 * fs/affs.c: Likewise.
13056 * fs/ext2.c: Likewise.
13057 * fs/fat.c: Likewise.
13058 * fs/fshelp.c: Likewise.
13059 * fs/hfs.c: Likewise.
13060 * fs/hfsplus.c: Likewise.
13061 * fs/iso9660.c: Likewise.
13062 * fs/jfs.c: Likewise.
13063 * fs/minix.c: Likewise.
13064 * fs/sfs.c: Likewise.
13065 * fs/ufs.c: Likewise.
13066 * fs/xfs.c: Likewise.
13067 * hello/hello.c: Likewise.
13068 * include/grub/acorn_filecore.h: Likewise.
13069 * include/grub/arg.h: Likewise.
13070 * include/grub/bitmap.h: Likewise.
13071 * include/grub/boot.h: Likewise.
13072 * include/grub/cache.h: Likewise.
13073 * include/grub/device.h: Likewise.
13074 * include/grub/disk.h: Likewise.
13075 * include/grub/dl.h: Likewise.
13076 * include/grub/elfload.h: Likewise.
13077 * include/grub/env.h: Likewise.
13078 * include/grub/err.h: Likewise.
13079 * include/grub/file.h: Likewise.
13080 * include/grub/font.h: Likewise.
13081 * include/grub/fs.h: Likewise.
13082 * include/grub/fshelp.h: Likewise.
13083 * include/grub/gzio.h: Likewise.
13084 * include/grub/hfs.h: Likewise.
13085 * include/grub/kernel.h: Likewise.
13086 * include/grub/loader.h: Likewise.
13087 * include/grub/lvm.h: Likewise.
13088 * include/grub/misc.h: Likewise.
13089 * include/grub/mm.h: Likewise.
13090 * include/grub/net.h: Likewise.
13091 * include/grub/normal.h: Likewise.
13092 * include/grub/parser.h: Likewise.
13093 * include/grub/partition.h: Likewise.
13094 * include/grub/pc_partition.h: Likewise.
13095 * include/grub/raid.h: Likewise.
13096 * include/grub/rescue.h: Likewise.
13097 * include/grub/script.h: Likewise.
13098 * include/grub/setjmp.h: Likewise.
13099 * include/grub/symbol.h: Likewise.
13100 * include/grub/term.h: Likewise.
13101 * include/grub/terminfo.h: Likewise.
13102 * include/grub/tparm.h: Likewise.
13103 * include/grub/types.h: Likewise.
13104 * include/grub/video.h: Likewise.
13105 * include/grub/efi/api.h: Likewise.
13106 * include/grub/efi/chainloader.h: Likewise.
13107 * include/grub/efi/console.h: Likewise.
13108 * include/grub/efi/console_control.h: Likewise.
13109 * include/grub/efi/disk.h: Likewise.
13110 * include/grub/efi/efi.h: Likewise.
13111 * include/grub/efi/pe32.h: Likewise.
13112 * include/grub/efi/time.h: Likewise.
13113 * include/grub/i386/linux.h: Likewise.
13114 * include/grub/i386/setjmp.h: Likewise.
13115 * include/grub/i386/types.h: Likewise.
13116 * include/grub/i386/efi/kernel.h: Likewise.
13117 * include/grub/i386/efi/loader.h: Likewise.
13118 * include/grub/i386/efi/time.h: Likewise.
13119 * include/grub/i386/pc/biosdisk.h: Likewise.
13120 * include/grub/i386/pc/boot.h: Likewise.
13121 * include/grub/i386/pc/chainloader.h: Likewise.
13122 * include/grub/i386/pc/console.h: Likewise.
13123 * include/grub/i386/pc/init.h: Likewise.
13124 * include/grub/i386/pc/kernel.h: Likewise.
13125 * include/grub/i386/pc/loader.h: Likewise.
13126 * include/grub/i386/pc/memory.h: Likewise.
13127 * include/grub/i386/pc/multiboot.h: Likewise.
13128 * include/grub/i386/pc/serial.h: Likewise.
13129 * include/grub/i386/pc/time.h: Likewise.
13130 * include/grub/i386/pc/vbe.h: Likewise.
13131 * include/grub/i386/pc/vbeblit.h: Likewise.
13132 * include/grub/i386/pc/vbefill.h: Likewise.
13133 * include/grub/i386/pc/vbeutil.h: Likewise.
13134 * include/grub/i386/pc/vga.h: Likewise.
13135 * include/grub/ieee1275/ieee1275.h: Likewise.
13136 * include/grub/ieee1275/ofdisk.h: Likewise.
13137 * include/grub/powerpc/libgcc.h: Likewise.
13138 * include/grub/powerpc/setjmp.h: Likewise.
13139 * include/grub/powerpc/types.h: Likewise.
13140 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13141 * include/grub/powerpc/ieee1275/console.h: Likewise.
13142 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
13143 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13144 * include/grub/powerpc/ieee1275/loader.h: Likewise.
13145 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
13146 * include/grub/powerpc/ieee1275/time.h: Likewise.
13147 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
13148 * include/grub/sparc64/libgcc.h: Likewise.
13149 * include/grub/sparc64/setjmp.h: Likewise.
13150 * include/grub/sparc64/types.h: Likewise.
13151 * include/grub/sparc64/ieee1275/console.h: Likewise.
13152 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13153 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13154 * include/grub/sparc64/ieee1275/time.h: Likewise.
13155 * include/grub/util/biosdisk.h: Likewise.
13156 * include/grub/util/getroot.h: Likewise.
13157 * include/grub/util/lvm.h: Likewise.
13158 * include/grub/util/misc.h: Likewise.
13159 * include/grub/util/raid.h: Likewise.
13160 * include/grub/util/resolve.h: Likewise.
13161 * io/gzio.c: Likewise.
13162 * kern/device.c: Likewise.
13163 * kern/disk.c: Likewise.
13164 * kern/dl.c: Likewise.
13165 * kern/elf.c: Likewise.
13166 * kern/env.c: Likewise.
13167 * kern/err.c: Likewise.
13168 * kern/file.c: Likewise.
13169 * kern/fs.c: Likewise.
13170 * kern/loader.c: Likewise.
13171 * kern/main.c: Likewise.
13172 * kern/misc.c: Likewise.
13173 * kern/mm.c: Likewise.
13174 * kern/parser.c: Likewise.
13175 * kern/partition.c: Likewise.
13176 * kern/rescue.c: Likewise.
13177 * kern/term.c: Likewise.
13178 * kern/efi/efi.c: Likewise.
13179 * kern/efi/init.c: Likewise.
13180 * kern/efi/mm.c: Likewise.
13181 * kern/i386/dl.c: Likewise.
13182 * kern/i386/efi/init.c: Likewise.
13183 * kern/i386/efi/startup.S: Likewise.
13184 * kern/i386/pc/init.c: Likewise.
13185 * kern/i386/pc/lzo1x.S: Likewise.
13186 * kern/i386/pc/startup.S: Likewise.
13187 * kern/ieee1275/ieee1275.c: Likewise.
13188 * kern/powerpc/cache.S: Likewise.
13189 * kern/powerpc/dl.c: Likewise.
13190 * kern/powerpc/ieee1275/cmain.c: Likewise.
13191 * kern/powerpc/ieee1275/crt0.S: Likewise.
13192 * kern/powerpc/ieee1275/init.c: Likewise.
13193 * kern/powerpc/ieee1275/openfw.c: Likewise.
13194 * kern/sparc64/cache.S: Likewise.
13195 * kern/sparc64/dl.c: Likewise.
13196 * kern/sparc64/ieee1275/init.c: Likewise.
13197 * kern/sparc64/ieee1275/openfw.c: Likewise.
13198 * loader/efi/chainloader.c: Likewise.
13199 * loader/efi/chainloader_normal.c: Likewise.
13200 * loader/i386/efi/linux.c: Likewise.
13201 * loader/i386/efi/linux_normal.c: Likewise.
13202 * loader/i386/pc/chainloader.c: Likewise.
13203 * loader/i386/pc/chainloader_normal.c: Likewise.
13204 * loader/i386/pc/linux.c: Likewise.
13205 * loader/i386/pc/linux_normal.c: Likewise.
13206 * loader/i386/pc/multiboot.c: Likewise.
13207 * loader/i386/pc/multiboot_normal.c: Likewise.
13208 * loader/powerpc/ieee1275/linux.c: Likewise.
13209 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13210 * normal/arg.c: Likewise.
13211 * normal/cmdline.c: Likewise.
13212 * normal/command.c: Likewise.
13213 * normal/completion.c: Likewise.
13214 * normal/execute.c: Likewise.
13215 * normal/function.c: Likewise.
13216 * normal/lexer.c: Likewise.
13217 * normal/main.c: Likewise.
13218 * normal/menu.c: Likewise.
13219 * normal/menu_entry.c: Likewise.
13220 * normal/misc.c: Likewise.
13221 * normal/parser.y: Likewise.
13222 * normal/script.c: Likewise.
13223 * normal/i386/setjmp.S: Likewise.
13224 * normal/powerpc/setjmp.S: Likewise.
13225 * normal/sparc64/setjmp.S: Likewise.
13226 * partmap/acorn.c: Likewise.
13227 * partmap/amiga.c: Likewise.
13228 * partmap/apple.c: Likewise.
13229 * partmap/gpt.c: Likewise.
13230 * partmap/pc.c: Likewise.
13231 * partmap/sun.c: Likewise.
13232 * term/gfxterm.c: Likewise.
13233 * term/terminfo.c: Likewise.
13234 * term/efi/console.c: Likewise.
13235 * term/i386/pc/console.c: Likewise.
13236 * term/i386/pc/serial.c: Likewise.
13237 * term/i386/pc/vesafb.c: Likewise.
13238 * term/i386/pc/vga.c: Likewise.
13239 * term/ieee1275/ofconsole.c: Likewise.
13240 * util/biosdisk.c: Likewise.
13241 * util/console.c: Likewise.
13242 * util/genmoddep.c: Likewise.
13243 * util/getroot.c: Likewise.
13244 * util/grub-emu.c: Likewise.
13245 * util/grub-mkdevicemap.c: Likewise.
13246 * util/grub-probe.c: Likewise.
13247 * util/lvm.c: Likewise.
13248 * util/misc.c: Likewise.
13249 * util/raid.c: Likewise.
13250 * util/resolve.c: Likewise.
13251 * util/update-grub.in: Likewise.
13252 * util/update-grub_lib.in: Likewise.
13253 * util/grub.d/00_header.in: Likewise.
13254 * util/grub.d/10_hurd.in: Likewise.
13255 * util/grub.d/10_linux.in: Likewise.
13256 * util/i386/efi/grub-install.in: Likewise.
13257 * util/i386/efi/grub-mkimage.c: Likewise.
13258 * util/i386/pc/grub-install.in: Likewise.
13259 * util/i386/pc/grub-mkimage.c: Likewise.
13260 * util/i386/pc/grub-mkrescue.in: Likewise.
13261 * util/i386/pc/grub-setup.c: Likewise.
13262 * util/i386/pc/misc.c: Likewise.
13263 * util/powerpc/ieee1275/grub-install.in: Likewise.
13264 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
13265 * util/powerpc/ieee1275/misc.c: Likewise.
13266 * video/bitmap.c: Likewise.
13267 * video/video.c: Likewise.
13268 * video/i386/pc/vbe.c: Likewise.
13269 * video/i386/pc/vbeblit.c: Likewise.
13270 * video/i386/pc/vbefill.c: Likewise.
13271 * video/i386/pc/vbeutil.c: Likewise.
13272 * video/readers/tga.c: Likewise.
13273
3572d015 132742007-07-02 Robert Millan <rmh@aybabtu.com>
13275
13276 * conf/i386-efi.rmk: Replace obsolete reference to
13277 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
13278 with util/getroot.c.
13279 * conf/powerpc-ieee1275.rmk: Likewise.
13280 * conf/sparc64-ieee1275.rmk: Likewise.
13281
13282 * util/grub-emu.c (main): Fix unchecked pointer handling.
13283
2c2a681b 132842007-07-02 Robert Millan <rmh@aybabtu.com>
13285
13286 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
13287 invocation to fail, in order to support partition-less media.
13288
13289 * util/i386/pc/grub-install.in: Likewise.
13290
13291 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
13292 which fs or partmap modules are needed (akin to its sister scripts).
13293
13294 Also use grub-probe to get rid of unportable /proc/mounts check.
13295
13296 Print the same informational message that the other scripts do, before
fe6b695a 13297 exiting.
2c2a681b 13298
6193defe 132992007-06-23 Robert Millan <rmh@aybabtu.com>
13300
fe6b695a 13301 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 13302 a font file can be found and, if so, echo the GRUB path to it.
13303
13304 * util/update-grub.in: Handle multiple terminals depending on user
13305 input, platform availability and font file presence. Propagate
13306 variables of our findings to /etc/grub.d/ children.
13307
13308 * util/grub.d/00_header.in: Handle multiple terminals, based on
13309 environment setup by update-grub.
13310
eface1dc 133112007-06-23 Robert Millan <rmh@aybabtu.com>
13312
ba50d28f 13313 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 13314
bf697e28 133152007-06-21 Robert Millan <rmh@aybabtu.com>
13316
13317 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
13318 indicate end of data section in kernel image.
13319 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
13320 GRUB_KERNEL_MACHINE_DATA_END.
13321
13322 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
13323 space for it.
13324 * kern/i386/efi/startup.S: Likewise.
13325
13326 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
13327 during image generation. Implement --prefix option to override this
13328 patch.
13329 * util/i386/efi/grub-mkimage.c: Likewise.
13330
13331 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
13332 code to make path relative to its root into a separate function.
13333
13334 * util/i386/pc/grub-install.in: Use newly provided
13335 make_system_path_relative_to_its_root() to convert ${grubdir}, then
13336 pass the result to grub-install --prefix.
13337
baa574b4 133382007-06-13 Robert Millan <rmh@aybabtu.com>
13339
13340 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
13341 DEFAULT_DEVICE_MAP.
13342 * util/grub-emu.c: Use above definitions from misc.h instead of
13343 defining them.
13344 * util/grub-mkdevicemap.c: Likewise.
13345 * util/i386/pc/grub-setup.c: Likewise.
13346 * util/grub-probe.c: Likewise.
13347 (probe): Abort with grub_util_error() when either
13348 grub_guess_root_device or grub_util_get_grub_dev fails.
13349
0215dcbf 133502007-06-12 Robert Millan <rmh@aybabtu.com>
13351
13352 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
13353 "pager" assignment.
13354 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
13355 "pcdata".
13356 * util/grub-probe.c (probe): Likewise for "drive_name".
13357
8af2ab7b 133582007-06-11 Robert Millan <rmh@aybabtu.com>
13359
13360 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
13361 not just the cdrom one.
13362
59d31694 133632007-06-11 Robert Millan <rmh@aybabtu.com>
13364
13365 * util/i386/pc/grub-mkrescue.in: Add "set -e".
13366 Add --pkglibdir=DIR option to override pkglibdir.
13367 Mention --image-type=TYPE in help output.
13368 Fix --grub-mkimage (it was a no-op).
fe6b695a 13369 Abort gracefully when no parameter is given.
59d31694 13370
7ee367e4 133712007-06-11 Robert Millan <rmh@aybabtu.com>
13372
13373 * util/i386/pc/grub-mkrescue.in: New file.
13374 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
13375 * Makefile.in: Handle bin_SCRIPTS.
13376
29b0ed46 133772007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
13378
13379 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
13380 list of video modes.
13381
c0f90770 133822007-06-06 Robert Millan <rmh@aybabtu.com>
13383
13384 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
13385 file doesn't exist, or if it is in a filesystem grub can't read.
13386
13387 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
13388 not abort if GRUB_DRIVE could not be defined. Rearrange generated
13389 header comment to fit in 80 columns when the variables are resolved.
13390
13391 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
13392 could be identified by update-grub. Remove redundant check for
fe6b695a 13393 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 13394 handles that).
13395
fb36dc26 133962007-06-04 Robert Millan <rmh@aybabtu.com>
13397
13398 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
13399
13400 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
13401
13402 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
13403
0c68c93e 134042007-06-04 Robert Millan <rmh@aybabtu.com>
13405
13406 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
13407
13408 * include/grub/partition.h: Declare grub_apple_partition_map_init and
13409 grub_apple_partition_map_fini.
13410
13411 * util/biosdisk.c
13412 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
13413 to access >2 TiB disks).
13414
13415 Print disk->total_sectors with %llu instead of %lu, since this
13416 variable is always 64-bit (prevents wrong disk size from being displayed
13417 on either >2 TiB disk or big-endian CPU).
13418
13419 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
13420 into a generic case that supports all (sane) partition maps.
13421
13422 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
13423 breaks big-endian.
13424
13425 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
13426 and grub_apple_partition_map_fini() after that.
13427
0f23eb74 134282007-06-01 Robert Millan <rmh@aybabtu.com>
13429
13430 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
13431
13432 * util/grub.d/00_header.in: Only enable gfxterm when
13433 convert_system_path_to_grub_path() succeeds.
13434
42c71976 134352007-05-20 Robert Millan <rmh@aybabtu.com>
13436
13437 * util/update-grub_lib.in: New file.
13438 * DISTLIST: Add update-grub_lib.in.
13439 * conf/common.rmk: Generate update-grub_lib and install it in
13440 $(lib_DATA).
13441 * Makefile.in: Add install routine for $(lib_DATA).
13442
13443 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
13444 function provided by update-grub_lib to support arbitrary paths of
13445 unifont.pff.
13446 * util/update-grub.in: Use convert_system_path_to_grub_path() to
13447 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
13448
5beb2291 134492007-05-19 Robert Millan <rmh@aybabtu.com>
13450
13451 * commands/i386/cpuid.c: New module.
13452 * DISTLIST: Add it.
13453 * conf/i386-efi.rmk: Enable cpuid.mod.
13454 * conf/i386-pc.rmk: Likewise.
13455
7262eca1 134562007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13457
13458 * kern/disk.c (grub_disk_read): Check return value of
13459 grub_realloc().
13460
260ba823 134612007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
13462
13463 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
13464 arrays.
13465 * disk/raid.c (grub_raid_open): Likewise.
13466
1ecb6cf2 134672007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13468
13469 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
13470 stack instead of on the heap.
13471
13472 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
13473 before doing a read on it.
13474
13475 * configure.ac: Only use -fno-stack-protector for the target
13476 environment.
f19dbdb7 13477
21c8cbb1 134782007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
13479
13480 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
13481 __attribute_ ((unused)) to mode_type argument.
13482
13483 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 13484
21c8cbb1 13485 * kern/misc.c (memcmp): Fix prototype.
13486
13487 * include/grub/partition.h [GRUB_UTIL]
13488 (grub_gpt_partition_map_init): Add prototype.
13489 (grub_gpt_partition_map_fini): Likewise.
13490
13491 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
13492 at the right place.
13493
13494 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
13495 (grub_fat_read_data): Likewise.
13496 (grub_fat_find_dir): Likewise.
13497
13498 * font/manager.c (find_glyph): Make table a const.
13499 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 13500
849d55d3 135012007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
13502
13503 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
13504 code, first search for device in /dev/mapper, then in /dev.
13505 (grub_util_get_grub_dev): New function.
13506 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
13507 prototype.
13508 * util/grub-probe.c (probe): Remove check for RAID, call
13509 grub_util_get_grub_dev() instead of
13510 grub_util_biosdisk_get_grub_dev().
13511 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
13512 grub_util_biosdisk_get_grub_dev().
13513 * util/i386/pc/grub-setup.c (main): Likewise.
13514
8fff7c2f 135152007-05-16 Robert Millan <rmh@aybabtu.com>
13516
13517 * DISTLIST: Update for the latest changes.
13518 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
13519 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
13520 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
13521 grub/util/biosdisk.h.
13522 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
13523 grub/util/biosdisk.h.
13524
48e12b52 135252007-05-16 Robert Millan <rmh@aybabtu.com>
13526
13527 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
13528
46b9d128 135292007-05-16 Robert Millan <rmh@aybabtu.com>
13530
13531 * util/i386/efi/grub-install.in: New.
13532 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
13533 newly added grub-install.
13534 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
13535 include.
13536 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
13537 grub/util/biosdisk.h.
13538 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
13539 grub/util/biosdisk.h.
13540
2d1a40a9 135412007-05-16 Robert Millan <rmh@aybabtu.com>
13542
13543 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
13544 * include/grub/util/biosdisk.h: ... here.
13545 * util/i386/pc/biosdisk.c: Moved to ...
13546 * util/biosdisk.c: ... here.
13547 * util/i386/pc/getroot.c: Moved to ...
13548 * util/getroot.c: ... here.
13549 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
13550 * util/grub-mkdevicemap.c: ... here.
13551 * util/i386/pc/grub-probe.c: Moved to ...
13552 * util/grub-probe.c: ... here.
13553
9e26e3bc 135542007-05-15 Robert Millan <rmh@aybabtu.com>
13555
13556 * util/update-grub.in: Remove duplicated line in grub.cfg header
13557 message.
13558
57f96397 135592007-05-13 Robert Millan <rmh@aybabtu.com>
13560
13561 * util/update-grub.in: Fix a few assumptions about the devices holding
13562 /, /boot and /boot/grub being the same.
13563 * util/grub.d/00_header.in: Likewise.
13564 * util/grub.d/10_hurd.in: Likewise.
13565 * util/grub.d/10_linux.in: Likewise.
13566
13567 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
13568 patterns. Use that to define the `.old' suffix as older than `'.
13569
13570 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
13571
13572 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
13573 the grub.cfg header message.
13574
2e610d62 135752007-05-11 Robert Millan <rmh@aybabtu.com>
13576
13577 * util/update-grub.in: Create device.map if it doesn't already exist,
13578 before attempting to run grub-probe.
13579 Check for grub-probe and grub-mkdevicemap with the same code
13580 grub-install is using.
13581 Remove test mode.
13582
3f6a10ef 135832007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
13584
13585 * Makefile.in: Add the datarootdir autoconf variable.
13586
02e7b75e 135872007-05-09 Robert Millan <rmh@aybabtu.com>
13588
13589 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 13590 fail gracefully if dev->disk->partition == NULL.
02e7b75e 13591
75f396cc 135922007-05-07 Robert Millan <rmh@aybabtu.com>
13593
13594 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
13595 determine partition map module.
13596 * util/i386/pc/grub-install.in: Use this feature to decide which
13597 partition module to load, instead of hardcoding pc and gpt.
13598
da65cb36 135992007-05-07 Robert Millan <rmh@aybabtu.com>
13600
13601 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
13602 source directory differs from build directory.
13603
b57d6a91 136042007-05-05 Robert Millan <rmh@aybabtu.com>
13605
13606 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
13607 initialisation.
13608
509d00f1 136092007-05-05 Robert Millan <rmh@aybabtu.com>
13610
13611 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
13612
c48f23ef 136132007-05-05 Robert Millan <rmh@aybabtu.com>
13614
13615 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
13616 command-line arguments via ${GRUB_CMDLINE_LINUX}.
13617
20b97658 136182007-05-05 Robert Millan <rmh@aybabtu.com>
13619
13620 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
13621 (grub_probe_SOURCES): Likewise.
13622 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
13623 GPT and initialize dos_part and bsd_part accordingly.
13624 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
13625 install_bsd_part.
13626 (main): Activate gpt module for use during partition identification,
13627 and deactivate it afterwards.
13628 * util/i386/pc/grub-install.in: Add gpt module to core.img.
13629 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
13630 partition identification, and deactivate it afterwards.
13631
99123174 136322007-05-05 Robert Millan <rmh@aybabtu.com>
13633
13634 * term/i386/pc/console.c (grub_console_fini): Call
13635 grub_term_set_current() before grub_term_unregister().
13636
ebd97f6e 136372007-05-04 Robert Millan <rmh@aybabtu.com>
13638
13639 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
13640 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
13641 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
13642 and update-grub_DATA.
13643 * conf/common.rmk: Build and install update-grub components.
13644 * conf/common.mk: Regenerate.
13645 * util/update-grub.in: New. Core of update-grub.
13646 * util/grub.d/00_header.in: New. Generates grub.cfg header.
13647 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
13648 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
13649 * util/grub.d/README: New. Document grub.d directory layout.
13650
b06a264d 136512007-05-01 Robert Millan <rmh@aybabtu.com>
13652
13653 * util/grub-emu.c: Move initialization functions
13654 grub_util_biosdisk_init() and grub_init_all() before
13655 grub_util_biosdisk_get_grub_dev(), which relies on them.
13656
41f0050e 136572007-04-19 Robert Millan <rmh@aybabtu.com>
13658
13659 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
13660 it is used later.
13661
04582bb3 136622007-04-18 Jerone Young <jerone@gmail.com>
13663
f19dbdb7 13664 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 13665 stanza.
13666
08db4632 136672007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 13668
08db4632 13669 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
13670 continue on and look for device node with real device name.
13671
801b76be 136722007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 13673
fe6b695a 13674 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 13675 ability.
13676 * Makefile.in: Add autoconf package transformation code.
13677 * util/i386/pc/grub-install.in: Likewise.
13678 * util/powerpc/ieee1275/grub-install.in: Likewise.
13679
6795c4e1 136802007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
13681
13682 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
13683 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
13684 (EXT2_REVISION): Likewise.
13685 (EXT2_INODE_SIZE): Likewise.
13686 (struct grub_ext2_block_group): Added a missing member
13687 "used_dirs".
13688 (grub_ext2_read_inode): Divide by the inode size in a superblock
13689 instead of 128 to obtain INODES_PER_BLOCK.
13690 Use the macro EXT2_INODE_SIZE instead of directly using
13691 SBLOCK->INODE_SIZE.
13692
d70af616 136932007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
13694
13695 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
13696 superblock instead of the structure size to compute an
13697 offset. This fixes the problem that GRUB could not read a
13698 filesystem when inode size is different from 128-byte.
13699
3b801603 137002007-03-05 Marco Gerards <marco@gnu.org>
13701
13702 * normal/main.c (read_config_file): When "menu" is not set, create
13703 an initial context.
13704
4785bfe4 137052007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13706
13707 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
13708 (HEAP_LIMIT): New macro.
13709 (grub_claim_heap): Claim memory up to `heaplimit'.
13710
a0cbb023 137112007-02-21 Hollis Blanchard <hollis@penguinppc.org>
13712
13713 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
13714 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
13715 (_start): Likewise.
13716 (grub_arch_modules_addr): Return address after `_end'.
13717 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
13718 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
13719 (add_segments): Calculate `_end' from phdr size and location.
13720 (ALIGN_UP): Moved to ...
13721 * include/grub/misc.h: here.
13722 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13723 New macro.
13724 (GRUB_IEEE1275_MODULE_BASE): Removed.
13725
fd7d8eba 137262007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13727
13728 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
13729 loop boundary.
13730
9b09e6fc 137312007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13732
13733 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
13734 All users updated.
13735 (grub_elf64_load_hook_t): Likewise.
13736 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
13737 debug output.
13738
3ce27299 137392007-02-20 Hollis Blanchard <hollis@penguinppc.org>
13740
13741 * kern/mm.c: Update copyright.
13742 (grub_mm_debug): Correct syntax error.
13743 (grub_mm_dump_free): New function.
13744 (grub_debug_free): Call `grub_free'.
13745 * include/grub/mm.h: Update copyright.
13746 (grub_mm_dump_free): Add declaration.
13747
077d5fee 137482007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13749
13750 * include/grub/ieee1275/ieee1275.h: Update copyright.
13751 * kern/powerpc/ieee1275/init.c: Likewise.
13752 * kern/powerpc/ieee1275/openfw.c: Likewise.
13753
13754 * loader/powerpc/ieee1275/linux.c: Likewise.
13755 * include/grub/elfload.h: Likewise.
13756 * kern/elf.c: Likewise.
13757 (grub_elf32_load): Pass `base' and `size' parameters. Update all
13758 callers.
13759 (grub_elf64_load): Likewise.
13760 (grub_elf32_load_segment): Move to a nested function.
13761 (grub_elf64_load_segment): Likewise.
13762
dc946850 137632007-02-12 Hollis Blanchard <hollis@penguinppc.org>
13764
13765 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
13766 prototype.
13767 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
13768 (grub_heap_len): Likewise.
13769 (HEAP_SIZE): New macro.
13770 (grub_claim_heap): New function.
13771 (grub_machine_init): Don't claim heap directly. Call
13772 `grub_claim_heap'.
13773 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
13774 (grub_available_iterate): New function.
13775
baa2a121 137762007-02-03 Thomas Schwinge <tschwinge@gnu.org>
13777
13778 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
13779 * configure.ac: Use it for testing the HOST and TARGET compilers.
13780
4fe9862e 137812006-12-13 Thomas Schwinge <tschwinge@gnu.org>
13782
13783 * Makefile.in (enable_grub_emu): New variable.
13784 * configure.ac (--enable-grub-emu): New option.
13785 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
13786 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
13787 * conf/i386-pc.rmk: Likewise.
13788 * conf/powerpc-ieee1275.rmk: Likewise.
13789 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
13790
a8aa5762 137912006-12-12 Marco Gerards <marco@gnu.org>
13792
13793 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
13794
13795 * kern/env.c (grub_env_unset): Don't free the member `value' when
13796 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
13797 pointer.
13798
13799 * normal/main.c (current_menu): Removed.
13800 (free_menu): Unset the `menu' environment variable.
13801 (grub_normal_menu_addentry): Make use of the environment variable
13802 `menu', instead of using the global `current_menu'. Allocate
13803 memory for the sourcecode of this entry.
13804 (read_config_file): New argument `nested', changed all callers.
13805 Only in the case of a new context, initialize a new menu. Set the
13806 `menu' environment variable.
13807 (grub_normal_execute): Don't set and unset the environment
13808 variable `menu' here anymore. Only free the menu when leaving the
13809 context.
13810
13811 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
13812 leak.
13813
957b3a3e 138142006-12-11 Marco Gerards <marco@gnu.org>
13815
13816 * normal/menu_entry.c (run): Fix off by one bug so the last line
13817 is executed. Move the loader check to outside the loop.
13818
ef875714 138192006-12-08 Hollis Blanchard <hollis@penguinppc.org>
13820
13821 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
13822
4e739985 138232006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
13824
13825 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
13826 the number of sectors. Reported by Andrey Shuvikov
13827 <mr_hyro@yahoo.com>.
f19dbdb7 13828
790707f2 138292006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
13830
13831 * kern/disk.c (grub_disk_read): When there is a read error, always
13832 try to read only the necessary data.
f19dbdb7 13833
790707f2 13834 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
13835 disk/raid.c.
13836 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
13837 prototype.
13838 [GRUB_UTIL] (grub_raid_fini): Likewise.
13839 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 13840 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 13841 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
13842 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
13843 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
13844 and grub_raid_fini().
f19dbdb7 13845
03e58196 138462006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
13847
13848 * include/grub/types.h (__unused): Rename to UNUSED.
13849 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
13850 (grub_elf64_size): Likewise.
f19dbdb7 13851
ae4f23bf 138522006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13853
13854 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
13855 grub_error_push and grub_error_pop in the error-handling path.
13856 (grub_elf32_load_segment): Only call grub_file_read with non-zero
13857 length.
13858
2166cc83 138592006-11-03 Hollis Blanchard <hollis@penguinppc.org>
13860
13861 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
13862 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13864 (kernel_elf_SOURCES): Likewise.
13865 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
13866 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
13867 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13868 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13869 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
13870 (elf_mod_SOURCES): New variable.
13871 (elf_mod_CFLAGS): Likewise.
13872 (elf_mod_LDFLAGS): Likewise.
13873 * include/grub/types.h (__unused): New macro.
13874 * include/grub/elfload.h: New file.
13875 * kern/elf.c: Likewise.
13876 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
13877 (ELF32_LOADMASK): New macro.
13878 (ELF64_LOADMASK): Likewise.
13879 (vmlinux): Removed.
13880 (grub_linux_load32): New function.
13881 (grub_linux_load64): Likewise.
13882 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
13883 Use grub_elf_t instead of grub_file_t.
13884
a09d5aa5 138852006-11-02 Hollis Blanchard <hollis@penguinppc.org>
13886
13887 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
13888 `catch_result' to struct set_color_args.
13889
d976fc51 138902006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
13891
13892 * normal/menu.c: Include grub/script.h.
13893 * normal/menu_entry.c: Likewise.
13894 * include/grub/normal.h: Do not include grub/script.h.
13895
67507549 138962006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13897
13898 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
13899
69203a99 139002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13901
13902 * kern/disk.c (grub_disk_open): Print debug messages when opening a
13903 disk.
13904 (grub_disk_close): Print debug messages when closing a disk.
13905 (grub_disk_read): Print debug messages when disk read fails.
13906 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
13907 filesystem type.
13908 * kern/partition.c: Include misc.h.
13909 (grub_partition_iterate): Print debug messages when detecting
13910 partition type.
13911
e2b8278c 139122006-10-27 Hollis Blanchard <hollis@penguinppc.org>
13913
13914 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
13915 is negative.
13916 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
13917
97b2f2ff 139182006-10-26 Hollis Blanchard <hollis@penguinppc.org>
13919
13920 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13921 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
13922
6555d655 139232006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
13924
13925 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
13926 instead of sizeof(lv). Patch by Michael Guntsche.
13927
4d42b77f 139282006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
13929
13930 * disk/lvm.c: Rename VGS to VG_LIST.
13931 (grub_lvm_iterate): Change VGS->LV to VG-LV.
13932 (grub_lvm_open): Likewise.
13933 Thanks to Michael Guntsche for finding this bug.
13934
5d74d927 139352006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
13936
13937 * configure.ac (AC_INIT): Bumped to 1.95.
13938
a1bb27e4 139392006-10-14 Robert Millan <rmh@aybabtu.com>
13940
13941 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
13942 with "/dev/.static/dev/md".
13943
e0994b8b 139442006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13945
13946 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
13947 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
13948 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
13949 DRIVE_NAME are always freed.
13950
13951 * util/i386/pc/biosdisk.c (make_device_name): Add one into
13952 DOS_PART, as a DOS partition is counted from one instead of zero
13953 now. Reported by Robert Millan.
13954
ddd5cee9 139552006-10-14 Robert Millan <rmh@aybabtu.com>
13956
13957 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
13958 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
13959 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
13960 string returned by grub_guess_root_device.
13961 * util/i386/pc/grub-setup.c: Likewise.
13962 * util/i386/pc/grub-probefs.c: Likewise.
13963
13964 * util/i386/pc/grub-probefs.c: Rename to ...
13965 * util/i386/pc/grub-probe.c: ... this.
13966 * DISTLIST: Remove grub-probefs, add grub-probe.
13967 * conf/i386-efi.rmk: Likewise.
13968 * conf/i386-pc.rmk: Likewise.
13969 * util/i386/pc/grub-install.in: Likewise.
13970
13971 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
13972 choose which information we want to print.
13973
2b002173 139742006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
13975
13976 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
13977 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
13978 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
13979 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
13980 video/readers/tga.c and video/i386/pc/vbeutil.c.
13981
139822006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
13983
13984 Added support for RAID and LVM.
f19dbdb7 13985
2b002173 13986 * disk/lvm.c: New file.
13987 * disk/raid.c: Likewise.
13988 * include/grub/lvm.h: Likewise.
f19dbdb7 13989 * include/grub/raid.h: Likewise.
2b002173 13990 * include/grub/util/lvm.h: Likewise.
13991 * include/grub/util/raid.h: Likewise.
13992 * util/lvm.c: Likewise.
13993 * util/raid.c: Likewise.
13994
13995 * include/grub/disk.h (grub_disk_dev_id): Add
13996 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
13997 (grub_disk_get_size): New prototype.
13998 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
13999 returns a partition.
14000 (grub_disk_get_size): New function.
f19dbdb7 14001
2b002173 14002 * kern/i386/pc/init.c (make_install_device): Copy the prefix
14003 verbatim if grub_install_dos_part is -2.
14004
14005 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
14006 and LVM devices.
14007
14008 * util/i386/pc/grub-setup.c (setup): New argument
14009 MUST_EMBED. Force embedding of GRUB when the argument is
14010 true. Close FILE before returning.
14011 (main): Add support for RAID and LVM.
f19dbdb7 14012
2b002173 14013 * conf/common.rmk: Add RAID and LVM modules.
14014 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
14015 util/lvm.c.
14016 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
14017
14018 * kern/misc.c (grub_strstr): New function.
14019 * include/grub/misc.h (grub_strstr): New prototype.
14020
050548d0 140212006-10-10 Tristan Gingold <tristan.gingold@bull.net>
14022
14023 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
14024
da849d2d 140252006-10-05 Tristan Gingold <tristan.gingold@bull.net>
14026
14027 * kern/misc.c (grub_strtoull): Guess the base only if not
14028 specified.
14029
97b2f2ff 140302006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 14031
14032 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
14033 PowerMac support.
14034
97b2f2ff 140352006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 14036
14037 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
14038
14039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
14040 Remove `flags' argument. All callers changed.
14041 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
14042 (IEEE1275_IHANDLE_INVALID): New variable.
14043 (IEEE1275_CELL_INVALID): New variable.
14044 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
14045 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
14046 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
14047 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
14048 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
14049 codes from Open Firmware. All callers updated.
14050 (grub_ieee1275_next_property): Directly return Open Firmware return
14051 code.
14052 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14053 Standardize error checking from `grub_ieee1275_get_property'.
14054 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
14055 `devalias' to `aliases'. Correct comments. Consolidate error paths.
14056
97b2f2ff 140572006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 14058
14059 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
14060 `instance_to_package_args' to `instance_to_path_args'.
14061
14062 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
14063 `grub_ieee1275_chosen'.
14064
14065 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
14066 `grub_ieee1275_interpret'.
14067
97b2f2ff 140682006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 14069
14070 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
14071
97b2f2ff 140722006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 14073
14074 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
14075 (__cmpdi): Likewise.
14076
14077 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
14078 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
14079 `grub_ssize_t'.
14080
02bb8acc 14081 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 14082
14083 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
14084 to type `grub_ssize_t'.
14085 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
14086
7f9a8531 140872006-09-22 Marco Gerards <marco@gnu.org>
14088
14089 * normal/script.c (grub_script_create_cmdmenu): Skip leading
14090 newlines.
14091
b5ef1102 140922006-09-22 Marco Gerards <marco@gnu.org>
14093
14094 * commands/echo.c: New file.
14095
14096 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
14097
14098 * conf/common.rmk (echo_mod_SOURCES): New variable.
14099 (echo_mod_CFLAGS): Likewise.
14100 (echo_mod_LDFLAGS): Likewise.
14101
2cff3677 141022006-09-22 Marco Gerards <marco@gnu.org>
14103
14104 * normal/main.c (get_line): Malloc memory instead of using
14105 preallocated memory. Removed the arguments `cmdline' and
14106 `max_len'. Updated all callers.
14107
6ba4688b 141082006-09-22 Marco Gerards <marco@gnu.org>
14109
14110 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
14111 (normal_mod_DEPENDENCIES): Likewise.
14112
14113 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
14114 (normal_mod_DEPENDENCIES): Likewise.
14115
14116 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
14117
e02ac02c 141182006-09-22 Johan Rydberg <jrydberg@gnu.org>
14119
14120 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
14121 programs.
14122 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
14123 (normal_mod_DEPENDENCIES): Likewise.
14124 * conf/i386-pc.mk: Regenerate.
14125 * conf/i386-efi.mk: Likewise
14126 * conf/common.mk: Likewise.
14127 * conf/powerpc-ieee1275.mk: Likewise.
14128 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14129
8d252e44 141302006-09-22 Robert Millan <rmh@aybabtu.com>
14131
14132 Sync with i386 version.
14133 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
14134 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
14135
209bf7ac 141362006-09-21 Robert Millan <rmh@aybabtu.com>
14137
14138 Import from GRUB Legacy (lib/device.c):
14139 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
14140 (init_device_map) [__linux__]: Add support for I2O devices.
14141
6b146090 141422006-09-14 Marco Gerards <marco@gnu.org>
14143
14144 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
14145 `-melf_i386'.
14146
e38600a8 141472006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 14148
14149 * util/i386/pc/grub-install.in: Skip menu.lst when removing
14150 /boot/grub/*.lst.
78fa1790 14151
2952da5d 14152 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 14153
2952da5d 14154 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
14155 before adding it to device.map.
14156
01b82a64 141572006-08-15 Johan Rydberg <jrydberg@gnu.org>
14158
fe6b695a 14159 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 14160 compiles a file; using the -MD option.
14161 * conf/common.mk: Regenerate.
14162 * conf/i386-pc.mk: Likewise.
14163 * conf/i386-efi.mk: Likewise.
14164 * conf/powerpc-ieee1275.mk: Likewise.
14165 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14166
1064790d 141672006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
14168
14169 Move the prototypes of grub_setjmp and grub_longjmp to
14170 cpu/setjmp.h, so that each architecture may specify different
14171 attributes.
f19dbdb7 14172
1064790d 14173 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
14174 (grub_longjmp): Likewise.
14175 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
14176 (grub_longjmp): Likewise.
14177 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
14178 (grub_longjmp): Likewise.
14179
14180 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
14181 [!GRUB_UTIL] (grub_longjmp): Removed.
14182
29dda3ed 141832006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
14184
14185 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
14186 "color!" method does not return any value.
14187
ad2a06ed 141882006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14189
14190 * include/grub/bitmap.h: New file.
14191
14192 * include/grub/i386/pc/vbeutil.h: Likewise.
14193
14194 * video/bitmap.c: Likewise.
14195
14196 * video/readers/tga.c: Likewise.
14197
14198 * video/i386/pc/vbeutil.c: Likewise.
14199
14200 * commands/videotest.c: Code cleanup and updated to reflect to new
14201 video API.
14202
14203 * term/gfxterm.c: Likewise.
14204
14205 * video/video.c: Likewise.
14206
14207 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
14208 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
14209 (bitmap_mod_SOURCES): New entry.
14210 (bitmap_mod_CFLAGS): Likewise.
14211 (bitmap_mod_LDFLAGS): Likewise.
14212 (tga_mod_SOURCES): Likewise.
14213 (tga_mod_CFLAGS): Likewise.
14214 (tga_mod_LDFLAGS): Likewise.
14215
14216 * include/grub/video.h (grub_video_blit_operators): New enum type.
14217 (grub_video_render_target): Changed as forward declaration and moved
14218 actual definition to be video driver specific.
14219 (grub_video_adapter.blit_bitmap): Added blitting operator.
14220 (grub_video_adapter.blit_render_target): Likewise.
14221 (grub_video_blit_bitmap): Likewise.
14222 (grub_video_blit_render_target): Likewise.
14223
14224 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
14225 driver specific render target definition.
14226 (grub_video_vbe_map_rgba): Added driver internal helper.
14227 (grub_video_vbe_unmap_color): Updated to use
14228 grub_video_i386_vbeblit_info.
14229 (grub_video_vbe_get_video_ptr): Likewise.
14230
14231 * include/grub/i386/pc/vbeblit.h
14232 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
14233 grub_video_i386_vbeblit_info.
14234 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14235 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14236 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14237 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14238 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14239 (grub_video_i386_vbeblit_index_index): Likewise.
14240 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
14241 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14242 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14243 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
14244 operator.
14245 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
14246 operator.
14247
14248 * video/i386/pc/vbeblit.c: Updated to reflect changes on
14249 include/grub/i386/pc/vbeblit.h.
14250
14251 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
14252 Updated to use grub_video_i386_vbeblit_info.
14253 (grub_video_i386_vbefill_R8G8B8): Likewise.
14254 (grub_video_i386_vbefill_index): Likewise.
14255 (grub_video_i386_vbefill): Added generic filler.
14256
14257 * video/i386/pc/vbefill.c: Updated to reflect changes on
14258 include/grub/i386/pc/vbefill.h.
14259
14260 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
14261 grub_video_i386_vbeblit_info.
14262 (grub_video_vbe_unmap_color): Likewise.
14263 (grub_video_vbe_blit_glyph): Likewise.
14264 (grub_video_vbe_scroll): Likewise.
14265 (grub_video_vbe_draw_pixel): Removed function.
14266 (grub_video_vbe_get_pixel): Likewise.
14267 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
14268 updated code to use it.
14269 (common_blitter): Added common blitter for render target and bitmap.
14270 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
14271 (grub_video_vbe_blit_render_target): Likewise.
14272
bc8c036d 142732006-07-30 Johan Rydberg <jrydberg@gnu.org>
14274
14275 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
14276 is in text mode if there is no console control protocol instance
14277 available.
14278
684a8eff 142792006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14280
14281 * include/grub/video.h: Code cleanup.
14282
14283 * include/grub/i386/pc/vbe.h: Likewise.
14284
14285 * video/i386/pc/vbe.c: Likewise.
14286
14287 * video/i386/pc/vbeblit.c: Likewise.
14288
14289 * video/i386/pc/vbefill.c: Likewise.
14290
14291 * video/video.c: Likewise. Also added more comments.
14292
5915059b 142932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14294
14295 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
14296 (struct grub_biosdisk_dap): Likewise.
14297
14298 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
14299 linkage settings for all functions.
14300
90ce5d56 143012006-07-12 Marco Gerards <marco@gnu.org>
14302
14303 * configure.ac (--enable-mm-debug): Fix typo.
14304
14305 * genkernsyms.sh.in: Use proper quoting for `CC'.
14306
43e7f879 143072006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
14308
14309 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
14310 (normal_mod_ASFLAGS): Remove "-m32".
14311
4889bdec 143122006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
14313
14314 * util/misc.c: Include config.h.
14315 [!HAVE_MEMALIGN]: Do not include malloc.h.
14316 (grub_memalign): Use posix_memalign, if present. Then, use
14317 memalign, if present. Otherwise, emit an error.
14318
14319 * util/grub-emu.c: Do not include malloc.h.
14320
14321 * include/grub/util/misc.h: Include unistd.h. This is required for
14322 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
14323 D. Eades III <hde@foobar-qux.org>.
14324
14325 * configure.ac (AC_GNU_SOURCE): Added.
14326 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
14327 type.
14328
fd39d4da 143292006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
14330
14331 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
14332 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
14333
b786f3b5 143342006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
14335
14336 * include/grub/types.h (grub_host_addr_t): Rename to
14337 grub_target_addr_t.
14338 (grub_host_off_t): Rename to grub_target_off_t.
14339 (grub_host_size_t): Rename to grub_target_size_t.
14340 (grub_host_ssize_t): Rename to grub_target_ssize_t.
14341 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
14342
14343 * include/grub/kernel.h (struct grub_module_header): Change type
14344 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
14345 (grub_module_info): Likewise.
f19dbdb7 14346
051988bb 143472006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14348
14349 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
14350 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
14351 Velazquez <jesus.velazquez@gmail.com>.
14352
deae281b 143532006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
14354
14355 Count partitions from 1 instead of 0 in the string representation
14356 of partitions. Still use 0-based internally.
f19dbdb7 14357
deae281b 14358 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
14359 (sun_partition_map_iterate): Use grub_partition_t instead of
14360 struct grub_partition *. Cast DESC->START_CYLINDER to
14361 grub_uint64_t after converting the endian.
14362 (sun_partition_map_probe): Subtract 1 for PARTNUM.
14363 (sun_partition_map_get_name): Add 1 to P->INDEX.
14364
14365 * partmap/pc.c (grub_partition_parse): Subtract 1 for
14366 PCDATA->DOS_PART.
14367 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
14368
14369 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
14370 zero instead of one.
14371 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
14372 (gpt_partition_map_get_name): Add 1 into P->INDEX.
14373
14374 * partmap/apple.c (apple_partition_map_iterate): Change the type
14375 of POS to unsigned.
14376 (apple_partition_map_probe): Subtract 1 for PARTNUM.
14377 (apple_partition_map_get_name): Add 1 into P->INDEX.
14378
14379 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
14380 of POS to unsigned.
14381 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
14382 calculate the offset of a partition.
14383 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
14384 (amiga_partition_map_get_name): Add 1 into P->INDEX.
14385
14386 * partmap/acorn.c (acorn_partition_map_find): Change the type of
14387 SECTOR to grub_disk_addr_t.
14388 (acorn_partition_map_iterate): Likewise.
14389 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
14390 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
14391 top.
14392 (acorn_partition_map_get_name): Add 1 into P->INDEX.
14393
14394 * kern/i386/pc/init.c (make_install_device): Add 1 into
14395 GRUB_INSTALL_DOS_PART.
14396
14397 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
14398 conditional.
14399
524a1e6a 144002006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14401
14402 Clean up the code to support 64-bit addressing in disks and
14403 files. This change is not enough for filesystems yet.
f19dbdb7 14404
524a1e6a 14405 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
14406 type of "start" to grub_uint64_t.
14407 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
14408 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
14409 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
14410 convert addresses.
14411
14412 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
14413 to grub_disk_addr_t.
14414
14415 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
14416 string.
14417
14418 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14419
14420 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
14421 to char *.
14422
14423 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
14424
14425 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
14426
14427 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
14428
14429 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
14430 to grub_off_t, to detect an error from grub_file_seek.
14431 (grub_multiboot_load_elf32): Likewise.
14432
14433 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
14434 maximum unsigned long value when an overflow is detected.
14435 (grub_strtoull): New function.
14436 (grub_divmod64): Likewise.
14437 (grub_lltoa): use grub_divmod64.
14438
14439 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
14440 grub_disk_addr_t.
14441 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
14442 the pointer to next character. Use grub_strtoull instead of
14443 grub_strtoul.
14444 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
14445 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
14446 respectively.
14447
fe6b695a 14448 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 14449 return value is signed.
14450 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
14451 test if OFFSET is less than zero, as OFFSET is unsigned now.
14452
14453 * kern/disk.c (struct grub_disk_cache): Change the type of
14454 "sector" to grub_disk_addr_t.
14455 (grub_disk_cache_get_index): Change the type of SECTOR to
14456 grub_disk_addr_t. Calculate the hash with SECTOR casted to
14457 unsigned after shifting.
14458 (grub_disk_cache_invalidate): Change the type of SECTOR to
14459 grub_disk_addr_t.
14460 (grub_disk_cache_unlock): Likewise.
14461 (grub_disk_cache_store): Likewise.
14462 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
14463 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
14464 grub_disk_addr_t and grub_uint64_t, respectively.
14465 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
14466 body, as the value of OFFSET is tweaked by
14467 grub_disk_check_range. Change the types of START_SECTOR, LEN and
14468 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
14469 respectively.
14470 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
14471 body, as the value of OFFSET is tweaked by
14472 grub_disk_check_range. Change the types of LEN and N to
14473 grub_size_t.
14474
14475 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
14476 and "saved_offset" to grub_off_t.
14477 (test_header): Cast BUF to char *.
14478 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
14479 to char *.
14480 (grub_gzio_read): Change the types of OFFSET and SIZE to
14481 grub_off_t and grub_size_t, respectively.
14482
14483 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
14484 Removed.
14485 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
14486 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
14487 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
14488 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
14489 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
14490
14491 * include/grub/types.h (grub_off_t): Unconditionally set to
14492 grub_uint64_t.
14493 (grub_disk_addr_t): Changed to grub_uint64_t.
14494
14495 * include/grub/partition.h (struct grub_partition): Change the
14496 types of "start", "len" and "offset" to grub_disk_addr_t,
14497 grub_uint64_t and grub_disk_addr_t, respectively.
14498 (grub_partition_get_start): Return grub_disk_addr_t.
14499 (grub_partition_get_len): Return grub_uint64_t.
14500
14501 * include/grub/misc.h (grub_strtoull): New prototype.
14502 (grub_divmod64): Likewise.
14503
14504 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
14505 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
14506 grub_off_t, respectively.
14507 All callers and references changed.
14508
14509 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
14510 grub_size_t in "read".
14511 All callers and references changed.
14512
14513 * include/grub/file.h (struct grub_file): Change the types of
14514 "offset" and "size" to grub_off_t and grub_off_t,
14515 respectively. Change the type of SECTOR to grub_disk_addr_t in
14516 "read_hook".
14517 (grub_file_read): Change the type of LEN to grub_size_t.
14518 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
14519 grub_off_t.
14520 (grub_file_size): Return grub_off_t.
14521 (grub_file_tell): Likewise.
14522 All callers and references changed.
14523
14524 * include/grub/disk.h (struct grub_disk_dev): Change the types of
14525 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
14526 "write".
14527 (struct grub_disk): Change the type of "total_sectors" to
14528 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 14529 "read_hook".
524a1e6a 14530 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
14531 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
14532 (grub_disk_write): Likewise.
14533 All callers and references changed.
14534
14535 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
14536 char * for grub_strncmp to silence gcc.
14537 (grub_iso9660_mount): Likewise.
14538 (grub_iso9660_mount): Likewise.
14539 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
14540 return statement.
14541 (grub_iso9660_iterate_dir): Likewise.
14542 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
14543
14544 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
14545 LEN to grub_disk_addr_t and grub_size_t, respectively.
14546
14547 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
14548
14549 * fs/jfs.c (grub_jfs_read_file): Likewise.
14550
14551 * fs/minix.c (grub_jfs_read_file): Likewise.
14552
14553 * fs/sfs.c (grub_jfs_read_file): Likewise.
14554
14555 * fs/ufs.c (grub_jfs_read_file): Likewise.
14556
14557 * fs/xfs.c (grub_jfs_read_file): Likewise.
14558
14559 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
14560 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
14561 respectively.
14562
14563 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
14564 BLKNR to -1 instead of returning GRUB_ERRNO.
14565 (grub_ext2_read_file): Change the types of SECTOR and
14566 LEN to grub_disk_addr_t and grub_size_t, respectively.
14567
14568 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
14569 LEN to grub_disk_addr_t and grub_size_t, respectively.
14570
14571 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
14572 grub_file_read.
14573
14574 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
14575 string. Do not cast SECTOR explicitly.
14576
14577 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
14578 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
14579 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
14580 grub_disk_addr_t and grub_size_t, respectively. If the sector is
14581 over 2TB and LBA mode is not supported, raise an error.
14582 (get_safe_sectors): New function.
14583 (grub_biosdisk_read): Use get_safe_sectors.
14584 (grub_biosdisk_write): Likewise.
14585
14586 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
14587 (grub_efidisk_write): Likewise.
14588
14589 * disk/loopback.c (delete_loopback): Cosmetic changes.
14590 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
14591 correctly.
14592 (grub_loopback_open): Likewise.
14593 (grub_loopback_read): Likewise. Also, change the type of POS to
14594 grub_off_t, and fix the usage of grub_memset.
14595
14596 * commands/i386/pc/play.c: Include grub/machine/time.h.
14597
14598 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
14599 print FILE->SIZE.
14600
14601 * commands/configfile.c: Include grub/env.h.
14602
14603 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
14604 GRUB_ERRNO directly instead. Change the type of POS to
14605 grub_off_t. Follow the coding standard.
14606
14607 * commands/blocklist.c: Include grub/partition.h.
14608 (grub_cmd_blocklist): Return an error if the underlying device is
14609 not a disk. Take the starting sector of a partition into account,
14610 if a partition is used.
14611
14612 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
14613 a length field.
14614 (lba_mode): Support 64-bit addresses.
14615 (chs_mode): Likewise.
14616 (copy_buffer): Adapted to the new offsets of a length field and a
14617 segment field.
14618 (blocklist_default_start): Allocate 64-bit space.
14619
14620 * boot/i386/pc/boot.S (force_lba): Removed.
14621 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 14622 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 14623 space.
14624 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
14625 is useless.
14626 (lba_mode): Refactored to support a 64-bit address. More size
14627 optimization.
14628 (setup_sectors): Likewise.
14629
53af98ad 146302006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
14631
14632 * DISTLIST: Added include/grub/i386/linux.h. Removed
14633 include/grub/i386/pc/linux.h
14634
14635 * configure.ac (AC_INIT): Bumped to 1.94.
14636
14637 * config.guess: Updated from gnulib.
14638 * config.sub: Likewise.
14639 * install-sh: Likewise.
14640 * mkinstalldirs: Likewise.
14641
b4c1940a 146422006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14643
14644 * conf/common.rmk (grub_modules_init.lst): Depended on
14645 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
14646 MODSRCFILES.
14647
14648 * genmk.rb (PModule::rule): Reverted the previous change.
14649
cfca1cfd 146502006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
14651
14652 * conf/common.rmk (grub_modules_init.lst): Depends on
14653 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
14654 that the target does not exist before producing.
14655 (grub_modules_init.h): Remove the target before generating.
14656 (grub_emu_init.c): Likewise.
14657
14658 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
14659
aa6d7826 146602006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
14661
14662 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
14663 for the target-specific tests. Make sure that we also have the
14664 up-to-date target variables for those tests.
14665
26c607b9 146662006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14667
14668 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
14669 (PModule::rule): Likewise.
14670
0162321a 146712006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
14672
14673 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
14674 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
14675 target-specific flags should be prefixed.
14676 (PModule::rule): Likewise.
14677
6c826348 146782006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
14679
14680 * configure.ac (CMP): Check if cmp is available explicitly.
14681
b977bf01 146822006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
14683
14684 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
14685 (target_cpu): New variable.
14686 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 14687
b977bf01 14688 * util/i386/pc/grub-install.in (host_cpu): Removed.
14689 (target_cpu): New variable.
14690 (pkglibdir): Use target_cpu instead of host_cpu.
14691
14692 * util/genmoddep.c: Removed.
f19dbdb7 14693
b977bf01 14694 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
14695 instead of GRUB_HOST_SIZEOF_VOID_P.
14696 * kern/dl.c: Likewise.
14697
14698 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
14699 ...
14700 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14701 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14702 (GRUB_TARGET_SIZEOF_LONG): ... this.
14703 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14704 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14705 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14706 to ...
14707 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14708 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14709 (GRUB_TARGET_SIZEOF_LONG): ... this.
14710 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14711 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14712 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
14713 to ...
14714 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
14715 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
14716 (GRUB_TARGET_SIZEOF_LONG): ... this.
14717 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
14718 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
14719
14720 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
14721 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
14722 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
14723 instead of GRUB_HOST_SIZEOF_LONG.
14724 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
14725 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
14726 GRUB_CPU_WORDS_BIGENDIAN.
14727 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
14728 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
14729 grub_host_ssize_t.
14730
14731 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
14732 (genmoddep_SOURCES): Likewise.
14733 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
14734 (genmoddep_SOURCES): Likewise.
14735 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
14736 (genmoddep_SOURCES): Likewise.
14737 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
14738 Likewise.
14739 (genmoddep_SOURCES): Likewise.
14740
14741 * genmoddep.awk: New file.
14742
14743 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
14744 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
14745 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
14746 (PModule::rule): Likewise.
14747 (Program::rule): Likewise.
14748 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
14749 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
14750 respectively.
14751
14752 * configure.ac: Rewritten intensively to use host and target
14753 instead of build and host, respectively.
14754
14755 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
14756 (host_cpu): Removed.
14757 (target_cpu): New variable.
14758 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
14759 (BUILD_CC): Removed.
14760 (BUILD_CFLAGS): Likewise.
14761 (BUILD_CPPFLAGS): Likewise.
14762 (TARGET_CC): New variable.
14763 (TARGET_CFLAGS): Likewise.
14764 (TARGET_CPPFLAGS): Likewise.
14765 (TARGET_LDFLAGS): Likewise.
14766 (AWK): Likewise.
14767 (include): Use target_cpu instead of host_cpu.
14768 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 14769
b977bf01 14770 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
14771
f09771a1 147722006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
14773
14774 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
14775 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
14776 field 'false' to 'exec_on_false'.
14777 (grub_script_create_cmdif): Renamed argument names to reflect above
14778 changes.
14779
14780 * normal/execute.c (grub_script_execute_cmdif): Likewise.
14781
14782 * normal/script.c (grub_script_create_cmdif): Likewise.
14783
118f4fb3 147842006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
14785
14786 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
14787 top.
14788 (grub_hfsplus_btree_recptr): Likewise.
14789 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
14790 FILEBLOCK both to pass a block number and store next block
14791 number.
14792 (grub_hfsplus_read_block): Rewritten heavily to support an extent
14793 overflow file correctly. Specify errors appropriately, because
14794 fshelp expects that GRUB_ERRNO is set when fails. Reuse
14795 grub_hfsplus_btree_recptr to get the pointer to a found key.
14796 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
14797 is found.
14798
14799 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
14800 linux.mod.
14801 (_linux_mod_SOURCES): New variable.
14802 (_linux_mod_CFLAGS): Likewise.
14803 (_linux_mod_LDFLAGS): Likewise.
14804 (linux_mod_SOURCES): Likewise.
14805 (linux_mod_CFLAGS): Likewise.
14806 (linux_mod_LDFLAGS): Likewise.
14807
14808 * DISTLIST: Added loader/i386/efi/linux.c,
14809 loader/i386/efi/linux_normal.c and
14810 include/grub/i386/efi/loader.h.
14811
14812 * loader/i386/efi/linux.c: New file.
14813 * loader/i386/efi/linux_normal.c: Likewise.
14814 * include/grub/i386/efi/loader.h: Likewise.
14815
89a7d726 148162006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
14817
14818 * commands/blocklist.c: New file.
14819
14820 * DISTLIST: Added commands/blocklist.c.
14821
14822 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 14823 color for the background, and a darker color for the foreground.
89a7d726 14824 (grub_console_checkkey): Return READ_KEY.
14825 (grub_console_cls): Set the background to
14826 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
14827
14828 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
14829
14830 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
14831 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
14832
14833 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
14834 prototype.
14835
14836 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
14837 BG. The spec is wrong again.
14838
14839 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
14840 prototype.
14841 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
14842
14843 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
14844 commands/blocklist.c.
14845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 14846
89a7d726 14847 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
14848 (blocklist_mod_SOURCES): New variable.
14849 (blocklist_mod_CFLAGS): Likewise.
14850 (blocklist_mod_LDFLAGS): Likewise.
14851
75c8f258 148522006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
14853
14854 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
14855 duplication.
14856 (lba_mode): Use %eax more intensively to reduce the code size.
14857
da2eb181 148582006-05-20 Marco Gerards <marco@gnu.org>
14859
14860 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
14861
14862 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
14863 for `menuentry'.
14864 (script): Accept leading newlines.
14865 (newlines): New rule to describe 0 or more newlines.
14866 (commands): Accept `command' with trailing newline. Fixed the
14867 order in which arguments were passed to `grub_script_add_cmd'.
14868 Accept commands separated by newlines.
14869 (function): Changed to accept newlines.
14870 (menuentry) Rewritten.
14871
14872 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
14873 front of the list, instead of to the end.
14874
577b4050 148752006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
14876
14877 * util/i386/pc/grub-install.in (bindir): New variable.
14878 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
14879 Shaver <lbgwjl@gmail.com>.
14880
0d6e1189 148812006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
14882
14883 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
14884 grub/machine/linux.h
14885 * loader/i386/pc/linux.c: Likewise.
14886
14887 * include/grub/i386/pc/linux.h: Moved to ...
14888 * include/grub/i386/linux.h: ... here.
14889
14890 * include/grub/i386/linux.h (struct linux_kernel_params): New
14891 struct.
f19dbdb7 14892
31b86e9f 148932006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
14894
14895 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
14896 checking.
14897 (grub_video_vbe_blit_glyph): Likewise.
14898 (grub_video_vbe_blit_bitmap): Likewise.
14899 (grub_video_vbe_blit_render_target): Likewise.
14900
83b984de 149012006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
14902
14903 * configure.ac (--with-platform): Properly quote the square
14904 brackets.
14905
5f0413bd 149062006-05-08 Marco Gerards <marco@gnu.org>
14907
14908 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
14909 this...
14910 (kernel_elf_HEADERS): ...to this. Updated all users.
14911 (grubof_symlist.c): Renamed from this...
14912 (kernel_elf_symlist.c): ...to this. Updated all users.
14913 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14914 (grubof_SOURCES): Renamed from this...
14915 (kernel_elf_SOURCES): ...to this.
14916 (grubof_HEADERS): Renamed from this...
14917 (kernel_elf_HEADERS): ...to this.
14918 (grubof_CFLAGS): Renamed from this...
14919 (kernel_elf_CFLAGS): ...to this.
14920 (grubof_ASFLAGS): Renamed from this...
14921 (kernel_elf_ASFLAGS): ...to this.
14922 (grubof_LDFLAGS): Renamed from this...
14923 (kernel_elf_LDFLAGS): ...to this.
14924
14925 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
14926 this...
14927 (kernel_elf_HEADERS): ...to this. Updated all users.
14928 (grubof_symlist.c): Renamed from this...
14929 (kernel_elf_symlist.c): ...to this. Updated all users.
14930 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
14931 (grubof_SOURCES): Renamed from this...
14932 (kernel_elf_SOURCES): ...to this.
14933 (grubof_HEADERS): Renamed from this...
14934 (kernel_elf_HEADERS): ...to this.
14935 (grubof_CFLAGS): Renamed from this...
14936 (kernel_elf_CFLAGS): ...to this.
14937 (grubof_ASFLAGS): Renamed from this...
14938 (kernel_elf_ASFLAGS): ...to this.
14939 (grubof_LDFLAGS): Renamed from this...
14940 (kernel_elf_LDFLAGS): ...to this.
14941
14942 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
14943 `kernel.elf' instead of `grubof'.
14944
05568c2e 149452006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
14946
14947 Add --with-platform to configure. Use pkglibdir instead of
14948 pkgdatadir. This is reported by Roger Leigh.
14949
14950 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
14951 (host_vendor): Likewise.
14952 (host_os): Likewise.
14953 (pkgdatadir): Likewise.
14954 (platform): New variable.
14955 (pkglibdir): Likewise.
14956 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 14957
05568c2e 14958 * util/i386/pc/grub-install.in (datadir): Removed.
14959 (host_vendor): Likewise.
14960 (host_os): Likewise.
14961 (pkgdatadir): Likewise.
14962 (platform): New variable.
14963 (pkglibdir): Likewise.
14964 Use PKGLIBDIR instead of PKGDATADIR.
14965
14966 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
14967 instead of GRUB_DATADIR.
14968 (main): Likewise.
14969 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14970 (main): Likewise.
14971 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14972 (main): Likewise.
14973
14974 * configure.ac (--with-platform): New option.
14975 Use PLATFORM instead of HOST_VENDOR to specify a platform.
14976
14977 * Makefile.in: Include a makefile based on PLATFORM instead of
14978 HOST_VENDOR.
14979 (pkgdatadir): Not appended by the machine type.
14980 (pkglibdir): Appended by the machine type.
14981 (host_vendor): Removed.
14982 (platform): New variable.
14983 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
14984 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
14985 (uninstall): Likewise.
14986
4e93851c 149872006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
14988
14989 Use the environment context in the menu. Remove the commands
14990 "default" and "timeout", and use variables instead.
f19dbdb7 14991
4e93851c 14992 * normal/menu.c: Include grub/env.h.
14993 (print_entry): Cast TITLE to silence gcc.
14994 (get_timeout): New function.
14995 (set_timeout): Likewise.
14996 (get_entry_number): Likewise.
14997 (run_menu): Use a default entry, a fallback entry and a timeout
14998 in the environment variables "default", "fallback" and
14999 "timeout". Also, tweak the default entry if it is not within the
15000 current menu entries.
15001 (grub_menu_run): Use a fallback entry in the environment variable
15002 "fallback".
15003
15004 * normal/main.c (read_config_file): Do not initialize
15005 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
15006 NEWMENU->TIMEOUT.
15007 (grub_normal_execute): Use a data slot to store the menu.
15008
15009 * include/grub/normal.h (struct grub_menu): Removed default_entry,
15010 fallback_entry and timeout.
15011 (struct grub_menu_list): Removed.
15012 (grub_menu_list_t): Likewise.
15013 (struct grub_context): Likewise.
15014 (grub_context_t): Likewise.
15015 (grub_context_get): Likewise.
15016 (grub_context_get_current_menu): Likewise.
15017 (grub_context_push_menu): Likewise.
15018 (grub_context_pop_menu): Likewise.
15019 (grub_default_init): Likewise.
15020 (grub_default_fini): Likewise.
15021 (grub_timeout_init): Likewise.
15022 (grub_timeout_fini): Likewise.
15023
15024 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
15025 and timeout.mod.
15026 (normal_mod_SOURCES): Removed normal/context.c.
15027
15028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
15029 commands/default.c, commands/timeout.c and normal/context.c.
15030 (normal_mod_SOURCES): Removed normal/context.c.
15031
15032 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
15033 commands/timeout.c and normal/context.c.
15034 (normal_mod_SOURCES): Removed normal/context.c.
15035
15036 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
15037 commands/default.c, commands/timeout.c and normal/context.c.
15038 (normal_mod_SOURCES): Removed normal/context.c.
15039
15040 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
15041 timeout.mod.
15042 (default_mod_SOURCES): Removed.
15043 (default_mod_CFLAGS): Likewise.
15044 (default_mod_LDFLAGS): Likewise.
15045 (timeout_mod_SOURCES): Removed.
15046 (timeout_mod_CFLAGS): Likewise.
15047 (timeout_mod_LDFLAGS): Likewise.
15048
15049 * DISTLIST: Removed commands/default.c, commands/timeout.c and
15050 normal/context.c.
15051
15052 * commands/default.c: Removed.
15053 * commands/timeout.c: Likewise.
15054 * normal/context.c: Likewise.
15055
1eb9cc1d 150562006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
15057
15058 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
15059
385bd9c1 150602006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
15061
15062 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
15063 "next" to "prev" for readability.
15064 (struct grub_env_sorted_var): New struct.
15065 (grub_env_context): Renamed to ...
15066 (initial_context): ... this.
15067 (grub_env_var_context): Renamed to ...
15068 (current_context): ... this.
15069 (grub_env_find): Look only at CURRENT_CONTEXT.
15070 (grub_env_context_open): Rewritten to copy exported variables from
15071 previous context.
15072 (grub_env_context_close): Rewritten according to the new
15073 scheme. Also, add an assertion to prevent the initial context from
15074 removed.
15075 (grub_env_insert): Removed the code for the sorted list.
15076 (grub_env_remove): Likewise.
15077 (grub_env_export): Simply mark the variable with
15078 GRUB_ENV_VAR_GLOBAL.
15079 (grub_env_set): A cosmetic change for naming consistency.
15080 (grub_env_get): Likewise.
15081 (grub_env_unset): Likewise.
15082 (grub_env_iterate): Rewritten to sort variables within this
15083 function.
15084 (grub_register_variable_hook): Fixed for naming consistency. Call
15085 grub_env_find again, only if NAME is not found at the first time.
15086 (mangle_data_slot_name): New function.
15087 (grub_env_set_data_slot): Likewise.
15088 (grub_env_get_data_slot): Likewise.
15089 (grub_env_unset_data_slot): Likewise.
15090
15091 * include/grub/env.h (grub_env_var_type): New enum.
15092 (GRUB_ENV_VAR_LOCAL): New constant.
15093 (GRUB_ENV_VAR_GLOBAL): Likewise.
15094 (GRUB_ENV_VAR_DATA): Likewise.
15095 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
15096 "type".
15097 (grub_env_set): Replace VAR with NAME for consistency.
15098 (grub_register_variable_hook): Likewise.
15099 (grub_env_export): Specify the name of the argument.
15100 (grub_env_set_data_slot): New prototype.
15101 (grub_env_get_data_slot): Likewise.
15102 (grub_env_unset_data_slot): Likewise.
15103
7f362539 151042006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15105
15106 Extend the loader so that GRUB can accept a loader which comes
15107 back to GRUB when a loaded image exits. Also, this change adds
15108 support for a chainloader on EFI.
f19dbdb7 15109
7f362539 15110 * term/efi/console.c: Include grub/misc.h.
15111 (grub_console_checkkey): Display a scan code on the top for
15112 debugging. This will be removed once the EFI port gets stable.
15113 Correct the scan code mapping.
15114
15115 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
15116 allocate memory from larger regions, in order to reduce the number
15117 of allocated regions. Otherwise, the MacOSX loader panics.
15118 (filter_memory_map): Avoid less than 1MB for compatibility with
15119 other loaders.
15120 (add_memory_regions): Allocate from the tail of a region, if
15121 possible, to avoid allocating a region near to 1MB, for the MacOSX
15122 loader.
15123
15124 * kern/efi/init.c (grub_efi_set_prefix): Specify
15125 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
15126
15127 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
15128 argument IMAGE_HANDLE and specify it to get a loaded image.
15129 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
15130 grub_efi_get_loaded_image.
fe6b695a 15131 (grub_efi_get_filename): Divide the length by the size of
7f362539 15132 grub_efi_char16_t.
15133 (grub_efi_get_device_path): New function.
15134 (grub_efi_print_device_path): Print End Device Path nodes. Divide
15135 the length by the size of grub_efi_char16_t for a file path device
15136 path node.
15137
15138 * kern/loader.c (grub_loader_noreturn): New variable.
15139 (grub_loader_set): Accept a new argument NORETURN. Set
15140 GRUB_LOADER_NORETURN to NORETURN.
15141 All callers changed.
15142 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
15143 grub_machine_fini.
15144
15145 * include/grub/efi/efi.h (grub_efi_get_device_path): New
15146 prototype.
15147 (grub_efi_get_loaded_image): Take an argument to specify an image
15148 handle.
15149
15150 * include/grub/loader.h (grub_loader_set): Added one more argument
15151 NORETURN.
15152
15153 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
15154 instead of grub_efi_open_protocol.
15155 (grub_efidisk_get_device_name): Likewise.
15156 (grub_efidisk_close): Print a newline.
15157 (grub_efidisk_get_device_handle): Fixed to use
15158 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
15159 GRUB_EFI_DEVICE_PATH_TYPE.
15160
15161 * disk/efi/efidisk.c (device_path_guid): Moved to ...
15162 * kern/efi/efi.c (device_path_guid): ... here.
15163
15164 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
15165 chain.mod.
15166 (kernel_mod_HEADERS): Added efi/disk.h.
15167 (_chain_mod_SOURCES): New variable.
15168 (_chain_mod_CFLAGS): Likewise.
15169 (_chain_mod_LDFLAGS): Likewise.
15170 (chain_mod_SOURCES): Likewise.
15171 (chain_mod_CFLAGS): Likewise.
15172 (chain_mod_LDFLAGS): Likewise.
15173
15174 * DISTLIST: Added include/grub/efi/chainloader.h,
15175 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
15176
15177 * include/grub/efi/chainloader.h: New file.
15178 * loader/efi/chainloader.c: Likewise.
15179 * loader/efi/chainloader_normal.c: Likewise.
15180
c0111d6e 151812006-04-30 Marco Gerards <marco@gnu.org>
15182
15183 * commands/configfile.c (grub_cmd_source): New function.
15184 (GRUB_MOD_INIT): Register the commands `source' and `.'.
15185 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
15186
df5341da 151872006-04-30 Marco Gerards <marco@gnu.org>
15188
15189 * normal/execute.c (grub_script_execute_cmd): Change the return
15190 type to `grub_err_t'. Correctly return the error.
15191 (grub_script_execute_cmdline): In case a command line is not a
15192 command or a function, try to interpret it as an assignment.
15193
f85934bd 151942006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15195
15196 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
15197 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
15198 skip a node whose name is obviously invalid as UTF-16,
15199 i.e. contains a NUL character. Stop the iteration when the last
15200 directory entry is found. Instead of using the return value of
15201 grub_hfsplus_btree_iterate_node, store the value in RET and use
15202 it, because the iterator can be stopped by the last directory
15203 entry.
15204
8f8a2cf8 152052006-04-30 Marco Gerards <marco@gnu.org>
15206
15207 * include/grub/env.h (grub_env_export): New prototype. Reported
15208 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
15209
a27e84ce 152102006-04-30 Marco Gerards <marco@gnu.org>
15211
15212 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
15213 size of the extents in a catalog file record.
15214
eaef0553 152152006-04-29 Marco Gerards <marco@gnu.org>
15216
15217 * commands/configfile.c (grub_cmd_configfile): Execute the
15218 configfile within its own context.
15219
15220 * include/grub/env.h (grub_env_context_open): New prototype.
15221 (grub_env_context_close): Likewise.
15222
15223 * kern/env.c (grub_env): Removed.
15224 (grub_env_sorted): Likewise.
15225 (grub_env_context): New variable.
15226 (grub_env_var_context): Likewise.
15227 (grub_env_find): Search both the active context and the global
15228 context.
15229 (grub_env_context_open): New function.
15230 (grub_env_context_close): Likewise.
15231 (grub_env_insert): Likewise.
15232 (grub_env_remove): Likewise.
15233 (grub_env_export): Likewise.
15234 (grub_env_set): Changed to use helper functions to avoid code
15235 duplication.
15236 (grub_env_iterate): Rewritten so both the current context and the
15237 global context are being used.
15238
15239 * normal/command.c (export_command): New function.
15240 (grub_command_init): Register the `export' function.
15241
7b455f4d 152422006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
15243
15244 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
15245 explicitly to suppress gcc's warnings.
15246 * fs/fat.c (grub_fat_find_dir): Likewise.
15247 (grub_fat_label): Likewise.
15248 * fs/xfs.c (grub_xfs_read_inode): Likewise.
15249 (grub_xfs_mount): Likewise.
15250 (grub_xfs_label): Likewise.
15251 * fs/affs.c (grub_affs_mount): Likewise.
15252 (grub_affs_label): Likewise.
15253 (grub_affs_iterate_dir): Likewise.
15254 * fs/sfs.c (grub_sfs_mount): Likewise.
15255 (grub_sfs_iterate_dir): Likewise.
15256 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
15257 * fs/hfs.c (grub_hfs_mount): Likewise.
15258 (grub_hfs_cmp_catkeys): Likewise.
15259 (grub_hfs_find_dir): Likewise.
15260 (grub_hfs_dir): Likewise.
15261 (grub_hfs_label): Likewise.
15262 * fs/jfs.c (grub_jfs_mount): Likewise.
15263 (grub_jfs_opendir): Likewise.
15264 (grub_jfs_getent): Likewise.
15265 (grub_jfs_lookup_symlink): Likewise.
15266 (grub_jfs_label): Likewise.
15267 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
15268 (grub_hfsplus_iterate_dir): Likewise.
15269 (grub_hfsplus_btree_iterate_node): Made static.
15270
15271 * util/grub-emu.c (prefix): New variable.
15272 (grub_machine_set_prefix): New function.
15273 (main): Do not set the environment variable "prefix" here. Only
15274 set PREFIX, which is used later by grub_machine_set_prefix.
15275
15276 * include/grub/video.h: Do not include grub/symbol.h.
15277 (grub_video_register): Not exported. This symbol is not defined in
15278 the kernel.
15279 (grub_video_unregister): Likewise.
15280 (grub_video_iterate): Likewise.
15281 (grub_video_setup): Likewise.
15282 (grub_video_restore): Likewise.
15283 (grub_video_get_info): Likewise.
15284 (grub_video_get_blit_format): Likewise.
15285 (grub_video_set_palette): Likewise.
15286 (grub_video_get_palette): Likewise.
15287 (grub_video_set_viewport): Likewise.
15288 (grub_video_get_viewport): Likewise.
15289 (grub_video_map_color): Likewise.
15290 (grub_video_map_rgb): Likewise.
15291 (grub_video_map_rgba): Likewise.
15292 (grub_video_fill_rect): Likewise.
15293 (grub_video_blit_glyph): Likewise.
15294 (grub_video_blit_bitmap): Likewise.
15295 (grub_video_blit_render_target): Likewise.
15296 (grub_video_scroll): Likewise.
15297 (grub_video_swap_buffers): Likewise.
15298 (grub_video_create_render_target): Likewise.
15299 (grub_video_delete_render_target): Likewise.
15300 (grub_video_set_active_render_target): Likewise.
15301
15302 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
15303 Undefined.
15304 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
15305
15306 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
15307 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15308 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15309 instead of $(srcdir)/genkernsyms.sh.
15310
15311 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
15312 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15313 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15314 instead of $(srcdir)/genkernsyms.sh.
15315
15316 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
15317 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15318 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15319 instead of $(srcdir)/genkernsyms.sh.
15320
15321 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
15322 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
15323 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
15324 instead of $(srcdir)/genkernsyms.sh.
15325
15326 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
15327 genkernsyms.sh.
15328
15329 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
15330 genkernsyms.sh.
15331 (gensymlist.sh): New target.
15332 (genkernsyms.sh): Likewise.
15333
15334 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
15335 genkernsyms.sh.in and gensymlist.sh.in.
15336
15337 * genkernsyms.sh: Removed.
15338 * gensymlist.sh: Likewise.
f19dbdb7 15339
7b455f4d 15340 * genkernsyms.sh.in: New file.
15341 * gensymlist.sh.in: Likewise.
15342
1885bb27 153432006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15344
15345 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
15346 clobber "prefix", since we may have already set it manually.
15347
71538dff 153482006-04-25 Hollis Blanchard <hollis@penguinppc.org>
15349
15350 * kern/misc.c (abort): New alias for grub_abort.
15351
2965c7cc 153522006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
15353
15354 A new machine-specific function "grub_machine_set_prefix" is
15355 defined. This is called after loading modules, so that a prefix
15356 initialization can use modules. Also, this change adds an
15357 intensive debugging feature for the memory manager via the
15358 configure option "--enable-mm-debug".
f19dbdb7 15359
2965c7cc 15360 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
15361 PART.LEN.
15362
15363 * kern/sparc64/ieee1275/init.c (abort): Removed.
15364 (grub_stop): Likewise.
15365 (grub_exit): New function.
15366 (grub_set_prefix): Renamed to ...
15367 (grub_machine_set_prefix): ... this.
15368 (grub_machine_init): Do not call grub_set_prefix.
15369
15370 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
15371 (grub_machine_set_prefix): ... this.
15372 (grub_machine_init): Do not call grub_set_prefix.
15373
15374 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
15375 (grub_machine_init): Do not set the prefix here.
15376
15377 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
15378
15379 * kern/efi/init.c: Include grub/mm.h.
15380 (grub_efi_set_prefix): New function.
15381
15382 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
15383 (grub_efi_get_filename): New function.
15384 (grub_print_device_path): Renamed to ...
15385 (grub_efi_print_device_path): ... this.
15386
15387 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
15388 [MM_DEBUG] (grub_realloc): Likewise.
15389 [MM_DEBUG] (grub_free): Likewise.
15390 [MM_DEBUG] (grub_memalign): Likewise.
15391 [MM_DEBUG] (grub_mm_debug): New variable.
15392 [MM_DEBUG] (grub_debug_malloc): New function.
15393 [MM_DEBUG] (grub_debug_free): New function.
15394 [MM_DEBUG] (grub_debug_realloc): New function.
15395 [MM_DEBUG] (grub_debug_memalign): New function.
15396
15397 * kern/misc.c (grub_abort): Print a newline to distinguish
15398 the message.
15399
15400 * kern/main.c (grub_main): Call grub_machine_set_prefix and
15401 grub_set_root_dev after loading modules. This is necessary when
15402 setting a prefix depends on modules.
15403
15404 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
15405 (grub_efi_print_device_path): ... this.
15406 (grub_efi_get_filename): New prototype.
15407 (grub_efi_set_prefix): Likewise.
15408
15409 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
15410 and grub/disk.h.
15411 (grub_efidisk_get_device_handle): New prototype.
15412 (grub_efidisk_get_device_name): Likewise.
15413
15414 * include/grub/mm.h: Include config.h.
15415 (MM_DEBUG): Removed.
15416 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
15417 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
15418 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
15419 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
15420 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
15421 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
15422 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
15423 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
15424 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
15425
15426 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
15427
15428 * disk/efi/efidisk.c: Include grub/partition.h.
15429 (iterate_child_devices): New function.
15430 (add_device): First, compare only last device path nodes, so that
15431 devices are sorted by the types.
15432 (grub_efidisk_get_device_handle): New function.
15433 (grub_efidisk_get_device_name): Likewise.
15434
15435 * configure.ac (--enable-mm-debug): New option to enable the
15436 memory manager debugging feature. This makes the binary much
15437 bigger, so is disabled by default.
15438
9cacaa17 154392006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
15440
15441 Use grub_abort instead of grub_stop, and grub_exit must be
15442 define in each architecture now. Also, this change adds support
15443 for EFI disks.
f19dbdb7 15444
9cacaa17 15445 * util/i386/pc/grub-probefs.c: Include grub/term.h.
15446 (grub_getkey): New function.
15447 (grub_term_get_current): Likewise.
15448
15449 * util/i386/pc/grub-setup.c: Include grub/term.h.
15450 (grub_getkey): New function.
15451 (grub_term_get_current): Likewise.
15452
15453 * util/misc.c (grub_stop): Renamed to ...
15454 (grub_exit): ... this.
15455
15456 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
15457 (grub_exit): ... this.
15458 (grub_machine_init): Use grub_abort instead of abort.
15459 (grub_stop): Removed.
15460
15461 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
15462 abort.
15463
15464 * kern/i386/pc/startup.S (grub_exit): New function.
15465 (cold_reboot): New label.
15466
15467 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
15468 (grub_efi_init): Call grub_efidisk_init.
15469 (grub_efi_fini): Call grub_efidisk_fini.
15470
15471 * kern/efi/efi.c: Include grub/mm.h.
15472 (grub_efi_console_control_guid): Renamed to ...
15473 (console_control_guid): ... this.
15474 (grub_efi_loaded_image_guid): Renamed to ...
15475 (loaded_image_guid): ... this.
15476 (grub_efi_locate_handle): New function.
15477 (grub_efi_open_protocol): Likewise.
15478 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
15479 GRUB_EFI_CONSOLE_CONTROL_GUID.
15480 (grub_efi_exit): Removed.
15481 (grub_stop): Likewise.
15482 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
15483 (grub_exit): New function.
15484 (grub_print_device_path): Likewise.
15485
15486 * kern/rescue.c (grub_rescue_cmd_exit): New function.
15487 (grub_enter_rescue_mode): Register "exit".
15488
15489 * kern/misc.c (grub_real_dprintf): A cosmetic change.
15490 (grub_abort): New function.
15491
15492 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
15493
15494 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
15495
15496 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
15497
15498 * include/grub/efi/efi.h (grub_efi_exit): Removed.
15499 (grub_print_device_path): New prototype.
15500 (grub_efi_locate_handle): Likewise.
15501 (grub_efi_open_protocol): Likewise.
15502
15503 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
15504 * disk/efi/efidisk.c: Likewise.
15505
15506 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
15507
15508 * include/grub/efi/console_control.h
15509 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
15510
15511 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
15512 last 8 bytes as an array.
15513 (GRUB_EFI_DISK_IO_GUID): New macro.
15514 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
15515 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
15516 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
15517 grub_uint8_t.
15518 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
15519 (struct grub_efi_device_path): Rename the member "sub_type" to
15520 "subtype".
15521 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
15522 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
15523 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
15524 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
15525 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
15526 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
15527 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
15528 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
15529 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
15530 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
15531 (struct grub_efi_pci_device_path): New structure.
15532 (grub_efi_pci_device_path_t): New type.
15533 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
15534 (struct grub_efi_pccard_device_path): New structure.
15535 (grub_efi_pccard_device_path_t): New type.
15536 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
15537 (struct grub_efi_memory_mapped_device_path): New structure.
15538 (grub_efi_memory_mapped_device_path_t): New type.
15539 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
15540 (struct grub_efi_vendor_device_path): New structure.
15541 (grub_efi_vendor_device_path_t): New type.
15542 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
15543 (struct grub_efi_controller_device_path): New structure.
15544 (grub_efi_controller_device_path_t): New type.
15545 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
15546 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
15547 (struct grub_efi_acpi_device_path): New structure.
15548 (grub_efi_acpi_device_path_t): New type.
15549 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
15550 (struct grub_efi_expanded_acpi_device_path): New structure.
15551 (grub_efi_expanded_acpi_device_path_t): New type.
15552 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
15553 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
15554 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
15555 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
15556 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
15557 (struct grub_efi_atapi_device_path): New structure.
15558 (grub_efi_atapi_device_path_t): New type.
15559 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
15560 (struct grub_efi_fibre_channel_device_path): New structure.
15561 (grub_efi_fibre_channel_device_path_t): New type.
15562 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
15563 (struct grub_efi_1394_device_path): New structure.
15564 (grub_efi_1394_device_path_t): New type.
15565 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
15566 (struct grub_efi_usb_device_path): New structure.
15567 (grub_efi_usb_device_path_t): New type.
15568 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
15569 (struct grub_efi_usb_class_device_path): New structure.
15570 (grub_efi_usb_class_device_path_t): New type.
15571 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
15572 (struct grub_efi_i2o_device_path): New structure.
15573 (grub_efi_i2o_device_path_t): New type.
15574 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
15575 (struct grub_efi_mac_address_device_path): New structure.
15576 (grub_efi_mac_address_device_path_t): New type.
15577 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
15578 (struct grub_efi_ipv4_device_path): New structure.
15579 (grub_efi_ipv4_device_path_t): New type.
15580 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
15581 (struct grub_efi_ipv6_device_path): New structure.
15582 (grub_efi_ipv6_device_path_t): New type.
15583 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
15584 (struct grub_efi_infiniband_device_path): New structure.
15585 (grub_efi_infiniband_device_path_t): New type.
15586 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
15587 (struct grub_efi_uart_device_path): New structure.
15588 (grub_efi_uart_device_path_t): New type.
15589 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
15590 (struct grub_efi_vendor_messaging_device_path): New structure.
15591 (grub_efi_vendor_messaging_device_path_t): New type.
15592 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
15593 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
15594 (struct grub_efi_hard_drive_device_path): New structure.
15595 (grub_efi_hard_drive_device_path_t): New type.
15596 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
15597 (struct grub_efi_cdrom_device_path): New structure.
15598 (grub_efi_cdrom_device_path_t): New type.
15599 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
15600 (struct grub_efi_vendor_media_device_path): New structure.
15601 (grub_efi_vendor_media_device_path_t): New type.
15602 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
15603 (struct grub_efi_file_path_device_path): New structure.
15604 (grub_efi_file_path_device_path_t): New type.
15605 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
15606 (struct grub_efi_protocol_device_path): New structure.
15607 (grub_efi_protocol_device_path_t): New type.
15608 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
15609 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
15610 (struct grub_efi_bios_device_path): New structure.
15611 (grub_efi_bios_device_path_t): New type.
15612 (struct grub_efi_disk_io): New structure.
15613 (grub_efi_disk_io_t): New type.
15614 (struct grub_efi_block_io_media): New structure.
15615 (grub_efi_block_io_media_t): New type.
15616 (struct grub_efi_block_io): New structure.
15617 (grub_efi_block_io_t): New type.
15618
15619 * include/grub/misc.h (grub_stop): Removed.
15620 (grub_exit): New prototype.
15621 (grub_abort): Likewise.
15622
15623 * include/grub/disk.h (enum grub_disk_dev_id): Added
15624 GRUB_DISK_DEVICE_EFIDISK_ID.
15625
15626 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
15627 disk/efi/efidisk.c.
15628 (kernel_syms.lst): Remove the target if an error occurs.
15629
49986a9f 156302006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
15631
15632 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
15633 as it was simply too buggy.
15634
970d3b8a 156352006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
15636
15637 * kern/misc.c (grub_lltoa): New function.
15638 (grub_vsprintf): Added support for the long long suffix,
15639 i.e. "ll".
15640
ff04ec24 156412006-04-20 Hollis Blanchard <hollis@penguinppc.org>
15642
15643 * Makefile.in (LDFLAGS): Add variable.
15644 (LD): Remove variable.
15645 * configure.ac: Add -m32 to LDFLAGS.
15646 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
15647 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
15648 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
15649 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
15650 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
15651 variables.
15652 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
15653 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
15654 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
15655
37e5e1a4 156562006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
15657
15658 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
15659 length for unknown glyph.
15660
c352d8dd 156612006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
15662
2eab1c0d 15663 Add support for pre-loaded modules into the EFI port.
f19dbdb7 15664
2eab1c0d 15665 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
15666 completely. Accept one more argument DIR. The caller has changed.
15667
15668 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
15669
15670 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
15671 (grub_efi_loaded_image_guid): New variable.
15672 (grub_efi_get_loaded_image): New function.
15673 (grub_arch_modules_addr): Likewise.
15674
15675 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
15676 prototype.
15677
15678 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
15679 (struct grub_efi_loaded_image): New structure.
15680 (grub_efi_loaded_image_t): New type.
15681
156822006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 15683
c352d8dd 15684 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
15685 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
15686 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
15687
6d01d6b4 156882006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
15689
15690 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
15691
976a4ea0 156922006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
15693
15694 * DISTLIST: Added include/grub/efi/console.h,
15695 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
15696 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15697
15698 * include/grub/efi/console.h: New file.
15699 * include/grub/efi/time.h: Likewise.
15700 * include/grub/i386/efi/kernel.h: Likewise.
15701 * kern/efi/init.c: Likewise.
15702 * kern/efi/mm.c: Likewise.
15703 * term/efi/console.c: Likewise.
f19dbdb7 15704
976a4ea0 15705 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
15706 (grub_stop): Removed.
15707 (grub_get_rtc): Likewise.
15708 (grub_machine_init): Simply call grub_efi_init.
15709 (grub_machine_fini): Call grub_efi_fini.
15710
15711 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
15712 (grub_efi_output_string): Removed.
15713 (grub_efi_stall): New function.
15714 (grub_stop): Likewise.
15715 (grub_get_rtc): Likewise.
15716
15717 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
15718 (grub_efi_stall): New prototype.
15719 (grub_efi_allocate_pages): Likewise.
15720 (grub_efi_free_pages): Likewise.
15721 (grub_efi_get_memory_map): Likewise.
15722 (grub_efi_mm_init): Likewise.
15723 (grub_efi_mm_fini): Likewise.
15724 (grub_efi_init): Likewise.
15725 (grub_efi_fini): Likewise.
15726
15727 * include/grub/i386/efi/time.h: Do not include
15728 grub/symbol.h. Include grub/efi/time.h.
15729 (GRUB_TICKS_PER_SECOND): Removed.
15730 (grub_get_rtc): Likewise.
15731
15732 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
15733 Added padding. The EFI spec is buggy.
15734 (GRUB_EFI_BLACK): New macro.
15735 (GRUB_EFI_BLUE): Likewise.
15736 (GRUB_EFI_GREEN): Likewise.
15737 (GRUB_EFI_CYAN): Likewise.
15738 (GRUB_EFI_RED): Likewise.
15739 (GRUB_EFI_MAGENTA): Likewise.
15740 (GRUB_EFI_BROWN): Likewise.
15741 (GRUB_EFI_LIGHTGRAY): Likewise.
15742 (GRUB_EFI_BRIGHT): Likewise.
15743 (GRUB_EFI_DARKGRAY): Likewise.
15744 (GRUB_EFI_LIGHTBLUE): Likewise.
15745 (GRUB_EFI_LIGHTGREEN): Likewise.
15746 (GRUB_EFI_LIGHTCYAN): Likewise.
15747 (GRUB_EFI_LIGHTRED): Likewise.
15748 (GRUB_EFI_LIGHTMAGENTA): Likewise.
15749 (GRUB_EFI_YELLOW): Likewise.
15750 (GRUB_EFI_WHITE): Likewise.
15751 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
15752 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
15753 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
15754 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
15755 (GRUB_EFI_BACKGROUND_RED): Likewise.
15756 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
15757 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
15758 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
15759 (GRUB_EFI_TEXT_ATTR): Likewise.
15760
15761 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
15762 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
15763 (kernel_mod_HEADERS): Added efi/time.h.
15764
83709125 157652006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
15766
15767 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
15768 include/grub/efi/api.h, include/grub/efi/console_control.h,
15769 include/grub/efi/efi.h, include/grub/efi/pe32.h,
15770 include/grub/i386/efi/time.h, kern/efi/efi.c,
15771 kern/i386/efi/init.c, kern/i386/efi/startup.S,
15772 and util/i386/efi/grub-mkimage.c.
15773
15774 * Makefile.in (RMKFILES): Added i386-efi.rmk.
15775
15776 * genmk.rb (PModule#rule): Do not export symbols if
15777 #{prefix}_EXPORTS is set to "no".
15778
15779 * conf/i386-efi.mk: New file.
15780 * conf/i386-efi.rmk: Likewise.
15781 * include/grub/efi/api.h: Likewise.
15782 * include/grub/efi/console_control.h: Likewise.
15783 * include/grub/efi/efi.h: Likewise.
15784 * include/grub/efi/pe32.h: Likewise.
15785 * include/grub/i386/efi/time.h: Likewise.
15786 * kern/efi/efi.c: Likewise.
15787 * kern/i386/efi/init.c: Likewise.
15788 * kern/i386/efi/startup.S: Likewise.
15789 * util/i386/efi/grub-mkimage.c: Likewise.
15790
157912006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 15792
15793 * include/grub/script.h: Include <grub/parser.h> and
15794 "grub_script.tab.h".
15795 (struct grub_lexer_param): New struct.
15796 (struct grub_parser_param): Likewise.
15797 (grub_script_create_arglist): Pass the state in an argument.
15798 (grub_script_add_arglist): Likewise.
15799 (grub_script_create_cmdline): Likewise.
15800 (grub_script_create_cmdblock): Likewise.
15801 (grub_script_create_cmdif): Likewise.
15802 (grub_script_create_cmdmenu): Likewise.
15803 (grub_script_add_cmd): Likewise.
15804 (grub_script_arg_add): Likewise.
15805 (grub_script_lexer_ref): Likewise.
15806 (grub_script_lexer_deref): Likewise.
15807 (grub_script_lexer_record_start): Likewise.
15808 (grub_script_lexer_record_stop): Likewise.
15809 (grub_script_mem_record): Likewise.
15810 (grub_script_mem_record_stop): Likewise.
15811 (grub_script_malloc): Likewise.
15812 (grub_script_yylex): Likewise.
15813 (grub_script_yyparse): Likewise.
15814 (grub_script_yyerror): Likewise.
15815 (grub_script_yylex): Likewise.
15816 (grub_script_lexer_init): Return the state.
15817
15818 * normal/lexer.c (grub_script_lexer_state): Removed variable.
15819 (grub_script_lexer_done): Likewise.
15820 (grub_script_lexer_getline): Likewise.
15821 (grub_script_lexer_refs): Likewise.
15822 (script): Likewise.
15823 (newscript): Likewise.
15824 (record): Likewise.
15825 (recording): Likewise.
15826 (recordpos): Likewise.
15827 (recordlen): Likewise.
15828 (grub_script_lexer_init): Return the state instead of setting
15829 global variables.
15830 (grub_script_lexer_ref): Use the newly added argument for state
15831 instead of globals.
15832 (grub_script_lexer_deref): Likewise.
15833 (grub_script_lexer_record_start): Likewise.
15834 (grub_script_lexer_record_stop): Likewise.
15835 (recordchar): Likewise.
15836 (nextchar): Likewise.
15837 (grub_script_yylex2): Likewise.
15838 (grub_script_yylex): Likewise.
15839 (grub_script_yyerror): Likewise.
15840
15841 * normal/parser.y (func_mem): Removed variable.
15842 (menu_entry): Likewise.
15843 (err): Likewise.
15844 (%lex-param): New parser option.
15845 (%parse-param): Likewise.
15846 (script): Always return the AST.
15847 (argument): Pass the state around.
15848 (arguments): Likewise.
15849 (grubcmd): Likewise.
15850 (commands): Likewise.
15851 (function): Likewise.
15852 (menuentry): Likewise.
15853 (if_statement): Likewise.
15854 (if): Likewise.
15855
15856 * normal/script.c (grub_script_memused): Removed variable.
15857 (grub_script_parsed): Likewise.
15858 (grub_script_malloc): Added a state argument. Use that instead of
15859 global variables.
15860 (grub_script_mem_record): Likewise.
15861 (grub_script_mem_record_stop): Likewise.
15862 (grub_script_arg_add): Likewise.
15863 (grub_script_add_arglist): Likewise.
15864 (grub_script_create_cmdline): Likewise.
15865 (grub_script_create_cmdif): Likewise.
15866 (grub_script_create_cmdmenu): Likewise.
15867 (grub_script_add_cmd): Likewise.
15868 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 15869
e2a8c904 158702006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 15871
15872 * normal/command.c (grub_command_init): Remove the title command.
15873
15874 * normal/lexer.c (grub_script_yylex): Renamed from this...
15875 (grub_script_yylex2): ... to this.
15876 (grub_script_yylex): New function. Temporary
15877 introduced to filter some tokens.
15878 (grub_script_yyerror): Print a newline.
15879
15880 * normal/main.c (read_config_file): Output information about the
15881 lines that contain errors. Wait for a key after all lines have
15882 been processed. Don't return an empty menu.
15883
15884 * normal/parser.y (func_mem): Don't initialize.
15885 (menu_entry): Likewise.
15886 (err): New variable.
15887 (script): Don't return anything when an error was encountered.
15888 (ws, returns): Removed rules.
15889 (argument): Disabled concatenated variable support.
15890 (arguments): Remove explicit separators.
15891 (grubcmd): Likewise.
15892 (function): Likewise.
15893 (menuentry): Likewise.
15894 (if): Likewise.
15895 (commands): Likewise. Add error handling.
15896
15897 * normal/script.c (grub_script_create_cmdline): If
15898 `grub_script_parsed' is 0, assume the parser encountered an error.
15899
c9a86192 159002006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
15901
15902 * configure.ac: Add support for EFI. Fix the typo
15903 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
15904
70f3b243 159052006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15906
15907 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
15908 foreign multibyte characters should be shown correctly.
15909
65f201ad 159102006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
15911
15912 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
15913 calculation.
15914 (read_config_file): Made it to close file before returning.
15915
b4b93674 159162006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
15917
15918 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
15919 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
15920 video/i386/pc/vbefill.c.
15921
15922 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
15923 video/i386/pc/vbefill.c.
15924
15925 * include/grub/video.h (grub_video_blit_format): New enum.
15926 (grub_video_mode_info): Added new member blit_format.
15927 (grub_video_get_blit_format): New function prototype.
15928
15929 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
15930 function prototype.
15931 (grub_video_vbe_map_rgb): Likewise.
15932 (grub_video_vbe_unmap_color): Likewise.
15933
15934 * include/grub/i386/pc/vbeblit.h: New file.
15935
15936 * include/grub/i386/pc/vbefill.h: New file.
15937
15938 * video/video.c (grub_video_get_blit_format): New function.
15939 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
15940 (grub_video_vbe_map_rgb): Likewise.
15941 (grub_video_vbe_unmap_color): Likewise.
15942
15943 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
15944 optimized fills.
15945 (grub_video_vbe_blit_render_target): Changed to use more optimized
15946 blits.
15947 (grub_video_vbe_setup): Added detection for optimized settings.
15948 (grub_video_vbe_create_render_target): Likewise.
15949
15950 * video/i386/pc/vbeblit.c: New file.
15951
15952 * video/i386/pc/vbefill.c: New file.
15953
c2379b9c 159542006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
15955
15956 * font/manager.c (grub_font_get_glyph): Removed font fixup from
15957 here...
15958
15959 * util/unifont2pff.rb: ... and moved it to here. Improved argument
15960 parsing to support both hex and dec ranges. If filename was missing
15961 show usage information.
15962
bd0d7896 159632006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
15964
15965 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
15966 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
15967
15968 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
15969 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
15970 (video_mod_SOURCES): Added.
15971 (video_mod_CFLAGS): Likewise.
15972 (video_mod_LDFLAGS): Likewise.
15973 (gfxterm_mod_SOURCES): Likewise.
15974 (gfxterm_mod_CFLAGS): Likewise.
15975 (gfxterm_mod_LDFLAGS): Likewise.
15976 (videotest_mod_SOURCES): Likewise.
15977 (videotest_mod_CFLAGS): Likewise.
15978 (videotest_mod_LDFLAGS): Likewise.
15979 (vesafb_mod_SOURCES): Removed.
15980 (vesafb_mod_CFLAGS): Likewise.
15981 (vesafb_mod_LDFLAGS): Likewise.
15982 (vga_mod_SOURCES): Likewise.
15983 (vga_mod_CFLAGS): Likewise.
15984 (vga_mod_LDFLAGS): Likewise.
15985
15986 * commands/videotest.c: New file.
15987
15988 * font/manager.c (fill_with_default_glyph): Modified to use
15989 grub_font_glyph.
15990 (grub_font_get_glyph): Likewise.
15991 (fontmanager): Renamed from this...
15992 (font_manager): ... to this.
15993
15994 * include/grub/font.h (grub_font_glyph): Added new structure.
15995 (grub_font_get_glyph): Modified to use grub_font_glyph.
15996
15997 * include/grub/misc.h (grub_abs): Added as inline function.
15998
15999 * include/grub/video.h: New file.
16000
16001 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
16002 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
16003 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
16004 (grub_vbe_get_controller_info): Renamed from this...
16005 (grub_vbe_bios_get_controller_info): ... to this.
16006 (grub_vbe_get_mode_info): Renamed from this...
16007 (grub_vbe_bios_get_mode_info): ... to this.
16008 (grub_vbe_set_mode): Renamed from this...
16009 (grub_vbe_bios_set_mode): ... to this.
16010 (grub_vbe_get_mode): Renamed from this...
16011 (grub_vbe_bios_get_mode): ... to this.
16012 (grub_vbe_set_memory_window): Renamed from this...
16013 (grub_vbe_bios_set_memory_window): ... to this.
16014 (grub_vbe_get_memory_window): Renamed from this...
16015 (grub_vbe_bios_get_memory_window): ... to this.
16016 (grub_vbe_set_scanline_length): Renamed from this...
16017 (grub_vbe_set_scanline_length): ... to this.
16018 (grub_vbe_get_scanline_length): Renamed from this...
16019 (grub_vbe_bios_get_scanline_length): ... to this.
16020 (grub_vbe_set_display_start): Renamed from this...
16021 (grub_vbe_bios_set_display_start): ... to this.
16022 (grub_vbe_get_display_start): Renamed from this...
16023 (grub_vbe_bios_get_display_start): ... to this.
16024 (grub_vbe_set_palette_data): Renamed from this...
16025 (grub_vbe_bios_set_palette_data): ... to this.
16026 (grub_vbe_set_pixel_rgb): Removed.
16027 (grub_vbe_set_pixel_index): Likewise.
16028
16029 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
16030 from this...
16031 (grub_vbe_bios_get_controller_info): ... to this.
16032 (grub_vbe_get_mode_info): Renamed from this...
16033 (grub_vbe_bios_get_mode_info): ... to this.
16034 (grub_vbe_set_mode): Renamed from this...
16035 (grub_vbe_bios_set_mode): ... to this.
16036 (grub_vbe_get_mode): Renamed from this...
16037 (grub_vbe_bios_get_mode): ... to this.
16038 (grub_vbe_set_memory_window): Renamed from this...
16039 (grub_vbe_bios_set_memory_window): ... to this.
16040 (grub_vbe_get_memory_window): Renamed from this...
16041 (grub_vbe_bios_get_memory_window): ... to this.
16042 (grub_vbe_set_scanline_length): Renamed from this...
16043 (grub_vbe_set_scanline_length): ... to this.
16044 (grub_vbe_get_scanline_length): Renamed from this...
16045 (grub_vbe_bios_get_scanline_length): ... to this.
16046 (grub_vbe_set_display_start): Renamed from this...
16047 (grub_vbe_bios_set_display_start): ... to this.
16048 (grub_vbe_get_display_start): Renamed from this...
16049 (grub_vbe_bios_get_display_start): ... to this.
16050 (grub_vbe_set_palette_data): Renamed from this...
16051 (grub_vbe_bios_set_palette_data): ... to this.
16052 (grub_vbe_bios_get_controller_info): Fixed problem with registers
16053 getting corrupted after calling it. Added more pushes and pops.
16054 (grub_vbe_bios_set_mode): Likewise.
16055 (grub_vbe_bios_get_mode): Likewise.
16056 (grub_vbe_bios_get_memory_window): Likewise.
16057 (grub_vbe_bios_set_scanline_length): Likewise.
16058 (grub_vbe_bios_get_scanline_length): Likewise.
16059 (grub_vbe_bios_get_display_start): Likewise.
16060 (grub_vbe_bios_set_palette_data): Likewise.
16061
16062 * normal/cmdline.c (cl_set_pos): Refresh the screen.
16063 (cl_insert): Likewise.
16064 (cl_delete): Likewise.
16065
16066 * term/gfxterm.c: New file.
16067
16068 * term/i386/pc/vesafb.c: Removed file.
16069
16070 * video/video.c: New file.
16071
16072 * video/i386/pc/vbe.c (real2pm): Added new function.
16073 (grub_video_vbe_draw_pixel): Likewise.
16074 (grub_video_vbe_get_video_ptr): Likewise.
16075 (grub_video_vbe_get_pixel): Likewise
16076 (grub_video_vbe_init): Likewise.
16077 (grub_video_vbe_fini): Likewise.
16078 (grub_video_vbe_setup): Likewise.
16079 (grub_video_vbe_get_info): Likewise.
16080 (grub_video_vbe_set_palette): Likewise.
16081 (grub_video_vbe_get_palette): Likewise.
16082 (grub_video_vbe_set_viewport): Likewise.
16083 (grub_video_vbe_get_viewport): Likewise.
16084 (grub_video_vbe_map_color): Likewise.
16085 (grub_video_vbe_map_rgb): Likewise.
16086 (grub_video_vbe_map_rgba): Likewise.
16087 (grub_video_vbe_unmap_color): Likewise.
16088 (grub_video_vbe_fill_rect): Likewise.
16089 (grub_video_vbe_blit_glyph): Likewise.
16090 (grub_video_vbe_blit_bitmap): Likewise.
16091 (grub_video_vbe_blit_render_target): Likewise.
16092 (grub_video_vbe_scroll): Likewise.
16093 (grub_video_vbe_swap_buffers): Likewise.
16094 (grub_video_vbe_create_render_target): Likewise.
16095 (grub_video_vbe_delete_render_target): Likewise.
16096 (grub_video_vbe_set_active_render_target): Likewise.
16097 (grub_vbe_set_pixel_rgb): Remove function.
16098 (grub_vbe_set_pixel_index): Likewise.
16099 (index_color_mode): Remove static variable.
16100 (active_mode): Likewise.
16101 (framebuffer): Likewise.
16102 (bytes_per_scan_line): Likewise.
16103 (grub_video_vbe_adapter): Added new static variable.
16104 (framebuffer): Likewise.
16105 (render_target): Likewise.
16106 (initial_mode): Likewise.
16107 (mode_in_use): Likewise.
16108 (mode_list): Likewise.
16109
5f97350b 161102006-03-10 Marco Gerards <marco@gnu.org>
16111
16112 * configure.ac (AC_INIT): Bumped to 1.93.
16113
16114 * DISTLIST: Added `include/grub/hfs.h'.
16115
a3c5c6f8 161162006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
16117
16118 * boot/i386/pc/boot.S (general_error): Before looping, try INT
16119 18H, which might help the BIOS falling back to next boot media.
16120
6de53d26 161212006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
16122
16123 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
16124 Poe Chen <poe.poechen@gmail.com>.
16125
77c4a393 161262006-01-17 Marco Gerards <marco@gnu.org>
16127
16128 * include/grub/normal.h: Include <grub/script.h>.
16129 (grub_command_list): Removed struct.
16130 (grub_command_list_t): Removed type.
16131 (grub_menu_entry): Remove members `num' and `command_list'. Add
16132 members `commands' and `sourcecode'.
16133 * include/grub/script.h: Add inclusion guards.
16134 (grub_script_cmd_menuentry): New struct.
16135 (grub_script_execute_menuentry): New prototype.
16136 (grub_script_lexer_record_start): Likewise.
16137 (grub_script_lexer_record_stop): Likewise.
16138 * normal/execute.c (grub_script_execute_menuentry): New function.
16139 * normal/lexer.c (record, recording, recordpos, recordlen): New
16140 variables.
16141 (grub_script_lexer_record_start): New function.
16142 (grub_script_lexer_record_stop): Likewise.
16143 (recordchar): Likewise.
16144 (nextchar): Likewise.
16145 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
16146 2048 as the buffer size. Add the tokens `menuentry' and `@'.
16147 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
16148 (current_menu): New variable.
16149 (free_menu): Mainly rewritten.
16150 (grub_normal_menu_addentry): New function.
16151 (read_config_file): Rewritten.
16152 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 16153 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 16154 the menu entry.
16155 (run): Mainly rewritten.
16156 * normal/parser.y (menu_entry): New variable.
16157 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
16158 (menuentry): New rule.
16159 (command): Add `menuentry'.
16160 (if_statement): Allow additional returns before `fi'.
16161 * normal/script.c (grub_script_create_cmdmenu): New function.
16162
144f1f98 161632006-01-03 Marco Gerards <marco@gnu.org>
16164
16165 * INSTALL: GNU Bison is required.
16166 * configure.ac: Rewritten the test to detect Bison.
16167 * Makefile.in (YACC): New variable. Reported by Xun Sun
16168 <xun.sun.cn@gmail.com>.
16169
af4b2d89 161702006-01-03 Marco Gerards <marco@gnu.org>
16171
16172 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
16173 the HFS+ filesystem to filesystem blocks.
16174 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
16175 GCC warning is silenced.
16176
15643b71 161772006-01-03 Marco Gerards <marco@gnu.org>
16178
16179 * partmap/apple.c (apple_partition_map_iterate): Convert the data
16180 read from disk from big endian to host byte order.
16181
00905879 161822006-01-03 Hollis Blanchard <hollis@penguinppc.org>
16183
16184 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
16185 documentation.
16186 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
16187 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
16188 embedded HFS+ filesystem.
16189 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
16190 (grub_hfs_sblock): Move from here...
16191 * include/grub/hfs.h: To here... New file.
16192 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
16193 documentation.
16194 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
16195 New macros.
16196 (grub_hfsplus_volheader): Change type of member `magic' to
16197 `grub_uint16_t'.
16198 (grub_hfsplus_data): Add new member `embedded_offset'.
16199 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
16200 returned block.
16201 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
16202 Calculate the offset.
16203
8899bc3e 162042005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16205
16206 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
16207 Removed.
16208 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
16209
ae8c0277 162102005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16211
16212 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
16213 ENV->NAME is NULL after allocating ENV->VALUE.
16214
07084456 162152005-12-25 Marco Gerards <marco@gnu.org>
16216
16217 * kern/env.c (grub_env_set): Rewritten the error handling code.
16218
4750f5f1 162192005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16220
16221 * geninit.sh: Made more robust, and more portable.
16222
50214199 162232005-12-25 Marco Gerards <marco@gnu.org>
16224
16225 Add support for Apple HFS+ filesystems.
f19dbdb7 16226
50214199 16227 * fs/hfsplus.c: New file.
16228
16229 * DISTLIST: Added `fs/hfsplus.c'.
16230
16231 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
16232 (hfsplus_mod_SOURCES): New variable.
16233 (hfsplus_mod_CFLAGS): Likewise.
16234 (hfsplus_mod_LDFLAGS): Likewise.
16235 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
16236 (grub_setup_SOURCES): Likewise.
16237 (grub_mkdevicemap_SOURCES): Likewise.
16238 (grub_emu_SOURCES): Likewise.
16239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16240
16241 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
16242
16243 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
16244
befaed6c 162452005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16246
16247 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
16248 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
16249 include/grub/parser.h, include/grub/script.h, kern/parser.c,
16250 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
16251 normal/lexer.c, normal/parser.y, normal/script.c, and
16252 partmap/gpt.c.
16253 Removed kern/sparc64/cache.c.
16254
16255 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
16256 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
16257 grub_emu_init.c.
16258
16259 * configure.ac (AC_INIT): Bumped to 1.92.
16260
6a124103 162612005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
16262
16263 * kern/err.c (grub_error_push): Added new function to support error
16264 stacks.
16265 (grub_error_pop): Likewise.
16266 (grub_error_stack_items): New local variable to support error stacks.
16267 (grub_error_stack_pos): Likewise.
16268 (grub_error_stack_assert): Likewise.
16269 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
16270 stack depth.
16271 (grub_print_error): Added support to print errors from error stack.
16272
16273 * include/grub/err.h (grub_error_push): Added function prototype.
16274 (grub_error_pop): Likewise.
16275
be973c1b 162762005-12-09 Hollis Blanchard <hollis@penguinppc.org>
16277
16278 * configure.ac: Accept `powerpc64' as host_cpu.
16279 (amd64): Rename to `biarch32'.
16280
16281 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
16282 non-cacheline-aligned addresses.
16283
16284 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
16285 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
16286 if `size' is non-zero.
16287
b04216ab 162882005-12-03 Marco Gerards <mgerards@xs4all.nl>
16289
16290 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
16291 and `cd' to make sure the filename is not prefixed with a
16292 directory name.
16293 (pkgdata_MODULES): Add `gpt.mod'.
16294 (gpt_mod_SOURCES): New variable.
16295 (gpt_mod_CFLAGS): Likewise.
16296 (gpt_mod_LDFLAGS): Likewise.
16297
16298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
16299
16300 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
16301 New macro.
16302
16303 * partmap/gpt.c: New file.
16304
16305 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
16306 GPT partition map is detected.
16307
41730ed9 163082005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
16309
16310 * commands/i386/pc/play.c: New file.
16311 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
16312 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
16313 macros.
f19dbdb7 16314
95dc3643 163152005-11-27 Marco Gerards <mgerards@xs4all.nl>
16316
16317 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
16318 ((unused))' to silence gcc warning.
16319
1569ec51 163202005-11-26 Hollis Blanchard <hollis@penguinppc.org>
16321
16322 * configure.ac: Correct `AC_PROG_YACC' test.
16323
9abde152 163242005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16325
16326 * util/powerpc/ieee1275/grub-install.in: Run the mount point
16327 check before installing files.
16328
44b83271 163292005-11-22 Mike Small <smallm@panix.com>
16330
16331 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
16332 number regex so multidigit numbers are recognized correctly.
16333
163342005-11-22 Mike Small <smallm@panix.com>
16335
16336 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
16337 debugging message before attempting to claim memory.
16338 (grub_rescue_cmd_initrd): Add a claim debugging message and try
16339 multiple addresses in case of failure.
16340
9c12956b 163412005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16342
16343 * term/tparm.c (get_space): Remove empty `if' statement.
16344
16345 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
16346
16347 * kern/parser.c (check_varstate): Rename `state' to 's'.
16348
aeaf81d9 163492005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16350
16351 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
16352 variable definitions to the beginning of each function. Sort stack
16353 variables by size.
16354 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
16355 `buf' argument to `char *'.
16356
79bbb63f 163572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
16358
16359 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
16360 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 16361 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 16362 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16363 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16364 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16365 configfile.mod, search.mod, gzio.mod and test.mod.
16366 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16367 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16368 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16369 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16370 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16371 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16372 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16373 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16374 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16375 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16376 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16377 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16378 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16379 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16380 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16381 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16382 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16383 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16384 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16385 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16386 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16387 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16388 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
16389
16390 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
16391 `grep --include'.
16392 (pkgdata_MODULES): Add test.mod.
16393
233b1628 163942005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16395
16396 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
16397 appending to variables with "+=".
16398 (PModule): Use full pathname to generate *.lst filenames.
16399
16400 * Makefile.in: Fixed list rules moved from genmk.rb.
16401 (.DELETE_ON_ERROR): New special target.
16402 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
16403
16404 * conf/i386-pc.rmk: Include conf/common.mk.
16405 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 16406 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 16407 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
16408 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
16409 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
16410 configfile.mod, search.mod, gzio.mod and test.mod.
16411 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
16412 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
16413 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
16414 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
16415 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
16416 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
16417 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
16418 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
16419 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
16420 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
16421 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16422 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16423 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
16424 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
16425 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
16426 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
16427 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
16428 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
16429 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
16430 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
16431 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
16432 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
16433 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
16434 here...
16435 * conf/common.rmk: ... to here. New file.
16436
16437 * conf/common.mk: New file.
16438
16f820c8 164392005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
16440
16441 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
16442 (grub_script.tab.c): ... here.
16443
16444 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
16445 (grub_script.tab.c): ... here.
16446
16447 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
16448 (grub_script.tab.c): ... here.
16449
16450 * normal/command.c (grub_command_find): Fixed a memory leak of
16451 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
16452
63ba1554 164532005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16454
16455 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
16456 "@" which marks the start of a comment on ARM.
16457 (VARIABLE): Likewise.
16458
7f67dc13 164592005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16460
79bbb63f 16461 Add support for Linux/ADFS partition tables.
7f67dc13 16462
16463 * partmap/acorn.c: New file.
16464
16465 * include/grub/acorn_filecore.h: Likewise.
16466
16467 * DISTLIST: Added `partmap/acorn.c' and
16468 `include/grub/acorn_filecore.h'.
f19dbdb7 16469
7f67dc13 16470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16471 `partmap/acorn.c'.
16472 (pkgdata_MODULES): Add `acorn.mod'.
16473 (acorn_mod_SOURCES): New variable.
16474 (acorn_mod_CFLAGS): Likewise.
16475
16476 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16477 `partmap/acorn.c'.
16478 (pkgdata_MODULES): Add `acorn.mod'.
16479 (acorn_mod_SOURCES): New variable.
16480 (acorn_mod_CFLAGS): Likewise.
16481
16482 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
16483 (pkgdata_MODULES): Add `acorn.mod'.
16484 (acorn_mod_SOURCES): New variable.
16485 (acorn_mod_CFLAGS): Likewise.
16486 (acorn_mod_LDFLAGS): Likewise.
16487
16488 * include/types.h (grub_disk_addr_t): New typedef.
16489
6d099807 164902005-11-13 Marco Gerards <mgerards@xs4all.nl>
16491
16492 * geninit.sh: New file.
16493
16494 * geninitheader.sh: Likewise.
16495
16496 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
16497 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
16498 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
16499 * commands/configfile.c (grub_configfile_init)
16500 (grub_configfile_fini): Likewise.
16501 * commands/default.c (grub_default_init, grub_default_fini):
16502 Likewise.
16503 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
16504 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
16505 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
16506 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
16507 Likewise.
16508 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
16509 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
16510 Likewise.
16511 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 16512 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 16513 Likewise.
16514 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
16515 Likewise.
fe6b695a 16516 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 16517 Likewise.
16518 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
16519 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
16520 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
16521 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
16522 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
16523 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
16524 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
16525 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
16526 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
16527 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
16528 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
16529 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
16530 * partmap/amiga.c (grub_amiga_partition_map_init)
16531 (grub_amiga_partition_map_fini): Likewise.
16532 * partmap/apple.c (grub_apple_partition_map_init)
16533 (grub_apple_partition_map_fini): Likewise.
16534 * partmap/pc.c (grub_pc_partition_map_init)
16535 (grub_pc_partition_map_fini): Likewise.
16536 * partmap/sun.c (grub_sun_partition_map_init,
16537 grub_sun_partition_map_fini): Likewise.
16538 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
16539 Likewise.
16540
16541 * util/grub-emu.c: Include <grub_modules_init.h>.
16542 (main): Don't initialize and de-initialize any modules directly,
16543 use `grub_init_all' and `grub_fini_all' instead.
16544
16545 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
16546 `grub_vesafb_mod_init'.
16547 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
16548 all users.
16549 * term/i386/pc/vga.c (grub_vga_init): Renamed to
16550 `grub_vga_mod_init'. Updated all users.
16551 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 16552
6d099807 16553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
16554 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
16555 rules.
16556
16557 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
16558 Generate a function to initialize the module in utilities.
16559 Updated all callers.
16560 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
16561 initialize the module in utilities. Updated all callers.
16562
9046bcf0 165632005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16564
16565 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
16566 escape sequence and a literal ^L to clear the screen.
16567
16568 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
16569 when returning from Open Firmware.
16570
d13ea639 165712005-11-09 Hollis Blanchard <hollis@penguinppc.org>
16572
16573 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
16574 (grub_ofconsole_height): Likewise.
16575 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
16576 manually insert a '\n'.
16577 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
16578 `grub_ofconsole_height'. Return early if these are already set.
16579
a8fcf206 165802005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
16581
16582 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
16583 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
16584 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
16585 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
16586 and `normal/script.c'.
16587 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16588 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16589 (test_mod_SOURCES): New variable.
16590 (test_mod_CFLAGS): Likewise.
16591 (test_mod_LDFLAGS): Likewise.
16592 (pkgdata_MODULES): Add `test.mod'.
16593 (grub_script.tab.c): New rule.
16594 (grub_script.tab.h): Likewise.
16595
b6b32745 165962005-11-07 Marco Gerards <mgerards@xs4all.nl>
16597
16598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
16599 `commands/test.c', `normal/execute.c', `normal/lexer.c',
16600 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16601 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16602 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
16603 (test_mod_SOURCES): New variable.
16604 (test_mod_CFLAGS): Likewise.
16605 (pkgdata_MODULES): Add `test.mod'.
16606 (grub_script.tab.c): New rule.
16607 (grub_script.tab.h): Likewise.
16608
daac212a 166092005-11-06 Marco Gerards <mgerards@xs4all.nl>
16610
16611 Add initial scripting support.
16612
16613 * commands/test.c: New file.
16614 * include/grub/script.h: Likewise.
16615 * normal/execute.c: Likewise.
16616 * normal/function.c: Likewise.
16617 * normal/lexer.c: Likewise.
16618 * normal/parser.y: Likewise.
16619 * normal/script.c: Likewise.
16620
16621 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 16622
daac212a 16623 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
16624 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
16625 `normal/function.c' and `normal/script.c'.
16626 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
16627 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 16628 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
16629 variables.
daac212a 16630 (pkgdata_MODULES): Add `test.mod'.
16631 (grub_script.tab.c): New rule.
16632 (grub_script.tab.h): Likewise.
16633
16634 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
16635
16636 * include/grub/normal.h (grub_test_init): New prototype.
16637 (grub_test_fini): Likewise.
f19dbdb7 16638
daac212a 16639 * normal/command.c: Include <grub/script.h>.
16640 (grub_command_execute): Rewritten.
f19dbdb7 16641
daac212a 16642 * util/grub-emu.c (main): Call `grub_test_init' and
16643 `grub_test_fini'.
16644
77500b2b 166452005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16646
16647 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
16648 to 0.
16649 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
16650 there are no pending characters.
16651
e45deb9e 166522005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16653
16654 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
16655 `grub_strndup' to drop device arguments. Replace unnecessary
16656 `grub_strndup' with `grub_strdup'.
16657
4ce32619 166582005-11-03 Hollis Blanchard <hollis@penguinppc.org>
16659
16660 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
16661 `debug' environment variable has been set.
16662
166632005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 16664
4ce32619 16665 * Makefile.in (install-local): Use $(DATA).
16666 (uninstall): Likewise.
16667 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
16668 (sbin_UTILITIES): ... to here.
16669 (sbin_SCRIPTS): New variable.
16670 (grub_install_SOURCES): New variable.
16671 * util/powerpc/ieee1275/grub-install.in: New file.
16672 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
16673 variable.
16674 (add_segments): Call `grub_util_get_path'.
16675
25fe6f03 166762005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
16677
16678 From Timothy Baldwin:
16679 * commands/ls.c (grub_ls_list_files): Close FILE with
16680 grub_file_close.
16681 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
16682
04ccf3ec 166832005-10-24 Marco Gerards <mgerards@xs4all.nl>
16684
16685 * include/grub/parser.h: New file.
16686
16687 * kern/parser.c: Likewise.
16688
16689 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
16690 (grub_setup_SOURCES): Likewise.
16691 (grub_probefs_SOURCES): Likewise.
16692 (grub_emu_SOURCES): Likewise.
16693 (kernel_img_HEADERS): Add `parser.h'.
16694
16695 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16696 (grub_emu_SOURCES): Add `kern/parser.c'.
16697 (grubof_SOURCES): Likewise.
16698
16699 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
16700 (grubof_SOURCES): Add `kern/parser.c'.
16701
16702 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
16703
16704 * kern/misc.c (grub_split_cmdline): Removed function.
16705
16706 * kern/rescue.c: Include <grub/parser.h>.
16707 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
16708 of `grub_split_cmdline'.
16709
16710 * normal/command.c: Include <grub/parser.h>.
16711 (grub_command_execute): Use `grub_parser_split_cmdline' instead
16712 of `grub_split_cmdline'.
16713
16714 * normal/completion.c: Include <grub/parser.h>.
16715 (cmdline_state): New variable.
16716 (iterate_dir): End the filename with a quote depending on the
16717 command line state.
16718 (get_state): new function.
16719 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
16720 split the arguments and determine the current argument. When the
16721 argument string is not quoted, escape all spaces.
16722
6d8f4b0e 167232005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16724
16725 * normal/sparc64/setjmp.S: New file.
16726
15cf03ed 167272005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16728
16729 * include/grub/sparc64/libgcc.h: New file.
16730 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
16731 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
16732 normal/sparc64/setjmp.c.
16733
03e8661a 167342005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
16735
16736 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
16737 * kern/sparc64/cache.S: New file.
16738 * kern/sparc64/cache.c: Removed.
16739 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
16740 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
16741 -mtune=ultrasparc.
16742 (COMMON_LDFLAGS): Add -melf64_sparc.
16743 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
16744 (grubof_SOURCES): Use cache.S instead of cache.c.
16745 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
16746 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
16747 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
16748 commented though.
16749 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
16750 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
16751 (linux_mod_CFLAGS): Commented out.
16752 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
16753 out because module isn't built.
16754 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
16755 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
16756 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
16757 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
16758 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
16759 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16760 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16761 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
16762 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
16763 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
16764 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
16765 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
16766 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
16767 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
16768
34eeec8a 167692005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
16770
16771 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
16772 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
16773 longer, because HFS should not be used on PC.
16774
708367a3 167752005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
16776
16777 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
16778 consistently within the loop.
16779
6fa1251a 167802005-10-15 Marco Gerards <mgerards@xs4all.nl>
16781
16782 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
16783 directory can not be read.
16784
4801580b 167852005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16786
16787 * configure.ac (AC_INIT): Increase the version number to 1.91.
16788
16789 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
16790 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
16791 term/i386/pc/serial.c.
16792
219ad426 167932005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16794
16795 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
16796 file size must be permitted.
16797
16798 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
16799 between %ah and %al.
16800
688e5699 168012005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
16802
16803 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
16804 grub_uint64_t.
16805 Call the hook with a NUL-terminated filename.
16806 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
16807 grub_cpu_to_be32.
16808
16809 * kern/term.c (cursor_state): New variable.
16810 (grub_term_set_current): Reset the cursor state on a new
16811 terminal.
16812 (grub_setcursor): Rewritten to use CURSOR_STATE.
16813 (grub_getcursor): New function.
16814
16815 * include/grub/term.h (grub_getcursor): New prototype.
16816
16817 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
16818 integers on ARM. Reported by Timothy Baldwin
16819 <T.E.Baldwin99@members.leeds.ac.uk>.
16820
bb34586c 168212005-10-11 Marco Gerards <mgerards@xs4all.nl>
16822
16823 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
16824 allocated.
16825 (grub_sfs_dir): Likewise.
16826
9a909877 168272005-10-09 Marco Gerards <mgerards@xs4all.nl>
16828
16829 Add support for the SFS filesystem.
16830
16831 * fs/sfs.c: New file.
16832
16833 * DISTLIST: Added `fs/sfs.c'.
16834
16835 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
16836 (grub_probefs_SOURCES): Likewise.
16837 (grub_emu_SOURCES): Likewise.
16838 (pkgdata_MODULES): Add `sfs.mod'.
16839 (sfs_mod_SOURCES): New variable.
16840 (sfs_mod_CFLAGS): Likewise.
16841 (sfs_mod_LDFLAGS): Likewise.
16842
16843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
16844 (pkgdata_MODULES): Add `sfs.mod'.
16845 (sfs_mod_SOURCES): New variable.
16846 (sfs_mod_CFLAGS): Likewise.
16847
16848 * util/grub-emu.c (main): Call `grub_sfs_init' and
16849 `grub_sfs_fini'.
16850
16851 * include/grub/fs.h (grub_sfs_init): New prototype.
16852 (grub_sfs_fini): Likewise.
16853
57bdbde3 168542005-10-07 Marco Gerards <mgerards@xs4all.nl>
16855
16856 Add support for the AFFS filesystem.
16857
16858 * fs/affs.c: New file.
16859
16860 * DISTLIST: Added `fs/affs.c'.
16861
16862 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
16863 (grub_probefs_SOURCES): Likewise.
16864 (grub_emu_SOURCES): Likewise.
16865 (pkgdata_MODULES): Add `affs.mod'.
16866 (affs_mod_SOURCES): New variable.
16867 (affs_mod_CFLAGS): Likewise.
16868 (affs_mod_LDFLAGS): Likewise.
16869
16870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
16871 (pkgdata_MODULES): Add `affs.mod'.
16872 (affs_mod_SOURCES): New variable.
16873 (affs_mod_CFLAGS): Likewise.
16874
16875 * util/grub-emu.c (main): Call `grub_affs_init' and
16876 `grub_affs_fini'.
16877
16878 * include/grub/fs.h (grub_affs_init): New prototype.
16879 (grub_affs_fini): Likewise.
16880
047b67e0 168812005-10-01 Marco Gerards <mgerards@xs4all.nl>
16882
16883 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
16884
59b8208a 168852005-10-01 Marco Gerards <mgerards@xs4all.nl>
16886
16887 * configure.ac: Accept `x86_64' as host_cpu. In that case add
16888 `-m32' to CFLAGS.
16889
16890 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
16891 linking.
f19dbdb7 16892
59b8208a 16893 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
16894 (COMMON_LDFLAGS): New variable.
16895 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
16896 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
16897 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
16898 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
16899 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
16900 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
16901 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
16902 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
16903 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
16904 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
16905 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
16906 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
16907 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
16908 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
16909 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
16910 variables.
16911 (normal_mod_ASFLAGS): Add `-m32'.
16912
16913 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
16914 (grub_host_size_t, grub_host_ssize_t): New types.
16915 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 16916 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 16917 `GRUB_HOST_SIZEOF_VOID_P'.
16918
16919 * include/grub/kernel.h (struct grub_module_header): Type of
16920 member offset changed to `grub_host_off_t'. Type of member size
16921 changed to `grub_host_size_t'.
16922 (struct grub_module_info): Type of member offset changed to
16923 `grub_host_off_t'. Type of member size changed to
16924 `grub_host_size_t'.
16925
b4093103 169262005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
16927
16928 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 16929
b4093103 16930 * kern/i386/pc/startup.S (multiboot_header): New label.
16931 (multiboot_entry): Likewise.
16932 (multiboot_trampoline): Likewise.
16933
16934 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16935 Increased to 0x4A0.
16936
16937 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
16938 put parentheses after a question mark.
16939 [!GRUB_UTIL] (my_mod): New variable.
16940
16941 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
16942
b2499b29 169432005-09-28 Marco Gerards <mgerards@xs4all.nl>
16944
16945 Adds support for the XFS filesystem. Btrees are not supported
16946 yet.
16947
16948 * fs/xfs.c: New file.
16949
16950 * DISTLIST: Added `fs/xfs.c'.
16951
16952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
16953 (grub_probefs_SOURCES): Likewise.
16954 (grub_emu_SOURCES): Likewise.
16955 (pkgdata_MODULES): Add `xfs.mod'.
16956 (xfs_mod_SOURCES): New variable.
16957 (xfs_mod_CFLAGS): Likewise.
16958
16959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
16960 (pkgdata_MODULES): Add `xfs.mod'.
16961 (xfs_mod_SOURCES): New variable.
16962 (xfs_mod_CFLAGS): Likewise.
16963
16964 * util/grub-emu.c (main): Call `grub_xfs_init' and
16965 `grub_xfs_fini'.
16966
16967 * include/grub/fs.h (grub_xfs_init): New prototype.
16968 (grub_xfs_fini): Likewise.
16969
f19dbdb7 16970
83d37a62 169712005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
16972
16973 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
16974 color modes, allow greater than 16 colors to be configured as
16975 a default palette.
16976
47d2d65e 169772005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
16978
16979 * normal/completion.c (complete_arguments): Add the qualifier
16980 const into OPTIONS.
16981
16982 From Omniflux <omniflux+lists@omniflux.com>:
16983 * include/grub/terminfo.h: New file.
16984 * include/grub/tparm.h: Likewise.
16985 * include/grub/i386/pc/serial.h: Likewise.
16986 * term/terminfo.c: Likewise.
16987 * term/tparm.c: Likewise.
16988 * term/i386/pc/serial.c: Likewise.
16989 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
16990 serial.mod.
16991 (terminfo_mod_SOURCES): New variable.
16992 (terminfo_mod_CFLAGS): Likewise.
16993 (serial_mod_SOURCES): Likewise.
16994 (serial_mod_CFLAGS): Likewise.
16995
48b671ff 169962005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
16997
16998 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
16999 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
17000 and kern/powerpc/ieee1275/cmain.c, respectively.
17001
17002 * boot/powerpc/ieee1275/crt0.S: Moved to ...
17003 * kern/powerpc/ieee1275/crt0.S: ... here.
17004
17005 * boot/powerpc/ieee1275/cmain.c: Moved to ...
17006 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 17007
48b671ff 17008 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
17009 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
17010 instead of boot/powerpc/ieee1275/crt0.S and
17011 boot/powerpc/ieee1275/cmain.c, respectively.
17012
17013 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
17014 sectors. It was not used anyway.
17015
09fc77a7 170162005-08-30 Hollis Blanchard <hollis@penguinppc.org>
17017
17018 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
17019 `unused parameter' warning.
17020
003789c7 170212005-08-30 Hollis Blanchard <hollis@penguinppc.org>
17022
17023 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
17024 function.
17025 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
17026 getcharwidth.
17027
67f44c86 170282005-08-28 Marco Gerards <metgerards@student.han.nl>
17029
17030 * include/grub/normal.h (enum grub_completion_type): Added
17031 `GRUB_COMPLETION_TYPE_ARGUMENT'.
17032
17033 * normal/cmdline.c (print_completion): Handle
17034 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
17035 * normal/menu_entry.c (store_completion): Likewise.
17036
17037 * normal/completion.c (complete_arguments): New function.
17038 (grub_normal_do_completion): Call `complete_arguments' when the
17039 current words start with a dash.
17040
0b5abe02 170412005-08-27 Marco Gerards <metgerards@student.han.nl>
17042
17043 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
17044 `gzio.mod' instead of `io.mod').
17045
d9864ee1 170462005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
17047
17048 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
17049 (DISTDIRS): Added io and video.
17050 Rewrite the search routine to make an output consistently.
17051
17052 * DISTLIST: Added conf/sparc64-ieee1275.mk,
17053 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
17054 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
17055 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
17056 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
17057 util/powerpc/ieee1275/misc.c.
f19dbdb7 17058
d9864ee1 17059 * include/grub/gzio.h: New file.
17060 * io/gzio.c: Likewise.
f19dbdb7 17061
d9864ee1 17062 * kern/file.c (grub_file_close): Call grub_device_close only if
17063 FILE->DEVICE is not NULL.
17064
17065 * include/grub/mm.h [!NULL] (NULL): New macro.
17066
17067 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
17068
17069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
17070 (pkgdata_MODULES): Added gzio.mod.
17071 (gzio_mod_SOURCES): New variable.
17072 (gzio_mod_CFLAGS): Likewise.
17073
17074 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
17075 (pkgdata_MODULES): Added gzio.mod.
17076 (gzio_mod_SOURCES): New variable.
17077 (gzio_mod_CFLAGS): Likewise.
17078
17079 * commands/cat.c: Include grub/gzio.h.
17080 (grub_cmd_cat): Use grub_gzfile_open instead of
17081 grub_file_open.
f19dbdb7 17082
d9864ee1 17083 * commands/cmp.c: Include grub/gzio.h.
17084 (grub_cmd_cmp): Use grub_gzfile_open instead of
17085 grub_file_open.
17086
17087 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
17088 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
17089 grub_file_open.
17090 (grub_rescue_cmd_module): Likewise.
17091
fa46f4b5 170922005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17093
17094 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
17095 kern/sparc64/ieee1275/init.c because it contains _start.
17096 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
17097
e9211b5d 170982005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17099
17100 * configure.ac: Add support for sparc64 host with ieee1275
17101 firmware.
17102 * configure: Generated from configure.ac.
17103 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
17104 instead of int.
17105 (grub_ofdisk_read): Likewise.
17106 (grub_ofdisk_open): Use %p to print pointer values, and cast the
17107 pointers as (void *) to remove a warning.
17108 (grub_ofdisk_close): Likewise.
17109 (grub_ofdisk_read): Likewise.
17110 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
17111 returns, so make it return void to remove a warning.
17112 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
17113 Corresponding prototype change.
17114 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
17115 values, and cast the pointers as (void *) to remove a warning.
17116 (grub_mm_dump): Likewise.
17117 * conf/sparc64-ieee1275.mk: New file.
17118 * conf/sparc64-ieee1275.rmk: Likewise.
17119 * include/grub/sparc64/setjmp.h: Likewise.
17120 * include/grub/sparc64/types.h: Likewise.
17121 * include/grub/sparc64/ieee1275/console.h: Likewise.
17122 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17123 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17124 * include/grub/sparc64/ieee1275/time.h: Likewise.
17125 * kern/sparc64/cache.c: Likewise.
17126 * kern/sparc64/dl.c: Likewise.
17127 * kern/sparc64/ieee1275/init.c: Likewise.
17128 * kern/sparc64/ieee1275/openfw.c: Likewise.
17129
385c6a92 171302005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
17131
17132 * util/console.c (grub_ncurses_putchar): If C is greater than
17133 0x7f, set C to a question mark.
17134 (grub_ncurses_getcharwidth): New function.
17135 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
17136 getcharwidth.
17137
17138 * normal/menu.c (print_entry): Made aware of Unicode. First,
17139 convert TITLE to UCS-4, and predict the cursor position by
17140 grub_getcharwidth.
17141
17142 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
17143 const to SRC.
17144 * kern/misc.c (grub_utf16_to_utf8): Likewise.
17145
16ccb8b1 171462005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17147
17148 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
17149 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17150 grub_strcat.
17151
17152 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
17153 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17154 grub_strcpy and grub_strlen. Take it into account that a space
17155 character is inserted as a delimiter.
17156
6a85ce79 171572005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17158
17159 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 17160 invalid magic in the error.
6a85ce79 17161
17162 * commands/search.c: New file.
f19dbdb7 17163
6a85ce79 17164 * util/grub-emu.c (main): Call grub_search_init and
17165 grub_search_fini.
17166
17167 * kern/rescue.c (grub_rescue_print_disks): Removed.
17168 (grub_rescue_print_devices): New function.
17169 (grub_rescue_cmd_ls): Use grub_device_iterate with
17170 grub_rescue_print_devices instead of grub_disk_dev_iterate with
17171 grub_rescue_print_disks.
17172
17173 * kern/partition.c (grub_partition_iterate): Return the result of
17174 PARTMAP->ITERATE instead of GRUB_ERRNO.
17175
17176 * kern/device.c: Include grub/partition.h.
17177 (grub_device_iterate): New function.
17178
17179 * include/grub/partition.h (grub_partition_iterate): Return int
17180 instead of grub_err_t.
17181
17182 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
17183 prototype.
17184 [GRUB_UTIL] (grub_search_fini): Likewise.
17185
17186 * include/grub/device.h (grub_device_iterate): New prototype.
17187
17188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17189 commands/search.c.
17190 (pkgdata_MODULES): Added search.mod.
17191 (search_mod_SOURCES): New variable.
17192 (search_mod_CFLAGS): Likewise.
17193
17194 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
17195 (pkgdata_MODULES): Added search.mod.
17196 (search_mod_SOURCES): New variable.
17197 (search_mod_CFLAGS): Likewise.
17198
17199 * commands/ls.c (grub_ls_list_disks): Renamed to ...
17200 (grub_ls_list_devices): ... this, and use grub_device_iterate.
17201 All callers changed.
17202
17203 * DISTLIST: Added commands/search.c.
17204
ef095434 172052005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17206
17207 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
17208 conversion.
17209 (grub_getcharwidth): New function.
17210
17211 * kern/misc.c (grub_utf8_to_ucs4): New function.
17212
17213 * include/grub/term.h (struct grub_term): Added a new member
17214 "getcharwidth".
17215 (grub_getcharwidth): New prototype.
17216
17217 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
17218
17219 * term/i386/pc/console.c (map_char): New function. Segregated from
17220 grub_console_putchar.
17221 (grub_console_putchar): Use map_char.
17222 (grub_console_getcharwidth): New function.
17223 (grub_console_term): Specified grub_console_getcharwidth as
17224 getcharwidth.
17225
17226 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
17227 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
17228
17229 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
17230 GRUB_ERRNO.
17231 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
17232 on grub_strtoul completely.
17233 (write_char): Declare local variables in the beginning of the
17234 function.
17235 (grub_vesafb_getcharwidth): New function.
17236 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
17237 getcharwidth.
17238
1f0a95e4 172392005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
17240
17241 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
17242 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
17243 commands/i386/pc/vbetest.c.
17244
17245 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
17246 call grub_vbe_get_controller_info again, because the returned
17247 information is volatile.
17248 (grub_vbe_set_video_mode): Mostly rewritten.
17249 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
17250 grub_vbe_status_t correctly.
17251 (grub_vbe_get_video_mode_info): Likewise.
17252 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
17253 several if statements.
17254
17255 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
17256 * commands/i386/pc/vbeinfo.c: ... this.
17257
17258 * commands/i386/pc/vbe_test.c: Renamed to ...
17259 * commands/i386/pc/vbetest.c: ... this.
17260
17261 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
17262 ...
17263 (grub_cmd_vbeinfo): ... this. Save video modes before
17264 iterating. Skip a video mode, if it is not available, not enough
17265 information is given or it is monochrome. Show the memory
17266 model. Leave the interpretation of MODEVAR to grub_strtoul
17267 completely.
17268 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
17269 (GRUB_MOD_FINI): Likewise.
17270
17271 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
17272 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
17273 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
17274 duplicated grub_env_get. Leave the interpretation of MODEVAR to
17275 grub_strtoul completely.
17276 (real2pm): Removed.
17277 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
17278 (GRUB_MOD_FINI): Likewise.
17279
17280 * normal/misc.c: Include grub/mm.h.
17281
17282 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
17283 vbe_list_modes with vbetest.mod and vbeinfo.mod.
17284 (vbe_list_modes_mod_SOURCES): Removed.
17285 (vbe_list_modes_mod_CFLAGS): Likewise.
17286 (vbe_test_mod_SOURCES): Likewise.
17287 (vbe_test_mod_CFLAGS): Likewise.
17288 (vbeinfo_mod_SOURCES): New variable.
17289 (vbeinfo_mod_CFLAGS): Likewise.
17290 (vbetest_mod_SOURCES): Likewise.
17291 (vbetest_mod_CFLAGS): Likewise.
17292
992ffbbe 172932005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
17294
17295 * normal/misc.c: New file.
17296
17297 * DISTLIST: Added normal/misc.c.
f19dbdb7 17298
992ffbbe 17299 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
17300 DISK to HOOK. Call HOOK with DISK.
17301 * partmap/apple.c (apple_partition_map_iterate): Likewise.
17302 * partmap/pc.c (pc_partition_map_iterate): Likewise.
17303 * partmap/sun.c (sun_partition_map_iterate): Likewise.
17304
17305 * normal/menu_entry.c (struct screen): Added a new member
17306 "completion_shown".
17307 (completion_buffer): New global variable.
17308 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
17309 (store_completion): New function.
17310 (complete): Likewise.
17311 (clear_completions): Likewise.
17312 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
17313 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
17314 a tab, call complete.
17315
17316 * normal/completion.c (disk_dev): Removed.
17317 (print_simple_completion): Likewise.
17318 (print_partition_completion): Likewise.
17319 (print_func): New global variable.
17320 (add_completion): Do not take the arguments WHAT or PRINT any
17321 longer. Added a new argument TYPE. Instead of printing directly,
17322 call PRINT_FUNC if not NULL.
17323 All callers changed.
17324 (complete_device): Use a local variable DEV instead of
17325 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
17326 (grub_normal_do_completion): Take a new argument HOOK. Do not
17327 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
17328 empty string, return NULL instead.
17329 All callers changed.
17330
17331 * normal/cmdline.c (print_completion): New function.
17332
17333 * kern/partition.c (grub_partition_iterate): Add an argument DISK
17334 to HOOK.
17335 All callers changed.
17336
17337 * kern/disk.c (grub_print_partinfo): Removed.
17338
17339 * include/grub/partition.h (struct grub_partition_map): Add a new
17340 argument DISK into HOOK of ITERATE.
17341 (grub_partition_iterate): Add a new argument DISK to HOOK.
17342
17343 * include/grub/normal.h (enum grub_completion_type): New enum.
17344 (grub_completion_type_t): New type.
17345 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
17346 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
17347 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
17348 (GRUB_COMPLETION_TYPE_FILE): Likewise.
17349 (grub_normal_do_completion): Added a new argument HOOK.
17350 (grub_normal_print_device_info): New prototype.
17351
17352 * include/grub/disk.h (grub_print_partinfo): Removed.
17353
17354 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
17355 (normal_mod_SOURCES): Likewise.
17356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17357 (normal_mod_SOURCES): Likewise.
17358
17359 * commands/ls.c (grub_ls_list_disks): Use
17360 grub_normal_print_device_info instead of grub_print_partinfo. Free
17361 PNAME.
17362 (grub_ls_list_files): Use grub_normal_print_device_info instead of
17363 duplicating the code.
17364
0bd41162 173652005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17366
17367 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 17368 follow GCS more precisely.
17369 * commands/i386/pc/vbe_test.c: Likewise.
17370 * include/grub/i386/pc/vbe.h: Likewise.
17371 * term/i386/pc/vesafb.c: Likewise.
17372 * video/i386/pc/vbe.c: Likewise.
0bd41162 17373
6323696a 173742005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
17375
17376 * DISTLIST: Added term/i386/pc/vesafb.c
17377 DISTLIST: Added video/i386/pc/vbe.c
17378 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
17379 DISTLIST: Added commands/i386/pc/vbe_test.c.
17380 * commands/i386/pc/vbe_list_modes.c: New file.
17381 * commands/i386/pc/vbe_test.c: Likewise.
17382 * term/i386/pc/vesafb.c: Likewise.
17383 * video/i386/pc/vbe.c: Likewise.
17384 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
17385 (grub_vbe_probe) Added prototype.
17386 (grub_vbe_set_video_mode) Likewise.
17387 (grub_vbe_get_video_mode) Likewise.
17388 (grub_vbe_get_video_mode_info) Likewise.
17389 (grub_vbe_set_pixel_rgb) Likewise.
17390 (grub_vbe_set_pixel_index) Likewise.
17391 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
17392 (pkgdata_MODULES): Added vesafb.mod.
17393 (pkgdata_MODULES): Added vbe_list_modes.mod.
17394 (pkgdata_MODULES): Added vbe_test.mod.
17395 (vbe_mod_SOURCES): Added.
17396 (vbe_mod_CFLAGS): Likewise.
17397 (vesafb_mod_SOURCES): Likewise.
17398 (vesafb_mod_CFLAGS): Likewise.
17399 (vbe_list_modes_mod_SOURCES): Likewise.
17400 (vbe_list_modes_mod_CFLAGS): Likewise.
17401 (vbe_test_mod_SOURCES): Likewise.
17402 (vbe_test_mod_CFLAGS): Likewise.
17403
0a74e62f 174042005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
17405
0a74e62f 17406 * normal/command.c (grub_command_execute): If INTERACTIVE is
17407 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
17408 CMDLINE. Disable the pager if INTERACTIVE is true.
17409 All callers are changed.
17410
17411 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
17412 before reading a config file.
17413 * normal/main.c (read_config_file): Even if a command is not
17414 found, register it if it is within an entry.
17415
17416 * util/grub-emu.c: Include sys/types.h and unistd.h.
17417 (options): Added --hold.
17418 (struct arguments): Added a new member "hold".
17419 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
17420 missing.
17421 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
17422 cleared by a debugger, if it is not zero.
17423
17424 * include/grub/normal.h (grub_command_execute): Add an argument
17425 INTERACTIVE.
17426
e51f85ae 174272005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
17428
17429 * DISTLIST: Added include/grub/i386/pc/vbe.h.
17430
e9c6f39b 174312005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
17432
17433 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
17434 program with another one, because the old one didn't detect a bug
17435 in gcc-3.4. Always use regparm 2, because the new test is still
17436 not enough for gcc-4.0. Someone must investigate a simple test
17437 case which detects a bug in gcc-4.0.
17438
8de3495c 174392005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
17440
17441 * DISTLIST: Added normal/completion.c.
17442
17443 * normal/completion.c: New file.
f19dbdb7 17444
8de3495c 17445 * term/i386/pc/console.c (grub_console_getwh): New function.
17446 (grub_console_term): Assign grub_console_getwh to getwh.
17447
17448 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
17449 function is defined in normal/completion.c as
17450 grub_normal_do_completion.
17451 (grub_cmdline_get): Use grub_normal_do_completion instead of
17452 grub_tab_complete.
17453
17454 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
17455 returns non-zero, otherwise return 0.
17456 (grub_partition_iterate): First, probe the partition map. Then,
17457 call ITERATE only for this partition map.
17458
17459 * kern/misc.c (grub_strncmp): Rewritten.
17460
17461 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
17462 returns non-zero. Otherwise return 0.
17463
17464 * include/grub/partition.h (grub_partition_map_iterate): Return
17465 int instead of void.
17466
17467 * include/grub/normal.h (grub_normal_do_completion): New prototype.
17468
17469 * include/grub/misc.h (grub_strncmp): Change the type of N to
17470 grub_size_t.
17471
17472 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
17473 of void.
17474
17475 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 17476 unsigned explicitly before comparing it with I.
8de3495c 17477
17478 * kern/main.c (grub_env_write_root): Add the attribute unused into
17479 VAR.
17480
17481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17482 normal/completion.c.
17483 (normal_mod_SOURCES): Likewise.
17484 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17485 (normal_mod_SOURCES): Likewise.
17486
17487 * normal/command.c (grub_iterate_commands): If ITERATE returns
17488 non-zero, return one immediately.
17489
e85e144b 174902005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
17491
17492 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
17493 * kern/i386/pc/startup.S: Updated Global Descriptor table's
17494 descriptions.
17495 (grub_vbe_get_controller_info): New function.
17496 (grub_vbe_get_mode_info): Likewise.
17497 (grub_vbe_set_mode): Likewise.
17498 (grub_vbe_get_mode): Likewise.
17499 (grub_vbe_set_memory_window): Likewise.
17500 (grub_vbe_get_memory_window): Likewise.
17501 (grub_vbe_set_scanline_length): Likewise.
17502 (grub_vbe_get_scanline_length): Likewise.
17503 (grub_vbe_set_display_start): Likewise.
17504 (grub_vbe_get_display_start): Likewise.
17505 (grub_vbe_set_palette_data): Likewise.
17506 * include/grub/i386/pc/vbe.h: New file.
17507
c46153d2 175082005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17509
17510 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17511 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
17512 * DISTLIST: Likewise.
17513 * kern/ieee1275/of.c: Moved to ...
17514 * kern/ieee1275/ieee1275.c: ... here.
17515
0cb90c45 175162005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17517
17518 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
17519 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
17520 Pass 0 as `end' parameter to grub_strtoul().
17521
a19fb360 175222005-08-08 Hollis Blanchard <hollis@penguinppc.org>
17523
17524 * include/grub/powerpc/ieee1275/console.h: Do not include
17525 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
17526 ifdef.
17527 (grub_console_cur_color): Remove i386-specific prototype.
17528 (grub_console_real_putchar): Likewise.
17529 (grub_console_checkkey): Likewise.
17530 (grub_console_getkey): Likewise.
17531 (grub_console_getxy): Likewise.
17532 (grub_console_gotoxy): Likewise.
17533 (grub_console_cls): Likewise.
17534 (grub_console_setcursor): Likewise.
17535 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
17536 Include <grub/machine/console.h>.
17537 * term/ieee1275/ofconsole.c: Likewise.
17538
4ac9bd04 175392005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
17540
17541 * Makefile.in (LIBLZO): New variable.
17542
17543 * configure.ac: Check for LZO version 2.
17544
17545 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
17546 lzo/lzo1x.h instead of lzo1x.h.
17547
17548 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
17549 of -llzo.
17550
17551 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
17552 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
17553
17554 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
17555 copying the data from PARTITION to P.
17556
f4917dfd 175572005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17558
17559 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
17560 negative, unload the module.
17561
17562 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
17563 map is "pc_partition_map" but not "pc".
17564 (usage): Fix the description. The options are --boot-image and
17565 --core-image but not --boot-file or --core-file.
17566 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
17567 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
17568 DEFAULT_DIRECTORY.
17569
17570 * util/i386/pc/grub-install.in: Do not specify --boot-file or
17571 --core-file. Specify INSTALL_DEVICE as an argument.
17572
17573 * util/console.c: Include config.h.
17574 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
17575 [HAVE_NCURSES_H]: Include ncurses.h.
17576 [HAVE_CURSES_H]: Include curses.h.
17577 [!A_NORMAL] (A_NORMAL): Defined as zero.
17578 [!A_STANDOUT] (A_STANDOUT): Likewise.
17579
17580 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
17581 -lncurses.
17582 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
17583
17584 * configure.ac: Check for curses libraries and headers.
17585
17586 * Makefile.in (LIBCURSES): New variable.
17587
17588 * genmk.rb (Script::rule): Set the executable bits.
17589
17590 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
17591 name of the PC partition map is "pc_partition_map" but not "pc".
17592
0e143073 175932005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17594
17595 * util/i386/pc/grub-install.in (grub_probefs): New variable.
17596 (modules): Likewise.
17597 (usage): Added descriptions for --modules and --grub-probefs.
17598 Handle --modules and --grub-probefs. Save the arguments in MODULES
17599 and GRUB_PROBEFS, respectively.
17600 Auto-detect a filesystem module against GRUBDIR. If the result is
17601 empty and modules are not specified explicitly, abort the
17602 installation. Add the result to MODULES.
17603
17604 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
17605 disk/powerpc/ieee1275/ofdisk.c,
17606 include/grub/powerpc/ieee1275/init.h and
17607 term/powerpc/ieee1275/ofconsole.c.
17608 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
17609 term/ieee1275/ofconsole.c.
17610
17611 * include/grub/powerpc/ieee1275/console.h: Resurrected.
17612
17613 * COPYING: Upgraded to the latest version. Only the address of the
17614 FSF office has changed.
f19dbdb7 17615
efd6e6d5 176162005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
17617
17618 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
17619 kern/ieee1275.c with kern/ieee1275/of.c.
17620
17621 * kern/ieee1275.c: Moved to ...
17622 * kern/ieee1275/of.c: ... here.
17623
8ceafda2 176242005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
17625
17626 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 17627 readability.
8ceafda2 17628
17629 * config.guess: Updated to the latest version from gnulib.
17630 * config.sub: Likewise.
17631 * install.sh: Likewise.
17632 * mkinstalldirs: Likewise.
17633
17634 * include/grub/console.h: Removed. This file is arch-specific. Do
17635 not put this in include/grub.
17636
17637 * include/grub/i386/pc/console.h: Resurrected.
17638
17639 * util/console.c: Include grub/machine/console.h instead of
17640 grub/console.h.
17641 * util/grub-emu.c: Likewise.
17642
267f6cd9 176432005-08-04 Marco Gerards <metgerards@student.han.nl>
17644
17645 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
17646 hardcoded value.
f19dbdb7 17647
267f6cd9 17648 From Vincent Pelletier <subdino2004@yahoo.fr>
17649 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
17650 Redefined to use grub_getwh.
17651 (grub_term): New member named getwh.
17652 (grub_getwh): New prototype.
17653 * kern/term.c (grub_getwh): New function.
17654 * term/i386/pc/console.c (grub_console_getwh): New function.
17655 (grub_console_term): New member `getwh'.
17656 * term/i386/pc/vga.c (grub_vga_getwh): New function.
17657 (grub_vga_term): New member `getwh'.
0b5abe02 17658 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 17659 grub_ssize_t.
17660 (grub_ofconsole_getw): New function.
17661 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
17662 (grub_ofconsole_term): New field named getwh and new initial
17663 value.
17664
3be7266d 176652005-08-03 Hollis Blanchard <hollis@penguinppc.org>
17666
17667 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
17668 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
17669 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
17670 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
17671 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
17672 of <grub/machine/ieee1275.h>.
17673 * commands/ieee1275/reboot.c: Likewise.
17674 * boot/powerpc/ieee1275/ieee1275.c: Move ...
17675 * kern/ieee1275.c: ... to here. All users updated. Change all
17676 parameter structs to use new type `grub_ieee1275_cell_t'.
17677 * term/powerpc/ieee1275/ofconsole.c: Move ...
17678 * term/ieee1275/ofconsole.c: ... to here. All users updated.
17679 * disk/powerpc/ieee1275/ofdisk.c: Move ...
17680 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
17681 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
17682 to return int.
17683 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
17684 Remove unused prototypes. All users updated.
17685 * include/grub/powerpc/ieee1275/console.h: Removed.
17686 * include/grub/powerpc/ieee1275/ieee1275.h: Define
17687 `grub_ieee1275_cell_t'.
17688 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
17689 Cast comparisons with -1 to the correct type.
17690 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
17691 type to match `grub_ieee1275_entry_fn'.
17692
8b5f3938 176932005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
17694
17695 * DISTLIST: Added util/i386/pc/grub-probefs.c.
17696
17697 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
17698 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
17699 partmap/sun.c.
17700 (grub_probefs_SOURCES): New variable.
17701
17702 * util/i386/pc/grub-probefs.c: New file.
17703
17704 * util/i386/pc/grub-setup.c (main): Call
17705 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
17706 grub_hfs_init and grub_jfs_init to initialize the system. Call
17707 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
17708 grub_pc_partition_map_fini to finish the system.
17709
ea409713 177102005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
17711
17712 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
17713 function.
17714 (grub_multiboot_load_elf32): Likewise.
17715 (grub_multiboot_is_elf64): Likewise.
17716 (grub_multiboot_load_elf64): Likewise.
17717 (grub_multiboot_load_elf): Likewise.
17718 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
17719 an ELF32 or ELF64 file.
17720 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
17721
17722 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
17723 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
17724 NULL before calling FS->LABEL.
17725 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
17726 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
17727 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
17728 before calling FS->LABEL.
17729
141a288b 177302005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
17731
17732 * util/i386/pc/grub-install.in (datadir): New variable.
17733 (libdir): Removed.
17734 (pkgdatadir): New variable.
17735 (pkglibdir): Removed.
17736
0d5f8a54 177372005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
17738
17739 * DISTLIST: Added util/i386/pc/grub-install.in.
17740
17741 * util/i386/pc/grub-install.in: New file.
17742
17743 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
17744 (grub_install_SOURCES): Likewise.
17745
17746 * genmk.rb: Added support for scripts.
17747 (Script): New class.
17748 (scripts): New variable.
17749
17750 * Makefile.in (install-local): Install sbin_SCRIPTS by
17751 INSTALL_SCRIPT.
17752 (uninstall): Remove sbin_SCRIPTS.
17753
17754 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
17755 device, try to get a GRUB device by
17756 grub_util_biosdisk_get_grub_dev.
17757 Free DEST_DEV.
17758
17759 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
17760 description for --device-map.
17761
5f968e1e 177622005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17763
17764 Change the semantics of variable hooks. They now return strings
17765 instead of error values.
f19dbdb7 17766
5f968e1e 17767 * util/i386/pc/grub-setup.c: Include grub/env.h.
17768 (setup): Use grub_device_set_root instead of grub_env_set.
17769
17770 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
17771 grub_env_get instead of grub_device_set_root and
17772 grub_device_get_root, respectively.
17773
17774 * kern/main.c (grub_env_write_root): New function.
17775 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
17776 grub_env_set instead of grub_device_set_root.
17777
17778 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
17779 many variables.
17780 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
17781 rather than calling ENV->WRITE_HOOK afterwards.
17782 (grub_env_get): Return the result of ENV->READ_HOOK rather than
17783 passing a pointer of a pointer.
17784 (grub_register_variable_hook): Change the types of "read_hook" and
17785 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
17786 respectively.
17787 Allocate the default empty string on the heap, because this string
17788 may be freed later.
17789
17790 * kern/device.c: Include grub/env.h.
17791 (grub_device_set_root): Removed.
17792 (grub_device_get_root): Likewise.
17793 (grub_device_open): Use grub_env_get instead of
17794 grub_device_get_root.
17795
17796 * include/grub/env.h (grub_env_read_hook_t): New type.
17797 (grub_env_write_hook_t): Likewise.
17798 (grub_env_var): Change the types of "read_hook" and "write_hook"
17799 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
17800 (grub_register_variable_hook): Likewise.
17801
17802 * include/grub/device.h (grub_device_set_root): Removed.
17803 (grub_device_set_root): Likewise.
17804
17805 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
17806 make sure that DIRNAME terminates with '/', so that
17807 grub_fat_find_dir will fail if PATH is not a directory.
17808
17809 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
17810 from DIRNAME.
17811 Use the qualifier auto for print_files and print_files_long.
17812 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
17813 as a regular file.
17814 Put a newline only if there is no error.
17815 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
17816 used.
17817
896f0afd 178182005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
17819
17820 * kern/partition.c (grub_partition_probe): Initialize PART to
17821 NULL. Otherwise, when no partition map is registered, this returns
17822 a garbage.
17823
b28b81b2 178242005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
17825
17826 * partmap/apple.c (apple_partition_map_iterate): Check if POS
17827 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
17828 valid.
17829
5f3607e0 178302005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
17831
17832 * commands/ls.c (grub_ls_list_disks): Print the filesystem
17833 information on each device, if it does not have partitions. Print
17834 "Device" instead of "Disk", because this function is not specific
17835 to disk devices.
17836
17837 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
17838 static to ensure that it is put on the memory rather than a
17839 register.
17840
502c87e8 178412005-07-17 Yoshinori Okuji <okuji@enbug.org>
17842
17843 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
17844 (grub_cat_init): Likewise.
17845 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
17846 (options): Likewise.
17847 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17848 (grub_configfile_init): Likewise.
17849 * font/manager.c (GRUB_MOD_INIT): Likewise.
17850 * commands/help.c (GRUB_MOD_INIT): Likewise.
17851 (grub_help_init): Likewise.
17852 * normal/command.c (grub_command_init): Likewise.
17853 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
17854 * disk/loopback.c (grub_loop_init): Likewise.
17855 (GRUB_MOD_INIT): Likewise.
17856 * commands/ls.c (grub_ls_init): Likewise.
17857 (GRUB_MOD_INIT): Likewise.
17858 (options): Likewise.
17859 * commands/boot.c (grub_boot_init): Likewise.
17860 (GRUB_MOD_INIT): Likewise.
17861 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
17862 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
17863 (GRUB_MOD_INIT): Likewise.
17864 * commands/cmp.c (grub_cmp_init): Likewise.
17865 (GRUB_MOD_INIT): Likewise.
17866
17867 * normal/arg.c: Use <> instead of "" to include header files.
17868 (SHORT_ARG_HELP): New macro.
17869 (SHORT_ARG_USAGE): Likewise.
17870 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
17871 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
17872 descriptions.
17873 (find_short): Check if C is 'h' or 'u' explicitly.
17874 (grub_arg_show_help): Use space characters instead of tabs. Treat
17875 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
17876 are shown with --help and --usage only if they are not used for
17877 the command itself.
17878 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
17879 'h' and 'u'.
17880
17881 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
17882 const into "longarg". Change the type of "shortarg" to int.
17883
f806d18e 178842005-07-17 Yoshinori Okuji <okuji@enbug.org>
17885
17886 * boot/i386/pc/boot.S (boot_drive_check): New label.
17887
17888 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
17889 macro.
17890
17891 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
17892 which do not pass a boot drive correctly. Copied from GRUB Legacy.
17893
e293232b 178942005-07-17 Yoshinori Okuji <okuji@enbug.org>
17895
17896 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
17897 When turning off Gate A20, skip the check and return immediately,
17898 because this is not fatal usually.
17899
ebedfd00 179002005-07-17 Yoshinori Okuji <okuji@enbug.org>
17901
17902 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
17903 be 0x7C00 instead of 0x8000.
17904
17905 * boot/i386/pc/pxeboot.S: Rewritten.
17906
17907 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
17908 EXT_C.
17909 (gate_a20_check_state): Read a byte from 0x108000. Invert the
17910 result.
17911
654fc59f 179122005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
17913
17914 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
17915 robustness. This routine now supports a BIOS call and System
17916 Control Port A to modify the gate A20.
17917
17918 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17919 Increased to 0x440.
17920
09f9923f 179212005-07-12 Hollis Blanchard <hollis@penguinppc.org>
17922
17923 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
17924 device path and resulting ihandle.
17925 (grub_ofdisk_close): dprintf the ihandle being closed.
17926 (grub_ofdisk_read): dprintf function parameters.
17927 * kern/mm.c (grub_mm_init_region): Likewise.
17928 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
17929 (grub_linux_boot): dprintf the Linux entry point, initrd address and
17930 size, and boot arguments.
17931 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
17932 before loading into memory.
17933 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
17934 before loading into memory.
17935
7ef504d8 179362005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
17937
17938 * kern/mm.c: Added much documentation.
17939 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
17940 8, set to 5 instead of 8.
17941
e0f050c2 179422005-07-10 Yoshinori Okuji <okuji@enbug.org>
17943
17944 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
17945
17946 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
17947 (grub_mkdevicemap_SOURCES): New variable.
17948
17949 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
17950 lib/device.c of GRUB Legacy.
17951
7224189a 179522005-07-10 Yoshinori Okuji <okuji@enbug.org>
17953
17954 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
17955 instead of PATH is NULL.
17956
68c864eb 179572005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
17958
17959 * commands/cmp.c (BUFFER_SIZE): New macro.
17960 (grub_cmd_cmp): Close the right file at the right time. Compare
17961 only data just read. Don't report files of different size as
17962 identical. Dynamically allocate buffers. Move variable
17963 declarations at the beginning of function.
17964
e6f3e614 179652005-07-09 Yoshinori Okuji <okuji@enbug.org>
17966
17967 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
17968 reverse.
17969
f8f1559a 179702004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
17971
17972 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
17973 when backspace is pressed at beginning of line.
17974
39c9d41d 179752005-07-03 Yoshinori Okuji <okuji@enbug.org>
17976
17977 * DISTLIST: Added genfslist.sh.
17978
17979 * normal/main.c (fs_module_list): New variable.
17980 (autoload_fs_module): New function.
17981 (read_fs_list): Likewise.
17982 (grub_normal_execute): Call read_fs_list.
17983
17984 * kern/fs.c (grub_fs_autoload_hook): New variable.
17985 (grub_fs_probe): Added support for auto-loading.
17986
17987 * include/grub/normal.h (struct grub_fs_module_list): New struct.
17988 (grub_fs_module_list_t): New type.
17989
17990 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
17991 (grub_fs_autoload_hook): New prototype.
17992
17993 * genfslist.sh: New file.
f19dbdb7 17994
39c9d41d 17995 * genmk.rb: Added a rule to generate a filesystem list.
17996
121c1d83 179972005-06-30 Marco Gerards <metgerards@student.han.nl>
17998
17999 * configure.ac: Fix the test for cross-compiling.
18000
18001 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
18002 define GRUB_UTIL anymore.
18003
18004 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
18005 so this function works on other systems than just big endian.
18006 (load_modules): Likewise.
18007 (add_segments): Likewise.
18008
e75d76e1 180092005-06-23 Hollis Blanchard <hollis@penguinppc.org>
18010
18011 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
18012 contains `l' modifier, get a long from va_arg().
18013
50b5a0a7 180142005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
18015
18016 * kern/mm.c (grub_free): If the next free block which is being
18017 merged is the first free block, set the first block to the block
18018 being freed.
18019 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
18020
89371b20 180212005-05-08 Hollis Blanchard <hollis@penguinppc.org>
18022
18023 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
18024 `grub_ieee1275_chosen'.
18025
168d6e58 180262005-05-08 Hollis Blanchard <hollis@penguinppc.org>
18027
18028 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
18029 (grub_ieee1275_chosen): New variable.
18030 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
18031 `chosen'.
18032 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
18033 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
18034 Rename first argument to `phandle' for consistency.
18035 (grub_ieee1275_get_property_length): Likewise.
18036 (grub_ieee1275_next_property): Likewise. Change type of first argument
18037 to grub_ieee1275_phandle_t.
18038 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
18039 Move export next to declaration.
18040 (grub_ieee1275_chosen): New variable.
18041 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
18042 Correct cosmetic typo.
18043 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
18044 `grub_ieee1275_chosen'.
18045 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
18046 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
18047 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
18048 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
18049 `grub_ieee1275_chosen'.
18050
ca5baa3f 180512005-05-10 Hollis Blanchard <hollis@penguinppc.org>
18052
18053 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
18054 /chosen/bootargs.
18055 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
18056 /chosen/bootargs as "variable=value" pairs.
18057
708b345f 180582005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
18059
18060 * include/grub/misc.h (grub_dprintf): New macro.
18061 (grub_real_dprintf): New prototype.
18062 (grub_strword): Likewise.
18063 (grub_iswordseparator): Likewise.
18064 * kern/misc.c (grub_real_dprintf): New function.
18065 (grub_strword): Likewise.
18066 (grub_iswordseparator): Likewise.
18067
f4c5e67c 180682005-04-30 Hollis Blanchard <hollis@penguinppc.org>
18069
18070 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
18071 (roundup): Remove macro.
18072 (grub_ieee1275_flags): Make static.
18073 (grub_ieee1275_realmode): Remove.
18074 (grub_ieee1275_test_flag): New function.
18075 (grub_ieee1275_set_flag): Likewise.
18076 (find_options): Rename to `grub_ieee1275_find_options'; update
18077 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
18078 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
18079 (cmain): New prototype.
18080 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
18081 `grub_ieee1275_flags' directly.
18082 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
18083 machine/biosdisk.h.
18084 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
18085 Don't include grub/machine/init.h.
18086 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
18087 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18088 Remove prototype.
18089 (grub_ieee1275_realmode): Likewise.
18090 (grub_ieee1275_flag): New enum.
18091 (grub_ieee1275_test_flag): New prototype.
18092 (grub_ieee1275_set_flag): New prototype.
18093 * include/grub/powerpc/ieee1275/init.h: Remove file.
18094 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
18095 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
18096 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
18097 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
18098 comment.
18099 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
18100 `grub_ieee1275_test_flag'.
18101 (grub_ieee1275_encode_devname): Likewise.
18102
ed16607e 181032005-04-21 Hollis Blanchard <hollis@penguinppc.org>
18104
18105 * include/grub/powerpc/ieee1275/ieee1275.h
18106 (grub_ieee1275_encode_devname): New prototype.
18107 (grub_ieee1275_get_filename): Likewise.
18108 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
18109 function.
18110 (grub_set_prefix): Likewise.
18111 (grub_machine_init): Call grub_set_prefix.
18112 * kern/powerpc/ieee1275/openfw.c: Fix typos.
18113 (grub_parse_type): New enum.
18114 (grub_ieee1275_get_devargs): New function.
18115 (grub_ieee1275_get_devname): Likewise.
18116 (grub_ieee1275_parse_args): Likewise.
18117 (grub_ieee1275_get_filename): Likewise.
18118 (grub_ieee1275_encode_devname): Likewise.
18119
be369920 181202005-03-30 Marco Gerards <metgerards@student.han.nl>
18121
18122 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
18123 `grub_loader_unset'.
18124
a5ce3a4a 181252005-03-26 Hollis Blanchard <hollis@penguinppc.org>
18126
18127 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
18128 instead of grub_ieee1275_interpret.
18129 (grub_halt_init): New function.
18130 (grub_halt_fini): Likewise.
18131 (GRUB_MOD_INIT): Correct message grammar.
18132 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
18133 instead of grub_ieee1275_interpret.
18134 (grub_reboot_init): New function.
18135 (grub_reboot_fini): Likewise.
18136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
18137 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
18138 util/i386/pc/misc.c with commands/ieee1275/halt.c,
18139 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
18140 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
18141 function.
18142 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
18143 Add prototype.
18144 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
18145 prototype.
18146 (grub_halt): Likewise.
18147 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
18148 (cmain): Remove __attribute__((unused)).
18149 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
18150 (grub_heap_len): Likewise.
18151 (grub_machine_fini): New function.
18152 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
18153 (grub_halt): Likewise.
18154 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
18155 function.
18156 * util/powerpc/ieee1275/misc.c: New file.
18157
0058f771 181582005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18159
18160 * DISTLIST: New file.
18161 * gendistlist.sh: Likewise.
f19dbdb7 18162
0058f771 18163 * Makefile.in (COMMON_DISTFILES): Removed.
18164 (BOOT_DISTFILES): Likewise.
18165 (CONF_DISTFILES): Likewise.
18166 (DISK_DISTFILES): Likewise.
18167 (FS_DISTFILES): Likewise.
18168 (INCLUDE_DISTFILES): Likewise.
18169 (KERN_DISTFILES): Likewise.
18170 (LOADER_DISTFILES): Likewise.
18171 (TERM_DISTFILES): Likewise.
18172 (UTIL_DISTFILES): Likewise.
18173 (DISTFILES): Likewise.
18174 (uninstall): Uninstall files in $(pkgdata_DATA).
18175 (DISTLIST): New target.
18176 (distdir): Use the contents of the file DISTLIST to get a list of
18177 distributed files.
18178
46b3b8a5 181792005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18180
18181 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
18182 descriptor. This is ported from GRUB Legacy.
18183
18184 * gencmdlist.sh: Added an extra semicolon to make it work with
18185 old sed versions. Reported by Robert Bihlmeyer
18186 <robbe@orcus.priv.at>.
18187
5822ff87 181882005-03-08 Yoshinori Okuji <okuji@enbug.org>
18189
18190 Automatic loading of commands is supported.
f19dbdb7 18191
5822ff87 18192 * normal/main.c (read_command_list): New function.
18193 (grub_normal_execute): Call read_command_list.
18194
18195 * normal/command.c (grub_register_command): Return zero or CMD.
18196 Allocate CMD->NAME from the heap.
18197 Initialize CMD->MODULE_NAME to zero.
18198 Find the same name as well. If the same command is found and it is
18199 a dummy command, overwrite members. If it is not a dummy command,
18200 return zero.
18201 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
18202 (grub_command_find): If a dummy command is found, load a module
18203 and retry to find a command only once.
18204
18205 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
18206 make sure that each command is loaded.
18207
18208 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
18209 macro.
18210 (struct grub_command): Remove const from the member `name'.
18211 Add a new member `module_name'.
18212 (grub_register_command): Return grub_command_t.
18213
18214 * commands/help.c (grub_cmd_help): Call grub_command_find to make
18215 sure that each command is loaded.
18216
18217 * genmk.rb (PModule::rule): Specify a module name without the
18218 suffix ".mod" to gencmdlist.sh.
18219
7b1f4b57 182202005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18221
18222 * gencmdlist.sh: New file.
f19dbdb7 18223
7b1f4b57 18224 * genmk.rb (PModule::rule): Generate a rule for a command list.
18225 Clean command.lst.
18226 Generate command.lst from $(COMMANDFILES).
18227
18228 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
18229 (DATA): Added $(pkgdata_DATA).
18230 (install-local): Install files in $(pkgdata_DATA).
18231
062aaf39 182322005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18233
18234 * term/i386/pc/vga.c (debug_command): Removed.
18235 (GRUB_MOD_INIT): Do not register the command "debug".
18236
18237 From Hollis Blanchard:
18238 * commands/configfile.c: New file.
18239 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18240 commands/configfile.c.
18241 (pkgdata_MODULES): Added configfile.mod.
18242 (configfile_mod_SOURCES): New variable.
18243 (configfile_mod_CFLAGS): Likewise.
18244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18245 commands/configfile.c.
18246 (pkgdata_MODULES): Added configfile.mod.
18247 (configfile_mod_SOURCES): New variable.
18248 (configfile_mod_CFLAGS): Likewise.
18249 * util/grub-emu.c (main): Call grub_configfile_init and
18250 grub_configfile_fini.
18251 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
18252 prototype.
18253 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 18254
cee01aa6 182552005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18256
18257 * normal/arg.c (grub_arg_show_help): Do not show the bug report
18258 address.
18259
18260 * commands/help.c (grub_cmd_help): Do not print newlines after
18261 the last command in print_command_help.
18262
93f3a1d8 182632005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18264
18265 * commands/default.h: New file.
18266 * commands/timeout.h: Likewise.
18267 * normal/context.c: Likewise.
f19dbdb7 18268
93f3a1d8 18269 * util/misc.c: Do not include sys/times.h.
18270 Include sys/time.h and grub/machine/time.h.
18271 (grub_get_rtc): Rewritten with gettimeofday.
18272
18273 * util/grub-emu.c (main): Call grub_default_init and
18274 grub_timeout_init before grub_normal_init, and call
18275 grub_timeout_fini and grub_default_fini after grub_main.
18276
18277 * util/console.c (grub_ncurses_checkkey): Return the read
18278 character or -1.
18279
18280 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
18281 timeouts.
18282
18283 * normal/main.c (read_config_file): Push MENU. If this fails,
18284 print an error and wait for a user input.
18285 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
18286 If a menu is empty or an error occurs, pop MENU.
18287 (grub_normal_execute): Pop and free MENU after grub_menu_run
18288 returns.
18289
18290 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
18291
18292 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
18293 include time.h.
18294 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18295 without GRUB_UTIL.
18296 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
18297 time.h.
18298 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
18299 without GRUB_UTIL.
18300
18301 * include/grub/normal.h (struct grub_menu_list): New struct.
18302 (grub_menu_list_t): New type.
18303 (struct grub_context): New struct.
18304 (grub_context_t): New type.
18305 (grub_register_command): Got rid of EXPORT_FUNC.
18306 (grub_unregister_command): Likewise.
18307 (grub_context_get): New prototype.
18308 (grub_context_get_current_menu): Likewise.
18309 (grub_context_push_menu): Likewise.
18310 (grub_context_pop_menu): Likewise.
18311 [GRUB_UTIL] (grub_default_init): Likewise.
18312 [GRUB_UTIL] (grub_default_fini): Likewise.
18313 [GRUB_UTIL] (grub_timeout_init): Likewise.
18314 [GRUB_UTIL] (grub_timeout_fini): Likewise.
18315
18316 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
18317 commands/timeout.c and normal/context.c.
18318 (pkgdata_MODULES): Added default.mod and timeout.mod.
18319 (normal_mod_SOURCES): Added normal/context.c.
18320 (default_mod_SOURCES): New variable.
18321 (default_mod_CFLAGS): Likewise.
18322 (timeout_mod_SOURCES): Likewise.
18323 (timeout_mod_CFLAGS): Likewise.
18324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
18325 conf/i386-pc.rmk.
18326 (pkgdata_MODULES): Added default.mod and timeout.mod.
18327 (normal_mod_SOURCES): Added normal/context.c.
18328 (default_mod_SOURCES): New variable.
18329 (default_mod_CFLAGS): Likewise.
18330 (timeout_mod_SOURCES): Likewise.
18331 (timeout_mod_CFLAGS): Likewise.
18332
18333 * Makefile.in (all-local): Added $(MKFILES).
18334
4ed2e1dd 183352005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
18336
18337 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
18338 (grub_emu_SOURCES): Likewise.
18339 (pkgdata_MODULES): Add `sun.mod'.
18340 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18342 `partmap/sun.c'.
18343 (pkgdata_MODULES): Add `sun.mod'.
18344 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
18345 * include/grub/partition.h (grub_sun_partition_map_init): New
18346 prototype.
18347 (grub_sun_partition_map_fini): Likewise.
18348 * partmap/sun.c: New file.
18349 * util/grub-emu.c (main): Initialize and de-initialize the sun
18350 partitionmap support.
18351
4d4e372e 183522005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
18353
18354 This implements an Emacs-like menu entry editor.
f19dbdb7 18355
4d4e372e 18356 * normal/menu_entry.c: New file.
f19dbdb7 18357
4d4e372e 18358 * util/console.c (grub_ncurses_putchar): Translate some Unicode
18359 characters to ASCII.
18360 (saved_char): New variable.
18361 (grub_ncurses_checkkey): Rewritten completely.
18362 (grub_ncurses_getkey): Likewise.
18363 (grub_ncurses_init): Call raw instead of cbreak.
18364
18365 * normal/menu.c (print_entry): Do not put a space.
18366 (init_page): Renamed to ...
18367 (grub_menu_init_page): ... this. All callers changed.
18368 (edit_menu_entry): Removed.
18369 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
18370
18371 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
18372
18373 * kern/misc.c (grub_vprintf): Call grub_refresh.
18374
18375 * normal/menu.c (DISP_LEFT): Renamed to ...
18376 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
18377 * normal/menu.c (DISP_UP): Renamed to ...
18378 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
18379 * normal/menu.c (DISP_RIGHT): Renamed to ...
18380 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
18381 * normal/menu.c (DISP_DOWN): Renamed to ...
18382 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
18383 * normal/menu.c (DISP_HLINE): Renamed to ...
18384 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
18385 * normal/menu.c (DISP_VLINE): Renamed to ...
18386 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
18387 * normal/menu.c (DISP_UL): Renamed to ...
18388 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
18389 * normal/menu.c (DISP_UR): Renamed to ...
18390 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
18391 * normal/menu.c (DISP_LL): Renamed to ...
18392 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
18393 * normal/menu.c (DISP_LR): Renamed to ...
18394 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
18395 * normal/menu.c (TERM_WIDTH): Renamed to ...
18396 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
18397 * normal/menu.c (TERM_HEIGHT): Renamed to ...
18398 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
18399 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
18400 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
18401 * normal/menu.c (TERM_MARGIN): Renamed to ...
18402 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
18403 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
18404 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
18405 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
18406 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
18407 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
18408 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
18409 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
18410 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
18411 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
18412 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
18413 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
18414 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
18415 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
18416 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
18417 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
18418 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
18419 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
18420 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
18421 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
18422 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
18423 All callers changed.
18424
18425 * include/grub/normal.h: New prototype.
18426
18427 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18428 normal/menu_entry.c.
18429 (normal_mod_SOURCES): Likewise.
18430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18431 (normal_mod_SOURCES): Likewise.
18432
e6b92c8a 184332005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
18434
18435 * include/grub/normal.h (grub_halt_init): New prototype.
18436 (grub_halt_fini): Likewise.
18437 (grub_reboot_init): Likewise.
18438 (grub_reboot_fini): Likewise.
18439
18440 * util/grub-emu.c: Include signal.h.
18441 (main_env): New global variable.
18442 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
18443 catch C-c.
18444 (grub_machine_fini): New function.
18445 (main): Call grub_halt_init and grub_reboot_init before
18446 grub_main, and grub_reboot_fini and grub_halt_fini after it.
18447 Call setjmp with MAIN_ENV to go back afterwards.
18448 Call grub_machine_fini right before return.
18449
18450 * include/grub/util/misc.h: Include setjmp.h.
18451 (main_env): New prototype.
18452
18453 * include/grub/kernel.h (grub_machine_fini): New prototype.
18454 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
18455 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
18456
18457 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
18458 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
18459 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 18460
e6b92c8a 18461 * util/i386/pc/misc.c: New file.
f19dbdb7 18462
e6b92c8a 18463 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18464 util/i386/pc/misc.c, commands/i386/pc/halt.c and
18465 commands/i386/pc/reboot.c.
18466
c642636f 184672005-02-14 Guillem Jover <guillem@hadrons.org>
18468
18469 * include/grub/dl.h (grub_dl_check_header): New prototype.
18470 (grub_arch_dl_check_header): Change return type to grub_err_t,
18471 remove size parameter and export function. Update all callers.
18472 * kern/dl.c (grub_dl_check_header): New function.
18473 (grub_dl_load_core): Use `grub_dl_check_header' instead of
18474 `grub_arch_dl_check_header'. Check ELF type. Check if sections
18475 are inside the core.
18476 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
18477 independent ELF header checks.
18478 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18479 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
18480 `grub_dl_check_header' instead of explicit checks. Check for the
18481 ELF type.
18482 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
18483 `grub_dl_check_header' instead of explicit checks. Remove arch
18484 specific ELF header checks.
18485
e6b92c8a 18486 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
18487 argument SIZE.
18488
5eabe94b 184892005-02-13 Hollis Blanchard <hollis@penguinppc.org>
18490
18491 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
18492 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
18493
1b14a681 184942005-02-12 Hollis Blanchard <hollis@penguinppc.org>
18495
18496 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 18497 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 18498 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 18499 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 18500 * partmap/amiga.c (amiga_partition_map_iterate): Return
18501 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
18502 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18503
aca108aa 185042005-02-01 Guillem Jover <guillem@hadrons.org>
18505
18506 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
18507 help info.
18508
c9f9c556 185092005-01-31 Marco Gerards <metgerards@student.han.nl>
18510
18511 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
18512 Removed prototype.
18513 (grub_rescue_cmd_linux): New prototype.
18514 (grub_rescue_cmd_initrd): Likewise.
18515 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
18516 `bi_rec'.
18517 (grub_linux_release_mem): Release the memory for the initrd.
18518 (grub_load_linux): Renamed from this...
18519 (grub_rescue_cmd_linux): ...To this. Changed all callers.
18520 Changed `entry' not to be static. Loop over memory regions to
18521 find another one when the default fails.
18522 (grub_rescue_cmd_initrd): New function.
18523 (grub_linux_init): Remove function.
18524 (grub_linux_fini): Likewise.
18525 (GRUB_MOD_INIT): Register `initrd'.
18526 (GRUB_MOD_FINI): Unregister `initrd'.
18527 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
18528 Function removed.
18529 (grub_linux_normal_fini): Likewise.
18530 (GRUB_MOD_INIT): Register `initrd'.
18531 (GRUB_MOD_FINI): Unregister `initrd'.
18532
990cf3aa 185332005-01-31 Marco Gerards <metgerards@student.han.nl>
18534
18535 * commands/help.c: New file.
18536 * normal/arg.c (show_help): Renamed to...
18537 (grub_arg_show_help): ... this.
18538 * commands/i386/pc/halt.c: New file.
18539 * commands/i386/pc/reboot.c: Likewise.
18540 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
18541 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
18542 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
18543 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
18544 variables.
18545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18546 `commands/help.c'.
18547 (pkgdata_MODULES): Add `help.mod'.
18548 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
18549 * grub/i386/pc/init.h (grub_reboot): New prototype.
18550 (grub_halt): Likewise.
18551 * include/grub/normal.h (grub_arg_show_help): New prototype.
18552 (grub_help_init): Likewise.
18553 (grub_help_fini): Likewise.
18554 * util/grub-emu.c (main): Initialize and deinitialize the help
18555 command.
18556
18557 * normal/cmdline.c (grub_cmdline_get): Doc fix.
18558
18559 * normal/command.c (grub_command_init): Fixed the description of
18560 the `set' and `unset' commands.
18561
185622005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 18563
18564 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
18565 function.
18566 * commands/ieee1275/halt.c: New file.
18567 * commands/ieee1275/reboot.c: Likewise.
18568 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
18569 `__attribute__ ((unused))'. Some GCS related fixed.
18570 (grub_suspend_init) [GRUB_UTIL]: Function removed.
18571 (grub_suspend_fini): Likewise.
18572 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
18573 and `halt.mod'.
18574 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
18575 (halt_mod_CFLAGS): New variables.
18576 * include/grub/powerpc/ieee1275/ieee1275.h
18577 (grub_ieee1275_interpret): New prototype.
18578
1ab09cc7 185792005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
18580
18581 * include/grub/misc.h (memmove): New prototype.
18582 (memcpy): Likewise.
18583
8b8cbdb2 185842005-01-22 Hollis Blanchard <hollis@penguinppc.org>
18585
18586 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
18587 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
18588
e3741a27 185892005-01-22 Marco Gerards <metgerards@student.han.nl>
18590
18591 * kern/misc.c (grub_strndup): Function rewritten.
18592
776bd780 185932005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
18594
18595 * normal/menu.c (TERM_WIDTH): Macro redefined.
18596 (TERM_TOP_BORDER_Y): Likewise.
18597 (draw_border): Replaced while-loop by a for-loop. Make the number
18598 of lines consistent with the number of lines displayed in
18599 print_entries. Added a margin below the rectangle.
18600 (print_entry): Make the entry fit in the rectangle.
18601 (print_entries): Display the scroll arrows next to the right
18602 border.
18603
78026bce 186042005-01-21 Marco Gerards <metgerards@student.han.nl>
18605
18606 * fs/minix.c (grub_minix_find_file): Reserve more space for
18607 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
18608 `grub_strncpy' to copy `path' into it.
18609
67bbaf0f 186102005-01-21 Marco Gerards <metgerards@student.han.nl>
18611
18612 Add the loopback device, a device via which files can be accessed
18613 as devices.
f19dbdb7 18614
67bbaf0f 18615 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
18616 (pkgdata_MODULES): Add loopback.mod.
18617 (loopback_mod_SOURCES): New variable.
18618 (loopback_mod_CFLAGS): Likewise.
18619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
18620 `disk/loopback.c'.
18621 (pkgdata_MODULES): Add loopback.mod.
18622 (loopback_mod_SOURCES): New variable.
18623 (loopback_mod_CFLAGS): Likewise.
18624 * disk/loopback.c: new file.
18625 * include/grub/normal.h (grub_loop_init): New prototype.
18626 (grub_loop_fini): New prototype.
18627 * util/grub-emu.c (main): Initialize and de-initialize loopback
18628 support.
18629 * include/grub/disk.h (grub_disk_dev_id): Add
18630 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
18631
6f1c18bd 186322005-01-20 Hollis Blanchard <hollis@penguinppc.org>
18633
18634 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
18635 function.
18636 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
18637 (suspend_mod_SOURCES): New variable.
18638 (suspend_mod_CFLAGS): Likewise.
18639 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
18640 New prototype.
18641 * commands/ieee1275/suspend.c: New file.
18642
b38551da 186432005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18644
18645 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 18646 ((unused))' to `__attribute__ ((used))'.
b38551da 18647 (GRUB_MOD_FINI): Likewise.
18648 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
18649 * genmk.rb (PModule): Assign space to common symbols when linking
18650 modules.
18651
777aff39 186522005-01-20 Marco Gerards <metgerards@student.han.nl>
18653
18654 * include/grub/mm.h (grub_mm_init_region): Change the type of the
18655 `unsigned' arguments to `grub_size_t'.
18656 (grub_malloc): Likewise.
18657 (grub_realloc): Likewise.
18658 (grub_memalign): Likewise.
18659 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
18660 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
18661 * util/misc.c (grub_malloc): Likewise.
18662 (grub_realloc): Likewise.
18663 * kern/mm.c (get_header_from_pointer): Change the casts to
18664 `unsigned' into a cast to `grub_size_t'.
18665
18666 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
18667 point to `currnode' when `currnode' is changed.
18668
18669 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
18670 Schottelius <nico-linux@schottelius.org>.
18671
d0ff18e1 186722005-01-09 Hollis Blanchard <hollis@penguinppc.org>
18673
18674 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
18675 (note_path): Remove variable.
18676 (GRUB_IEEE1275_NOTE_NAME): New macro.
18677 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
18678 (grub_ieee1275_note_hdr): New structure.
18679 (grub_ieee1275_note_desc): Likewise.
18680 (grub_ieee1275_note): Likewise.
18681 (load_note): Remove `dir' argument. All callers updated. Remove
18682 `note_img' and `path'. Do not load a file from `note_path'.
18683 Initialize a struct grub_ieee1275_note and write that to `out'.
18684 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
18685
4ca7004c 186862005-01-05 Marco Gerards <metgerards@student.han.nl>
18687
18688 * util/misc.c (grub_util_read_image): Revert last change. It
18689 called `grub_util_read_at', which seeks from the beginning of the
18690 file.
18691
0b412211 186922005-01-04 Hollis Blanchard <hollis@penguinppc.org>
18693
18694 * TODO: Add note about endianness in grub-mkimage.
18695 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
18696 section.
18697 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
18698 (grub_mkimage_SOURCES): New target.
18699 * include/grub/kernel.h (grub_start_addr): Remove variable.
18700 (grub_end_addr): Likewise.
18701 (grub_total_module_size): Likewise.
18702 (grub_kernel_image_size): Likewise.
18703 (GRUB_MODULE_MAGIC): New constant.
18704 (grub_module_info): New structure.
18705 (grub_arch_modules_addr): New prototype.
18706 (grub_get_end_addr): Remove prototype.
18707 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
18708 * include/grub/powerpc/ieee1275/kernel.h: New file.
18709 * include/grub/util/misc.h (grub_util_get_fp_size): New
18710 prototype.
18711 (grub_util_read_at): Likewise.
18712 (grub_util_write_image_at): Likewise.
18713 * kern/main.c (grub_get_end_addr): Remove function.
18714 (grub_load_modules): Call grub_arch_modules_addr instead of using
18715 grub_end_addr. Look for a grub_module_info struct in memory. Use
18716 the grub_module_info fields instead of calling grub_get_end_addr
18717 as loop conditions. Move grub_add_unused_region code here.
18718 (grub_add_unused_region): Remove function.
18719 * kern/i386/pc/init.c: Include grub/cache.h.
18720 (grub_machine_init): Remove call to grub_get_end_addr. Remove
18721 one call to add_mem_region.
18722 (grub_arch_modules_addr): New function.
18723 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
18724 (grub_total_module_size): Likewise.
18725 Include grub/machine/kernel.h.
18726 (grub_arch_modules_addr): New function.
18727 * util/grub-emu.c (grub_end_addr): Remove variable.
18728 (grub_total_module_size): Likewise.
18729 (grub_arch_modules_addr): New function.
18730 * util/misc.c: Include unistd.h.
18731 (grub_util_get_fp_size): New function.
18732 (grub_util_read_at): Likewise.
18733 (grub_util_write_image_at): Likewise.
18734 (grub_util_read_image): Call grub_util_read_at.
18735 (grub_util_write_image): Call grub_util_write_image_at.
18736 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
18737 additional memory in kernel_img for a struct grub_module_info.
18738 Fill in that grub_module_info.
18739 * util/powerpc/ieee1275/grub-mkimage.c: New file.
18740
458786f8 187412005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18742
18743 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
18744 New function.
18745 * include/grub/powerpc/ieee1275/ieee1275.h
18746 (grub_ieee1275_milliseconds): New prototype.
18747 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
18748 Change to 1000.
18749 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
18750 grub_ieee1275_milliseconds.
18751
ac507d1b 187522005-01-03 Hollis Blanchard <hollis@penguinppc.org>
18753
18754 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
18755 variable.
18756 (find_options): New function.
18757 (cmain): Call find_options.
18758 * include/grub/powerpc/ieee1275/ieee1275.h
18759 (grub_ieee1275_realmode): New extern variable.
18760 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
18761 grub_map if grub_ieee1275_realmode is false.
18762
6b8fd1c4 187632004-12-29 Marco Gerards <metgerards@student.han.nl>
18764
18765 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
18766 lines are inserted and make it work like readline. Reported by
18767 Vincent Pelletier <subdino2004@yahoo.fr>.
18768
8514a1e0 187692004-12-28 Marco Gerards <metgerards@student.han.nl>
18770
18771 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
18772
18773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
18774 `kern/powerpc/cache.S'.
18775
924b6140 187762004-12-27 Marco Gerards <metgerards@student.han.nl>
18777
18778 * genmk.rb: Handle the `Program' class in the main loop. Written
18779 by Johan Rydberg <jrydberg@gnu.org>.
18780 (Program): New class.
18781 (programs): New variable.
18782 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
18783 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
18784 instead of "grub/kernel.h". Include <grub/machine/init.h>.
18785 (help_arch): Function removed.
18786 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
18787 `powerpc/libgcc.h' and `loader.h'.
18788 (pkgdata_PROGRAMS): New variable.
18789 (sbin_UTILITIES): Variable removed.
18790 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
18791 (grubof_SOURCES): Variable re-defined so it only includes the
18792 core functionality.
18793 (grubof_CFLAGS): Remove `-DGRUBOF'.
18794 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
18795 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
18796 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
18797 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
18798 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
18799 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
18800 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
18801 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
18802 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
18803 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
18804 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
18805 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
18806 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
18807 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
18808 (pc_mod_CFLAGS): New variables.
18809 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
18810 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
18811 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
18812 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
18813 Moved from here...
18814 * include/grub/i386/pc/init.h (grub_os_area_addr)
18815 (rub_os_area_size): ... to here.
18816 * include/grub/powerpc/ieee1275/ieee1275.h
18817 (grub_ieee1275_entry_fn): Export symbol.
18818 * include/grub/powerpc/ieee1275/init.h: New file.
18819 * include/grub/powerpc/libgcc.h: Likewise.
18820 * include/grub/cache.h: Likewise.
18821 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
18822 <hollis@penguinppc.org>.
18823 * kern/dl.c: Include <grub/cache.h>.
18824 (grub_dl_flush_cache): New function.
18825 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
18826 for this module.
18827 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
18828 (grub_console_init): Removed prototypes.
18829 (grub_machine_init): Don't initialize the modules anymore.
18830 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
18831 static.
18832 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
18833 Macro undef removed.
18834 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
18835 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
18836 relocation `R_PPC_REL32'. Return an error when the relocation is
18837 unknown.
18838 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
18839 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
18840 * util/misc.c (grub_arch_sync_caches): Likewise.
18841
e4b47e0c 188422004-12-19 Marco Gerards <metgerards@student.han.nl>
18843
18844 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
18845 `symlist.c', add `grubof_symlist.c'.
18846 (symlist.c): Variable removed.
18847 (grubof_HEADERS): Variable added.
18848 (grubof_symlist.c): New target.
18849 (kernel_syms.lst): Use `grubof_HEADERS' instead of
18850 `kernel_img_HEADERS'.
18851 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
18852 * kern/powerpc/dl.c: New file.
18853 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
18854 Function removed.
18855 (grub_arch_dl_relocate_symbols): Likewise.
18856 (grub_register_exported_symbols): Likewise.
18857
4ceb3636 188582004-12-13 Marco Gerards <metgerards@student.han.nl>
18859
18860 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
18861 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
18862 to fail instead. Reported by Vincent Pelletier
18863 <subdino2004@yahoo.fr>.
18864
18865 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
18866 it is not allocated. Reported by Vincent Pelletier
18867 <subdino2004@yahoo.fr>.
18868
18869 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
18870 output so the output looks better.
f19dbdb7 18871
3f1578fe 188722004-12-04 Marco Gerards <metgerards@student.han.nl>
18873
18874 Modulize the partition map support and add support for the amiga
18875 partition map.
f19dbdb7 18876
3f1578fe 18877 * commands/ls.c: Include <grub/partition.h> instead of
18878 <grub/machine/partition.h>.
18879 * kern/disk.c: Likewise.
18880 * kern/rescue.c: Likewise.
18881 * loader/i386/pc/chainloader.c: Likewise.
18882 * normal/cmdline.c: Likewise.
18883 * kern/powerpc/ieee1275/init.c: Likewise.
18884 (grub_machine_init): Call `grub_pc_partition_map_init',
18885 `grub_amiga_partition_map_init' and
18886 `grub_apple_partition_map_init'.
18887 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
18888 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
18889 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
18890 `partition.h' and `pc_partition.h'.
18891 (grub_setup_SOURCES): Remove
18892 `disk/i386/pc/partition.c'. Add `kern/partition.c',
18893 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18894 (grub_emu_SOURCES): Likewise.
18895 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
18896 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
18897 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
18898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18899 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
18900 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
18901 (grubof_SOURCES): Likewise.
18902 * disk/i386/pc/partition.c: File removed.
18903 * disk/powerpc/ieee1275/partition.c: Likewise.
18904 * include/grub/powerpc/ieee1275/partition.h: Likewise.
18905 * include/grub/i386/pc/partition.h: Likewise.
18906 * kern/partition.c: New file.
18907 * partmap/amiga.c: Likewise.
18908 * partmap/apple.c: Likewise.
18909 * partmap/pc.c: Likewise.
18910 * include/grub/partition.h: Likewise..
18911 * include/grub/pc_partition.h: Likewise.
18912 * util/grub-emu.c: Include <grub/partition.h> instead of
18913 <grub/machine/partition.h>.
18914 (main): Call `grub_pc_partition_map_init',
18915 `grub_amiga_partition_map_init' and
18916 `grub_apple_partition_map_init' and deinitialize afterwards.
18917 * util/i386/pc/biosdisk.c: Include `#include
18918 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18919 `<grub/machine/partition.h>'.
18920 * util/i386/pc/grub-setup.c: Likewise.
18921 * util/i386/pc/biosdisk.c: Likewise.
18922 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
18923 partition information in case of a PC partition.
18924 * util/i386/pc/grub-setup.c: Include `#include
18925 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
18926 `<grub/machine/partition.h>'.
18927 (setup): Only access the PC specific partition information in case
18928 of a PC partition.
18929
0ef4ced9 189302004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 18931
0ef4ced9 18932 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
18933 (grub_longjmp): Likewise.
18934 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
18935 20.
18936 * normal/powerpc/setjmp.S: New file.
18937 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
18938 `normal/powerpc/setjmp.S'.
18939 (grubof_CFLAGS): Add `-DGRUBOF'.
18940 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
18941 [GRUB_UTIL && !GRUBOF].
f19dbdb7 18942
19950e29 189432004-11-16 Marco Gerards <metgerards@student.han.nl>
18944
18945 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
18946 property named `name'. Correctly handle the error returned by
18947 `grub_ieee1275_finddevice' if a device can not be opened.
18948
a2fea427 189492004-11-02 Hollis Blanchard <hollis@penguinppc.org>
18950
18951 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
18952 `actual' for negativity.
18953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
18954 kern/fshelp.c.
18955
41ea0ea3 189562004-11-01 Marco Gerards <metgerards@student.han.nl>
18957
18958 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
18959 (PAGE_OFFSET): New macro.
18960 (CRTC_ADDR_PORT): Likewise.
18961 (CRTC_DATA_PORT): Likewise.
18962 (START_ADDR_HIGH_REGISTER): Likewise.
18963 (START_ADDR_LOW_REGISTER): Likewise.
18964 (GRAPHICS_ADDR_PORT): Likewise.
18965 (GRAPHICS_DATA_PORT): Likewise.
18966 (READ_MAP_REGISTER): Likewise.
18967 (INPUT_STATUS1_REGISTER): Likewise.
18968 (INPUT_STATUS1_VERTR_BIT): Likewise.
18969 (page): New variable.
18970 (wait_vretrace): New function.
18971 (set_read_map): Likewise.
18972 (set_start_address): Likewise.
18973 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
18974 the right page.
18975 (check_vga_mem): Take the page into account.
18976 (write_char): Likewise.
18977 (write_cursor): Likewise.
18978 (scroll_up): Likewise. Copy the page to the page that is not
18979 shown and switch between both pages.
18980 (grub_vga_putchar): Fix off by one error.
18981 (grub_vga_cls): Wait for the vertical retrace. Take the page into
18982 account.
18983
ad0bd20b 189842004-11-01 Marco Gerards <metgerards@student.han.nl>
18985
18986 Add support for iso9660 (including rockridge).
f19dbdb7 18987
ad0bd20b 18988 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18989 (iso9660_mod_SOURCES): New variable.
18990 (iso9660_mod_CFLAGS): Likewise.
18991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
18992 * include/grub/fs.h (grub_iso9660_init): New prototype.
18993 * util/grub-emu.c (main): Call `grub_iso9660_init'.
18994 * fs/iso9660.c: New file.
18995
18996 * include/grub/misc.h (grub_strncat): New prototype.
18997 * kern/misc.c (grub_strncat): New function.
f19dbdb7 18998
ad0bd20b 18999 * fs/hfs.c (grub_hfs_mount): Translate the error
19000 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
19001 * fs/jfs.c (grub_jfs_mount): Likewise.
19002 * fs/ufs.c (grub_ufs_mount): Likewise.
19003
a5477a59 190042004-10-28 Hollis Blanchard <hollis@penguinppc.org>
19005
19006 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
19007 which initialized BAT registers.
19008 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
19009 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
19010 Move from here...
19011 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
19012 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
19013 ... to here.
19014 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
19015 (grub_mapclaim): Likewise.
19016 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
19017 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
19018 hand.
19019
9304c1f8 190202004-10-19 Hollis Blanchard <hollis@penguinppc.org>
19021
19022 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
19023 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
19024 -ffreestanding and -msoft-float.
19025
86f4ae25 190262004-10-15 Hollis Blanchard <hollis@penguinppc.org>
19027
19028 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
19029 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
19030 set in grub_ieee1275_flags.
19031
38912228 190322004-10-14 Hollis Blanchard <hollis@penguinppc.org>
19033
19034 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
19035 prototype.
19036 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
19037 grub_console_init first.
19038 Change the memory range used for grub_ieee1275_claim and
19039 grub_mm_init_region.
19040 Print an error message if the claim fails.
19041 Include <grub/misc.h>.
19042
d1923dc8 190432004-10-13 Hollis Blanchard <hollis@penguinppc.org>
19044
19045 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
19046 Call grub_children_iterate for device nodes of type `scsi',
19047 `ide', or `ata'.
19048 (grub_ofdisk_open): Remove manual device alias resolution.
19049 Fix memory leak when device cannot be opened.
f19dbdb7 19050 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 19051 (grub_children_iterate): New prototype.
19052 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
19053 New function.
19054 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
19055 Return -1 if args.size was -1.
19056
4512e4f3 190572004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19058
19059 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
19060 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
19061 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
19062 Open Firmware's memory for it; claim memory from _start to _end.
19063 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
19064 (_end): New extern.
19065 (_start): Zero BSS from __bss_start to _end.
19066 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
19067 New extern.
19068 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
19069
4d61feb0 190702004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19071
ad0bd20b 19072 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
19073 -1 if args.base was -1.
4d61feb0 19074
026fa2f9 190752004-10-08 Hollis Blanchard <hollis@penguinppc.org>
19076
19077 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
19078 escape sequence instead of a literal ^L. Also call
19079 grub_ofconsole_gotoxy.
19080
9f2220ef 190812004-10-03 Hollis Blanchard <hollis@penguinppc.org>
19082
19083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
19084 void * arguments to grub_addr_t. All callers updated. Also make
19085 the `result' argument optional.
19086 (grub_ieee1275_release): change void * arguments to grub_addr_t.
19087 All callers updated.
19088
8a572cd7 190892004-09-22 Hollis Blanchard <hollis@penguinppc.org>
19090
19091 * commands/ls.c (grub_ls_list_files): Use the string following the
19092 initial ')', if present, as the filesystem path.
19093 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
19094
19095 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
19096
18aa81f2 190972004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
19098
19099 Make the source code of the menu interface more readable.
f19dbdb7 19100
18aa81f2 19101 * normal/menu.c: Include grub/mm.h.
19102 (TERM_WIDTH): New macro.
19103 (TERM_HEIGHT): Likewise.
19104 (TERM_INFO_HEIGHT): Likewise.
19105 (TERM_MARGIN): Likewise.
19106 (TERM_SCROLL_WIDTH): Likewise.
19107 (TERM_TOP_BORDER_Y): Likewise.
19108 (TERM_LEFT_BORDER_X): Likewise.
19109 (TERM_BORDER_WIDTH): Likewise.
19110 (TERM_MESSAGE_HEIGHT): Likewise.
19111 (TERM_BORDER_HEIGHT): Likewise.
19112 (TERM_NUM_ENTRIES): Likewise.
19113 (TERM_FIRST_ENTRY_Y): Likewise.
19114 (TERM_ENTRY_WIDTH): Likewise.
19115 (TERM_CURSOR_X): Likewise.
19116 (draw_border): Use macros instead of magic numbers.
19117 (print_entry): Likewise.
19118 (print_entries): Likewise.
19119 (run_menu): Likewise. Also, handle the key 'e'.
19120 (run_menu_entry): Ignore empty command lines.
19121 (print_message): Added a new argument EDIT. If EDIT is true,
19122 print a different message.
19123 (init_page): Likewise.
19124 (edit_menu_entry): New function. Not implemented yet.
19125
b47efe30 191262004-09-17 Marco Gerards <metgerards@student.han.nl>
19127
19128 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
19129 can be loaded from normal mode.
f19dbdb7 19130
b47efe30 19131 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
19132 `multiboot.mod'.
19133 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
19134 (multiboot_mod_CFLAGS): New variables.
19135 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 19136 * loader/i386/pc/multiboot_normal.c: Likewise.
19137
b47efe30 19138 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
19139 attribute `unused'.
f19dbdb7 19140
b47efe30 19141 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
19142 `fdiro' to read the mode information from instead of `diro'.
19143
19144 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
19145 looking up a symlink.
19146
19147 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
19148 macro.
19149 * normal/command.c (grub_command_execute): Don't parse the
19150 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
19151 flags of the command.
19152
19153 * normal/menu.c (grub_menu_run): Fix typo.
19154
da75ac71 191552004-09-14 Hollis Blanchard <hollis@penguinppc.org>
19156
19157 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
19158
19159 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
19160 `y + 1' instead of `y - 1'.
19161
19162 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 19163
062b24c2 191642004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
19165
19166 From Hollis Blanchard <hollis@penguinppc.org>:
19167 * kern/misc.c (memmove): New alias for grub_memmove.
19168 (memcmp): New alias for grub_memcmp.
19169 (memset): New alias for grub_memset.
f19dbdb7 19170 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 19171 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 19172 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 19173 (grub_ieee1275_get_property): Likewise.
f19dbdb7 19174
8ddad845 191752004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
19176
19177 Added normal mode command `chainloader' as module chain.mod, which
19178 depends on normal.mod and _chain.mod.
f19dbdb7 19179
8ddad845 19180 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
19181 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
19182 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
19183 Deleted prototype.
19184 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
19185 but arguments parsing moved to ...
19186 (grub_chainloader_cmd): ... here. New function.
19187 * include/grub/i386/pc/chainloader.h: New file.
19188 * loader/i386/pc/chainloader_normal.c: Likewise.
19189
2c1f4ce3 191902004-09-11 Marco Gerards <metgerards@student.han.nl>
19191
19192 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
19193 (grub_mkimage_LDFLAGS): Likewise.
19194 (grub_emu_SOURCES): Likewise.
19195 (kernel_img_HEADERS): Added fshelp.h.
19196 * fs/ext2.c: Include <grub/fshelp.h>.
19197 (FILETYPE_REG): New macro.
19198 (FILETYPE_INO_REG): Likewise.
19199 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
19200 Changed all users.
19201 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
19202 all users.
19203 (grub_fshelp_node): New struct.
19204 (grub_ext2_data): Added member `diropen'. Changed member `inode'
19205 to a pointer.
19206 (grub_ext2_get_file_block): Removed function.
19207 (grub_ext2_read_block): New function.
19208 (grub_ext2_read_file): Replaced parameter `data' by `node'.
19209 This function was written.
19210 (grub_ext2_mount): Read the root inode. Create a diropen struct.
19211 (grub_ext2_find_file): Removed function.
19212 (grub_ext2_read_symlink): New function.
19213 (grub_ext2_iterate_dir): Likewise.
19214 (grub_ext2_open): Rewritten.
19215 (grub_ext2_dir): Rewritten.
19216 * include/grub/fshelp.h: New file.
19217 * fs/fshelp.c: Likewise.
19218
3c52136a 192192004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
19220
19221 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
19222 (print_message): Add a missing newline.
19223 (run_menu): Added timeout support.
19224 (run_menu_entry): New local function.
19225 (grub_menu_run): Added support for booting.
19226
19227 * kern/loader.c (grub_loader_is_loaded): New function.
19228
19229 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
19230 (grub_get_rtc): Exported.
19231
19232 * include/grub/i386/pc/time.h: Include grub/symbol.h.
19233 (grub_get_rtc): Exported.
19234
19235 * include/grub/normal.h (struct grub_command_list): Remove
19236 constant from the member `command'.
19237
19238 * include/grub/loader.h (grub_loader_is_loaded): Declared.
19239
19240 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
19241
19242 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
19243
aa033560 192442004-08-28 Marco Gerards <metgerards@student.han.nl>
19245
19246 Add support for the JFS filesystem.
19247
19248 * fs/jfs.c: New file.
19249 * include/grub/fs.h (grub_jfs_init): New prototype.
19250 (grub_jfs_fini): New prototype.
19251 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
19252 (grub_emu_SOURCES): Likewise.
19253 (pkgdata_MODULES): Add jfs.mod.
19254 (jfs_mod_SOURCES): New variable.
19255 (jfs_mod_CFLAGS): Likewise.
19256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
19257 (grubof_SOURCES): Likewise.
19258 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
19259
19260 * fs/fat.c (grub_fat_find_dir): Convert the filename little
19261 endian to the host endian.
19262 (grub_fat_utf16_to_utf8): Move function from there...
19263 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 19264 the endianness of the source string anymore.
aa033560 19265 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
19266
94bc45af 192672004-08-24 Marco Gerards <metgerards@student.han.nl>
19268
19269 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
19270 (grub_boot_fini) [GRUB_UTIL]: Likewise.
19271 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
19272 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 19273
94bc45af 19274 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
19275 (grub_hfs_iterate_dir): Make the function static. Add prototypes
19276 for `node_found' and `it_dir'.
19277 (grub_hfs_dir): Add prototype for `dir_hook'.
19278
19279 * fs/minix.c (grub_minix_get_file_block): Add prototype for
19280 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
19281 and `indir32' to silence a gcc warning.
19282
19283 * include/grub/fs.h (grub_hfs_init): New prototype.
19284 (grub_hfs_fini): Likewise.
f19dbdb7 19285
19286
97543f08 192872004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19288
19289 Each disk device has its own id now. This is useful to make use
19290 of multiple disk devices.
f19dbdb7 19291
97543f08 19292 * include/grub/disk.h (grub_disk_dev_id): New enum.
19293 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
19294 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
19295
19296 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
19297 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19298
19299 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
19300 GRUB_DISK_DEVICE_OFDISK_ID as an id.
19301
19302 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
19303 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
19304
19305 * include/grub/disk.h (struct grub_disk_dev): Added a new member
19306 "id" which is used by the cache manager.
19307
19308 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
19309 of just "GRUB".
19310
64372eb4 193112004-08-18 Marco Gerards <metgerards@student.han.nl>
19312
19313 * fs/hfs.c: New file.
19314 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
19315 (grub_emu_SOURCES): Likewise.
19316 (pkgdata_MODULES): Add hfs.mod.
19317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
19318 (grubof_SOURCES): Likewise.
19319 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
19320
19321 * include/grub/misc.h (grub_strncasecmp): Add prototype.
19322 * kern/misc.c (grub_strncasecmp): Add function.
19323
cc61b58f 193242004-08-14 Marco Gerards <metgerards@student.han.nl>
19325
19326 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
19327 with parentheses.
19328
19329 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
19330 (grub_ext2_dir): In case the directory entry type is unknown, read
19331 it from the inode.
19332
0ef123f6 193332004-08-02 Peter Bruin <pjbruin@dds.nl>
19334
19335 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
19336 grub_load_linux instead of grub_rescue_cmd_linux as second
19337 argument of grub_rescue_register_command.
19338
19339 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
19340
a447c5df 193412004-07-27 Marco Gerards <metgerards@student.han.nl>
19342
19343 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
19344 function.
19345 * commands/boot.c: Remove the check for `GRUB_UTIL'.
19346 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
19347 `loader/powerpc/ieee1275/linux.c',
19348 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
19349 * include/grub/powerpc/ieee1275/ieee1275.h
19350 (grub_ieee1275_release): New prototype.
19351 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
19352 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
19353 normal, boot, linux and linux_normal.
19354 * loader/powerpc/ieee1275/linux.c: New file.
19355 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19356
5a9e3546 193572004-07-12 Marco Gerards <metgerards@student.han.nl>
19358
19359 * normal/arg.c (grub_arg_parse): Correct error handling after
19360 reallocating the argumentlist (check if `argl' is not null instead
19361 of checking if `args' is not null).
19362 * kern/mm.c (grub_realloc): Return the same pointer when using the
19363 same region, instead of returning the header address.
19364
e15199cb 193652004-07-11 Marco Gerards <metgerards@student.han.nl>
19366
19367 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
19368 one block instead of two when looking for the initial partition.
19369 (grub_partition_probe): Initialize the local variable `p' with 0.
19370 Use base 10 for the grub_strtoul call.
19371 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
19372 need for one local variable.
19373 (grub_strtoul): Don't add the new value to `num', instead of that
19374 just assign it.
19375
020616c2 193762004-07-11 Marco Gerards <metgerards@student.han.nl>
19377
19378 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
19379 (pxeboot_img_SOURCES): New variable.
19380 (pxeboot_img_ASFLAGS): Likewise.
19381 (pxeboot_img_LDFLAGS): Likewise.
19382 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
19383 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
19384 <lode_leroy@hotmail.com>.
19385
6c51eb64 193862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19387
19388 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
19389 there was no input.
19390
cfb12aff 193912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19392
19393 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
19394 the history buffer logic.
19395
6eabba74 193962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
19397
19398 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
19399 (FILETYPE_INO_SYMLINK): New macros.
19400 (grub_ext2_find_file): Check if the node is a directory using the
19401 inode stat information instead of using the filetype in the
19402 dirent. Exclude the first character of an absolute symlink.
19403 (grub_ext2_dir): Mask out the filetype part of the mode member of
19404 the inode.
19405
66e19ef8 194062004-05-24 Marco Gerards <metgerards@student.han.nl>
19407
19408 Add support for UFS version 1 and 2. Add support for the minix
19409 filesystem version 1 and 2, both the variants with 14 and 30 long
19410 filenames.
f19dbdb7 19411
66e19ef8 19412 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
19413 fs/minix.c.
19414 (grub_emu_SOURCES): Likewise.
19415 (pkgdata_MODULES): Add ufs.mod and minix.mod.
19416 (ufs_mod_SOURCES): New variable.
19417 (ufs_mod_CFLAGS): Likewise.
19418 (minix_mod_SOURCES): Likewise.
19419 (minix_mod_CFLAGS): Likewise.
19420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
19421 fs/minix.c.
19422 (grubof_SOURCES): Likewise.
19423 * fs/ufs.c: New file.
19424 * fs/minix.c: New file.
19425 * include/grub/fs.h (grub_ufs_init): New prototype.
19426 (grub_ufs_fini): Likewise.
19427 (grub_minix_init): Likewise.
19428 (grub_minix_fini): Likewise.
19429 * util/grub-emu.c (main): Initialize and deinitialize UFS and
19430 minix fs.
19431
cc2e748a 194322004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
19433
19434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
19435 commands/ls.c, commands/terminal.c, commands/boot.c,
19436 commands/cmp.c and commands/cat.c.
19437 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
19438
19439 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
19440 "env.h"
19441
4b13b216 194422004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19443
19444 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
19445 and grub_, respectively. Because the conversion is trivial and
19446 mechanical, I omit the details here. Please refer to the CVS
19447 if you need more information.
19448
6a142551 194492004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19450
19451 * include/pupa: Renamed to ...
19452 * include/grub: ... this.
19453 * util/i386/pc/pupa-mkimage.c: Renamed to ...
19454 * util/i386/pc/grub-mkimage.c: ... this.
19455 * util/i386/pc/pupa-setup.c: Renamed to ...
19456 * util/i386/pc/grub-setup.c: ... this.
19457 * util/pupa-emu.c: Renamed to ...
19458 * util/grub-emu.c: ... this.
19459
e56cdf21 194602004-03-29 Marco Gerards <metgerards@student.han.nl>
19461
19462 Add support for the newworld apple macintosh (PPC). This has been
19463 tested on the powerbook 2000 only. It only adds support for
19464 generic ieee1275 functions, console and disk support. This should
19465 be easy to port to other architectures with support for Open
19466 Firmware.
f19dbdb7 19467
e56cdf21 19468 * configure.ac: Accept the powerpc as host_cpu. In the case of
19469 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
19470 specific tests are only executed while building for the i386.
19471 Inverse test for crosscompile.
19472 * genmk.rb (Utility): Allow assembler files.
19473 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
19474 * conf/powerpc-ieee1275.rmk: New file.
19475 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
19476 * disk/powerpc/ieee1275/partition.c: Likewise.
19477 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
19478 * include/pupa/powerpc/ieee1275/console.h: Likewise.
19479 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
19480 * include/pupa/powerpc/ieee1275/time.h: Likewise.
19481 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
19482 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
19483 * include/pupa/powerpc/ieee1275/loader.h
19484 * include/pupa/powerpc/setjmp.h: Likewise.
19485 * include/pupa/powerpc/types.h: Likewise.
19486 * kern/powerpc/ieee1275/init.c: Likewise.
19487 * kern/powerpc/ieee1275/openfw.c: Likewise.
19488 * term/powerpc/ieee1275/ofconsole.c: Likewise.
19489
19490 These files were written by Johan Rydberg
19491 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 19492
e56cdf21 19493 * boot/powerpc/ieee1275/cmain.c: New file.
19494 * boot/powerpc/ieee1275/crt0.S: Likewise.
19495 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
19496 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
19497
8c8cc205 194982004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
19499
19500 * Makefile.in: Update copyright.
19501 * genmodsrc.sh: Likewise.
19502 * gensymlist.sh: Likewise.
19503 * term/i386/pc/vga.c: Indent correctly.
19504
19505 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
19506 bugreporting address.
19507 * util/i386/pc/pupa-setup.c (usage): Likewise,
19508 (main): Call pupa_ext2_init and pupa_ext2_fini.
19509
f19dbdb7 19510 * fs/fat.c (log2): Renamed to ...
8c8cc205 19511 (fat_log2): ... this.
19512 All callers changed.
19513 * kern/misc.c (memcpy): Alias to pupa_memmove.
19514 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
19515 lvalue cast.
19516 * util/console.c (pupa_ncurses_fini): Return 0.
19517
19518 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
19519 Move fail label here.
19520 [__GNU__]: Don't warn when using stat.
19521 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
19522 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
19523 long int. Use strtol instead of strtoul.
f19dbdb7 19524
db1771cf 195252004-03-14 Marco Gerards <metgerards@student.han.nl>
19526
19527 * commands/boot.c: New file.
19528 * commands/cat.c: Likewise.
19529 * commands/cmp.c: Likewise.
19530 * commands/ls.c: Likewise.
19531 * commands/terminal.c: Likewise.
19532 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
19533 (pupa_register_command): Changed interface to match the new
19534 argument parser.
19535 (pupa_command_execute): Changed (almost rewritten) so it uses
19536 pupa_split_command. Added support for setting variables using the
19537 syntax `foo=bar'.
19538 (rescue_command): Changed to work with the new argument parser.
19539 (terminal_command): Moved from here to commands/terminal.c.
19540 (set_command): New function.
19541 (unset_command): New function.
19542 (insmod_command): New function.
19543 (rmmod_command): New function.
19544 (lsmod_command): New function.
19545 (pupa_command_init): Don't initialize the command terminal
19546 anymore. Initialize the commands set, unset, insmod, rmmod and
19547 lsmod.
19548 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
19549 (kernel_img_HEADERS): Add arg.h and env.h.
19550 (pupa_mkimage_LDFLAGS): Add kern/env.c.
19551 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
19552 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
19553 normal/arg.c.
19554 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
19555 terminal.mod.
19556 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
19557 (boot_mod_SOURCES): New variable.
19558 (terminal_mod_SOURCES): Likewise.
19559 (ls_mod_SOURCES): Likewise.
19560 (cmp_mod_SOURCES): Likewise.
19561 (cat_mod_SOURCES): Likewise.
19562
19563 * normal/arg.c: New file.
19564 * kern/env.c: Likewise.
19565 * include/pupa/arg.h: Likewise.
19566 * include/pupa/env.h: Likewise.
19567 * font/manager.c (font_command): Changed to match argument parsing
19568 interface changes.
19569 (PUPA_MOD_INIT): Likewise.
19570 * hello/hello.c (pupa_cmd_hello): Likewise.
19571 (PUPA_MOD_INIT): Likewise.
19572 * include/pupa/disk.h: Include <pupa/device.h>.
19573 (pupa_print_partinfo): New prototype.
19574 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
19575 (pupa_dl_get_prefix): Likewise.
19576 * include/pupa/misc.h: Include <pupa/err.h>.
19577 (pupa_isgraph): New prototype.
19578 (pupa_isdigit): Likewise.
19579 (pupa_split_cmdline): Likewise.
19580 * include/pupa/normal.h: Include <pupa/arg.h>.
19581 (pupa_command): Changed the prototype of the member `func' to
19582 match the argument parsing interface. Added member `options'.
19583 (pupa_register_command): Updated to match function.
19584 (pupa_arg_parse): New prototype.
19585 (pupa_hello_init) [PUPA_UTIL]: New prototype.
19586 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
19587 (pupa_ls_init) [PUPA_UTIL]: Likewise.
19588 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
19589 (pupa_cat_init) [PUPA_UTIL]: Likewise.
19590 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
19591 (pupa_boot_init) [PUPA_UTIL]: Likewise.
19592 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
19593 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
19594 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
19595 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
19596 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
19597 * kern/disk.c: Include <pupa/file.h>.
19598 (pupa_print_partinfo): New function.
19599 * kern/dl.c: Include <pupa/env.h>.
19600 (pupa_dl_dir): Variable removed.
19601 (pupa_dl_load): Use the environment variable `prefix' instead of
19602 the variable pupa_dl_dir.
19603 (pupa_dl_set_prefix): Function removed.
19604 (pupa_dl_get_prefix): Likewise.
19605 * kern/i386/pc/init.c: Include <pupa/env.h>.
19606 (pupa_machine_init): Use the environment variable `prefix' instead of
19607 using pupa_dl_set_prefix to set the prefix.
19608 * kern/main.c: Include <pupa/env.h>.
19609 (pupa_set_root_dev): Use the environment variable `prefix' instead of
19610 using pupa_dl_get_prefix to get the prefix.
19611 * kern/misc.c: Include <pupa/env.h>.
19612 (pupa_isdigit): New function.
19613 (pupa_isgraph): Likewise.
19614 (pupa_ftoa): Likewise.
19615 (pupa_vsprintf): Added support for printing values of the type
19616 `double'. Make it possible to format variable output when using
19617 formatting like `%1.2%f'.
19618 (pupa_split_cmdline): New function.
19619 * kern/rescue.c: Include <pupa/env.h>.
19620 (next_word): Removed function.
19621 (pupa_rescue_cmd_prefix): Likewise.
19622 (pupa_rescue_cmd_set): New function.
19623 (pupa_rescue_cmd_unset): New function.
19624 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
19625 split the command line instead of splitting it here. Added
19626 support for setting variables using the syntax `foo=bar'. Don't
19627 initialize the prefix command anymore. Initialized the set and
19628 unset commands.
19629 * normal/cmdline.c: Include <pupa/env.h>.
19630 (pupa_tab_complete): Added prototypes for print_simple_completion,
19631 print_partition_completion, add_completion, iterate_commands,
19632 iterate_dev, iterate_part and iterate_dir. Moved code to print
19633 partition information from here to kern/disk.c.
fe6b695a 19634 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 19635 * normal/main.c: Include <pupa/env.h>.
19636 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
19637 instead of using pupa_dl_get_prefix to get the prefix.
19638 * term/i386/pc/vga.c: Include <pupa/arg.h>.
19639 (check_vga_mem): Cast pointers to `void *' to silence a gcc
19640 warning.
19641 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
19642 (pupa_vga_setcolor): Declare unused variables with `__attribute__
19643 ((unused))' to silence a gcc warning.
19644 (pupa_vga_setcolor): Likewise.
19645 (debug_command): Changed to match argument parsing
19646 interface changes.
19647 * util/pupa-emu.c: Include <pupa/env.h>.
19648 (options): Added 0's for unused fields to silence a gcc warning.
19649 (argp): Likewise.
19650 (main): Use the environment variable `prefix' instead of using
19651 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
19652 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
19653 and terminal.
19654
19655 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
19656 * util/misc.c: Include <malloc.h>.
19657 (pupa_malloc): Rewritten so errors are correctly reported.
19658 (pupa_realloc): Likewise.
19659 (pupa_memalign): Likewise.
19660 (pupa_mm_init_region): Declare unused variables with
19661 `__attribute__ ((unused))' to silence a gcc warning.
19662 * normal/i386/setjmp.S: Remove tab at the end of the file to
19663 silence a gcc warning.
19664 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
19665 variables with `__attribute__ ((unused))' to silence a gcc
19666 warning.
19667 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
19668 local variable i unsigned to silence a gcc warning.
19669
19670 * kern/term.c: Include <pupa/misc.h>.
19671 (pupa_more_lines): New variable.
19672 (pupa_more): Likewise.
19673 (pupa_putcode): When the pager is active pause at the end of every
19674 screen.
19675 (pupa_set_more): New function.
19676 * include/pupa/term.h (pupa_set_more): New prototype.
19677
19678
3b1139cb 196792004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
19680
19681 Now this project is GRUB 2 rather than PUPA. The location of
19682 the CVS repository was moved to GRUB's.
f19dbdb7 19683
3b1139cb 19684 * configure.ac: Use bug-grub as the reporting address.
19685 Use GRUB instead of PUPA.
19686 Change the version number to 1.90.
19687
8367695c 196882004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
19689
19690 * genkernsyms.sh: Updated copyright information.
19691 * genmk.rb: Likewise.
19692 * genmodsrc.sh: Likewise.
19693 * gensymlist.sh: Likewise.
19694 * boot/i386/pc/boot.S: Likewise.
19695 * boot/i386/pc/diskboot.S: Likewise.
19696 * disk/i386/pc/biosdisk.c: Likewise.
19697 * disk/i386/pc/partition.c: Likewise.
19698 * font/manager.c: Likewise.
19699 * fs/ext2.c: Likewise.
19700 * fs/fat.c: Likewise.
19701 * include/pupa/boot.h: Likewise.
19702 * include/pupa/device.h: Likewise.
19703 * include/pupa/disk.h: Likewise.
19704 * include/pupa/dl.h: Likewise.
19705 * include/pupa/elf.h: Likewise.
19706 * include/pupa/err.h: Likewise.
19707 * include/pupa/file.h: Likewise.
19708 * include/pupa/font.h: Likewise.
19709 * include/pupa/fs.h: Likewise.
19710 * include/pupa/kernel.h: Likewise.
19711 * include/pupa/loader.h: Likewise.
19712 * include/pupa/misc.h: Likewise.
19713 * include/pupa/mm.h: Likewise.
19714 * include/pupa/net.h: Likewise.
19715 * include/pupa/normal.h: Likewise.
19716 * include/pupa/rescue.h: Likewise.
19717 * include/pupa/setjmp.h: Likewise.
19718 * include/pupa/symbol.h: Likewise.
19719 * include/pupa/term.h: Likewise.
19720 * include/pupa/types.h: Likewise.
19721 * include/pupa/i386/setjmp.h: Likewise.
19722 * include/pupa/i386/types.h: Likewise.
19723 * include/pupa/i386/pc/biosdisk.h: Likewise.
19724 * include/pupa/i386/pc/boot.h: Likewise.
19725 * include/pupa/i386/pc/console.h: Likewise.
19726 * include/pupa/i386/pc/init.h: Likewise.
19727 * include/pupa/i386/pc/kernel.h: Likewise.
19728 * include/pupa/i386/pc/linux.h: Likewise.
19729 * include/pupa/i386/pc/loader.h: Likewise.
19730 * include/pupa/i386/pc/memory.h: Likewise.
19731 * include/pupa/i386/pc/multiboot.h: Likewise.
19732 * include/pupa/i386/pc/partition.h: Likewise.
19733 * include/pupa/i386/pc/time.h: Likewise.
19734 * include/pupa/i386/pc/vga.h: Likewise.
19735 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
19736 * include/pupa/util/getroot.h: Likewise.
19737 * include/pupa/util/misc.h: Likewise.
19738 * include/pupa/util/resolve.h: Likewise.
19739 * kern/device.c: Likewise.
19740 * kern/disk.c: Likewise.
19741 * kern/dl.c: Likewise.
19742 * kern/err.c: Likewise.
19743 * kern/file.c: Likewise.
19744 * kern/fs.c: Likewise.
19745 * kern/loader.c: Likewise.
19746 * kern/main.c: Likewise.
19747 * kern/misc.c: Likewise.
19748 * kern/mm.c: Likewise.
19749 * kern/rescue.c: Likewise.
19750 * kern/term.c: Likewise.
19751 * kern/i386/dl.c: Likewise.
19752 * kern/i386/pc/init.c: Likewise.
19753 * kern/i386/pc/lzo1x.S: Likewise.
19754 * kern/i386/pc/startup.S: Likewise.
19755 * loader/i386/pc/chainloader.c: Likewise.
19756 * loader/i386/pc/linux.c: Likewise.
19757 * loader/i386/pc/multiboot.c: Likewise.
19758 * normal/cmdline.c: Likewise.
19759 * normal/command.c: Likewise.
19760 * normal/main.c: Likewise.
19761 * normal/menu.c: Likewise.
19762 * normal/i386/setjmp.S: Likewise.
19763 * term/i386/pc/console.c: Likewise.
19764 * term/i386/pc/vga.c: Likewise.
19765 * util/console.c: Likewise.
19766 * util/genmoddep.c: Likewise.
19767 * util/misc.c: Likewise.
19768 * util/pupa-emu.c: Likewise.
19769 * util/resolve.c: Likewise.
19770 * util/unifont2pff.rb: Likewise.
19771 * util/i386/pc/biosdisk.c: Likewise.
19772 * util/i386/pc/getroot.c: Likewise.
19773 * util/i386/pc/pupa-mkimage.c: Likewise.
19774 * util/i386/pc/pupa-setup.c: Likewise.
19775
e6eced71 197762004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
19777
19778 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
19779 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
19780 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
19781 reading and reset it after reading.
19782 (pupa_ext2_close): Return PUPA_ERR_NONE.
19783
19784 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
19785 Correct value.
19786 (struct linux_kernel_header): Add kernel_version and
19787 initrd_addr_max.
19788 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
19789 pupa_file_read succeeds.
19790 (pupa_rescue_cmd_initrd): Implement.
19791
5aded270 197922003-12-03 Marco Gerards <metgerards@student.han.nl>
19793
19794 * fs/ext2.c (pupa_ext2_label): New function.
19795 (pupa_ext2_fs): Added label.
19796 * fs/fat.c (pupa_fat_label): New function.
19797 (pupa_fat_fs): Added label.
19798 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
19799
19800 * kern/misc.c (pupa_strndup): New function.
19801 * include/pupa/misc.h (pupa_strndup): New prototype.
19802
19803 * include/pupa/normal.h: Include <pupa/err.h>.
19804 (pupa_set_history): New prototype.
19805 (pupa_iterate_commands): New prototype.
19806 * normal/cmdline.c: Include <pupa/machine/partition.h>,
19807 <pupa/disk.h>, <pupa/file.h>.
19808 (hist_size): New variable.
19809 (hist_lines): Likewise.
19810 (hist_end): Likewise.
19811 (hist_used): Likewise.
19812 (pupa_set_history): New function.
19813 (pupa_history_get): Likewise.
19814 (pupa_history_add): Likewise.
19815 (pupa_history_replace): Likewise.
19816 (pupa_tab_complete): Likewise.
19817 (pupa_cmdline_run): Added tab completion and history buffer. Tab
19818 completion shows partitionnames while completing partitions, this
19819 feature was suggested by Jeff Bailey.
19820 * normal/command.c (pupa_iterate_commands): New function.
19821 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
19822 (pupa_normal_init): Initialize history buffer.
19823 (PUPA_MOD_INIT): Likewise.
19824 (pupa_normal_fini): Free the history buffer.
19825 (PUPA_MOD_FINI): Likewise.
19826
19827 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
19828 key.
19829
19830 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
19831 * configure.ac [i386]: Check for regparam bug.
19832 (NESTED_FUNC_ATTR) [! i386]: Defined.
19833
1f7315a3 198342003-11-17 Marco Gerards <metgerards@student.han.nl>
19835
19836 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
19837 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
19838 (pupa_emu_SOURCES): New variable.
19839 (pupa_emu_LDFLAGS): Likewise.
19840 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
19841 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
19842 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
19843 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19844 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
19845 (pupa_jmp_buf): New typedef.
19846 (pupa_setjmp) [PUPA_UTIL]: New macro.
19847 (pupa_longjmp) [PUPA_UTIL]: Likewise.
19848 * include/pupa/term.h (struct pupa_term): New member `refresh'.
19849 (pupa_refresh): New prototype.
19850 * include/pupa/util/getroot.h: New file.
19851 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
19852 it.
19853 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
19854 (pupa_rescue_cmd_cat): Likewise.
19855 (pupa_rescue_cmd_ls): Likewise.
19856 (pupa_rescue_cmd_testload): Likewise.
19857 (pupa_rescue_cmd_lsmod): Likewise.
19858 * normal/cmdline.c (pupa_cmdline_get): Likewise.
19859 * normal/menu.c (run_menu): Likewise.
19860 * kern/term.c (pupa_cls): Likewise.
19861 (pupa_refresh): New function.
19862 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
19863 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
19864 * util/console.c: New file.
f19dbdb7 19865
1f7315a3 19866 * util/i386/pc/getroot.c: New file.
19867 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
19868 (pupa_putchar): New function.
19869 (pupa_refresh): Likewise.
19870 (xgetcwd): Function moved to ...
19871 (strip_extra_slashes): Likewise.
19872 (get_prefix): Likewise.
f19dbdb7 19873 * util/i386/pc/getroot.c: ... here.
1f7315a3 19874 (find_root_device): Function moved and renamed to...
19875 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
19876 Changed all callers.
19877 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
19878 and renamed to...
19879 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
19880 Changed all callers.
19881 * util/misc.c (pupa_memalign): New function.
19882 (pupa_mm_init_region): Likewise.
19883 (pupa_register_exported_symbols): Likewise.
19884 (pupa_putchar): Function removed.
19885 * util/pupa-emu.c: New file.
19886
9a5c1ade 198872003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
19888
19889 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
19890 (_multiboot_mod_SOURCES): New variable.
19891 (_multiboot_mod_CFLAGS): Likewise.
19892 * loader/i386/pc/multiboot.c: New file.
19893 * include/pupa/i386/pc/multiboot.h: Likewise.
19894 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
19895 (pupa_multiboot_real_boot): New function.
19896 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
19897 (pupa_multiboot_real_boot): New prototype.
19898 (pupa_rescue_cmd_multiboot): Likewise
19899 (pupa_rescue_cmd_module): Likewise.
19900
19901 * kern/loader.c (pupa_loader_set): Continue when
19902 pupa_loader_unload_func() fails.
19903 (pupa_loader_unset): New function.
19904 * include/pupa/loader.h (pupa_loader_unset): New prototype.
19905
19906 * kern/misc.c (pupa_stpcpy): New function.
19907 * include/pupa/misc.h (pupa_stpcpy): New prototype.
19908
8e72a9c0 199092003-11-12 Marco Gerards <metgerards@student.han.nl>
19910
19911 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
19912 for available extensions.
19913
19914 * include/pupa/i386/pc/time.h: New file.
19915 * kern/disk.c: Include <pupa/machine/time.h>.
19916 (PUPA_CACHE_TIMEOUT): New macro.
19917 (pupa_last_time): New variable.
19918 (pupa_disk_open): Flush the cache when there was a timeout.
19919 (pupa_disk_close): Reset the timer.
19920 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
19921 pupa_currticks.
19922 * util/misc.c: Include <sys/times.h>
19923 (pupa_get_rtc): New function.
19924
c4adbd32 199252003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19926
19927 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
19928 as blocks.
19929 (pupa_ext2_get_file_block): Use blocks member.
19930
19931 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
19932 first block. Return -1 instead of pupa_errno on error.
19933
bfd30f06 199342003-10-27 Marco Gerards <metgerards@student.han.nl>
19935
19936 * README: In the pupa-mkimage example use _chain instead of chain
19937 and ext2 instead of fat.
19938 * TODO: Replace ext2fs with jfs as an example. Add an item for
19939 adding journal playback for ext2fs.
19940 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
19941 (pkgdata_MODULES): Added ext2.mod.
19942 (ext2_mod_SOURCES): New variable.
19943 (ext2_mod_CFLAGS): Likewise.
19944 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
19945 * include/pupa/misc.h (pupa_strncpy): New prototype.
19946 (pupa_strcat): Likewise.
19947 (pupa_strncmp): Likewise.
19948 * kern/misc.c (pupa_strcat): Enable function.
19949 (pupa_strncpy): New function.
19950 (pupa_strncmp): Likewise.
19951 * fs/ext2.c: New file.
f19dbdb7 19952
bfd30f06 19953 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
19954 when the read failed before retrying.
19955 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
19956 (_FILE_OFFSET_BITS): Likewise.
19957 * configure.ac: Added AC_SYS_LARGEFILE.
19958
98d15063 199592003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19960
19961 * genmk.rb (PModule#rule): Make sure to get only symbol names
19962 from the output of nm.
19963 Reported by Robert Millan <zeratul2@wanadoo.es>.
19964
18d9c7cd 199652003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
19966
19967 I forgot to check in these changes for a long time. This adds
19968 incomplete support for VGA console, and this is still very
19969 buggy. Also, a lot of consideration is required for I18N,
19970 UNICODE, and VGA font issues. Therefore, assume that this is
19971 such that "better than nothing".
f19dbdb7 19972
18d9c7cd 19973 * font/manager.c: New file.
19974 * include/pupa/font.h: Likewise.
19975 * include/pupa/i386/pc/vga.h: Likewise.
19976 * term/i386/pc/vga.c: Likewise.
19977 * util/unifont2pff.rb: Likewise.
19978
19979 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
19980 (pkgdata_MODULES): Added vga.mod and font.mod.
19981 (vga_mod_SOURCES): New variables.
19982 (vga_mod_CFLAGS): Likewise.
19983 (font_mod_SOURCES): Likewise.
19984 (font_mod_CFLAGS): Likewise.
19985
19986 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
19987
19988 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 19989 (struct pupa_term): Added init and fini.
18d9c7cd 19990 Changed the argument of putchar to pupa_uint32_t.
19991
19992 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
19993 (pupa_console_real_putchar): New prototype.
19994 (pupa_console_putchar): Removed.
19995 (pupa_console_checkkey): Exported.
19996 (pupa_console_getkey): Likewise.
19997
19998 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
19999 characters.
20000
20001 * kern/term.c (pupa_term_set_current): Rewritten.
20002 (pupa_putchar): Likewise.
20003 (pupa_putcode): New function.
20004
20005 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
20006 (pupa_console_real_putchar): ... this.
20007 (pupa_vga_set_mode): New function.
20008 (pupa_vga_get_font): Likewise.
20009
20010 * normal/command.c: Include pupa/term.h.
20011 (terminal_command): New function.
20012 (pupa_command_init): Register the command "terminal".
20013
20014 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
20015 (DISP_UP): Likewise.
20016 (DISP_RIGHT): Likewise.
20017 (DISP_DOWN): Likewise.
20018 (DISP_HLINE): Likewise.
20019 (DISP_VLINE): Likewise.
20020 (DISP_UL): Likewise.
20021 (DISP_UR): Likewise.
20022 (DISP_LL): Likewise.
20023 (DISP_LR): Likewise.
20024
20025 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 20026
977329f5 200272003-02-08 NIIBE Yutaka <gniibe@m17n.org>
20028
20029 * util/resolve.c (pupa_util_resolve_dependencies): BUG
20030 FIX. Reverse the path_list.
20031
20032 * include/pupa/normal.h: Export pupa_register_command and
20033 pupa_unregister_command.
20034
20035 * hello/hello.c (pupa_cmd_hello): New module.
20036 * conf/i386-pc.rmk: Added hello.mod.
20037
1f5ab428 200382003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
20039
20040 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 20041
1f5ab428 20042 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
20043 (compress_kernel): New variable.
20044 (generate_image): Heavily modified to support compressing a
20045 large part of the core image.
20046
20047 * util/misc.c (pupa_util_read_image): Fix a file descriptor
20048 leak.
20049 (pupa_util_load_image): New function.
20050
20051 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
20052 (pupa_compressed_size): New variable.
20053 (codestart): Enable Gate A20 here.
20054 Decompress the compressed part of the core image.
20055 Rearrange the code to put functions and variables which are
20056 required for initialization in the non-compressed part.
20057 Include lzo1x.S.
20058
20059 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
20060 here.
20061
20062 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
20063
f19dbdb7 20064 * include/pupa/i386/pc/kernel.h
1f5ab428 20065 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
20066 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
20067 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20068 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20069 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
20070
20071 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
20072
20073 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
20074 (Utility#rule): Likewise.
20075
20076 * configure.ac: Check if LZO is available.
20077
ce5bf700 200782003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
20079
20080 * include/pupa/normal.h: New file.
20081 * include/pupa/setjmp.h: Likewise.
20082 * include/pupa/i386/setjmp.h: Likewise.
20083 * normal/cmdline.c: Likewise.
20084 * normal/command.c: Likewise.
20085 * normal/main.c: Likewise.
20086 * normal/menu.c: Likewise.
20087 * normal/i386/setjmp.S: Likewise.
f19dbdb7 20088
ce5bf700 20089 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
20090 (pupa_rescue_cmd_initrd): Likewise.
20091
20092 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
20093 Likewise.
20094
20095 * kern/i386/pc/startup.S (translation_table): New variable.
20096 (translate_keycode): New function.
20097 (pupa_console_getkey): Call translate_keycode.
20098
20099 * kern/rescue.c (attempt_normal_mode): New function.
20100 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
20101 it failed, print a message.
20102
20103 * kern/mm.c (pupa_real_malloc): Print more information when a
20104 free magic is broken.
20105 (pupa_free): If the first free header is not free actually, set
20106 it to P.
20107
20108 * kern/main.c (pupa_load_normal_mode): Just load the module
20109 "normal".
20110 (pupa_main): Don't print the message
20111 "Entering into rescue mode..." here.
20112
20113 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
20114 Declared.
20115 (pupa_rescue_cmd_initrd): Likewise.
20116 (pupa_rescue_cmd_initrd): Likewise.
20117
20118 * include/pupa/symbol.h (FUNCTION): Specify the type.
20119 (VARIABLE): Likewise.
20120
20121 * include/pupa/err.h (pupa_err_t): Added
20122 PUPA_ERR_UNKNOWN_COMMAND.
20123
20124 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
20125 (pupa_dl_get_prefix): Likewise.
20126
20127 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
20128 Added _chain.mod and _linux.mod instead of chain.mod and
20129 linux.mod.
20130 (chain_mod_SOURCES): Renamed to ...
20131 (_chain_mod_SOURCES): ... this.
20132 (chain_mod_CFLAGS): Renamed to ...
20133 (_chain_mod_CFLAGS): ... this.
20134 (linux_mod_SOURCES): Renamed to ...
20135 (_linux_mod_SOURCES): ... this.
20136 (linux_mod_CFLAGS): Renamed to ...
20137 (_linux_mod_CFLAGS): ... this.
20138 (normal_mod_SOURCES): New variable.
20139 (normal_mod_CFLAGS): Likewise.
20140 (normal_mod_ASFLAGS): Likewise.
20141
201422003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
20143
20144 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
20145 possible.
20146
fe6b695a 20147 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 20148 recursively.
20149 (pupa_dl_unref): Unrefer depending modules recursively.
20150 Don't call pupa_dl_unload implicitly, because PUPA can crash if
20151 a module is unloaded before one depending on that module is
20152 unloaded.
20153 (pupa_dl_unload): Unload depending modules explicitly,
20154 if possible.
20155
c04da074 201562003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
20157
20158 * include/pupa/i386/pc/linux.h: New file.
20159 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 20160
c04da074 20161 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
20162 Removed.
20163 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
20164 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
20165 of PUPA_CHAINLOADER_BOOT_SECTOR.
20166
20167 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
20168 (pupa_linux_prot_size): New variable.
20169 (pupa_linux_tmp_addr): Likewise.
20170 (pupa_linux_real_addr): Likewise.
20171 (pupa_linux_boot_zimage): New function.
20172 (pupa_linux_boot_bzimage): Likewise.
20173
20174 * kern/i386/pc/init.c (struct mem_region): New structure.
20175 (MAX_REGIONS): New macro.
20176 (mem_regions): New variable.
20177 (num_regions): Likewise.
20178 (pupa_os_area_addr): Likewise.
20179 (pupa_os_area_size): Likewise.
20180 (pupa_lower_mem): Likewise.
20181 (pupa_upper_mem): Likewise.
20182 (add_mem_region): New function.
20183 (compact_mem_regions): Likewise.
20184 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
20185 the size of the conventional memory and that of so-called upper
20186 memory (before the first memory hole).
20187 Instead of adding each found region to free memory, use
20188 add_mem_region and add them after removing overlaps.
20189 Also, add only 1/4 of the upper memory to free memory. The rest
20190 is used for loading OS images. Maybe this is ad hoc, but this
20191 makes it much easier to relocate OS images when booting.
20192
20193 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
20194 (pupa_enter_rescue_mode): Don't register initrd and module.
20195
20196 * kern/mm.c: Include pupa/dl.h.
20197
20198 * kern/main.c: Include pupa/file.h and pupa/device.h.
20199
20200 * kern/loader.c (pupa_loader_load_module_func): Removed.
20201 (pupa_loader_load_module): Likewise.
20202
20203 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
20204 ``.o''.
20205
20206 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
20207 (pupa_linux_tmp_addr): Likewise.
20208 (pupa_linux_real_addr): Likewise.
20209 (pupa_linux_boot_zimage): Likewise.
20210 (pupa_linux_boot_bzimage): Likewise.
20211
20212 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
20213 (pupa_upper_mem): Likewise.
20214 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
20215 module is too dangerous.
20216
20217 * include/pupa/loader.h (pupa_os_area_addr): Declared.
20218 (pupa_os_area_size): Likewise.
20219 (pupa_loader_set): Remove the first argument. Loader doesn't
20220 manage modules or initrd any longer.
20221 (pupa_loader_load_module): Removed.
20222
20223 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
20224 (linux_mod_SOURCES): New variable.
20225 (linux_mod_CFLAGS): Likewise.
20226
a13f9237 202272003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
20228
20229 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
20230 the length of a blocklist correctly.
20231
20232 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
20233 Use ioctl only if the OS file is a block device.
20234 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
20235 not very useful for normal files.
20236
20237 * kern/main.c (pupa_set_root_dev): New function.
20238 (pupa_load_normal_mode): Likewise.
20239 (pupa_main): Call those above.
20240
20241 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
20242 pupa_uint16_t.
20243
20244 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
20245
a5ffe966 202462003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20247
20248 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
20249 (setup): Configure the installed partition information and the
20250 dl prefix.
20251
20252 * loader/i386/pc/chainloader.c (my_mod): New variable.
20253 (pupa_chainloader_unload): New function.
20254 (pupa_rescue_cmd_chainloader): Refer itself.
20255 (PUPA_MOD_INIT): Save its own module in MY_MOD.
20256
20257 * kern/i386/pc/startup.S (install_partition): Removed.
20258 (version_string): Likewise.
20259 (config_file): Likewise.
20260 (pupa_install_dos_part): New variable.
20261 (pupa_install_bsd_part): Likewise.
20262 (pupa_prefix): Likewise.
20263 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
20264
20265 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
20266 and pupa/misc.h.
20267 (make_install_device): New function.
20268 (pupa_machine_init): Set the dl prefix.
20269
20270 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
20271 (buf): Renamed to ...
20272 (linebuf): ... this.
20273 (pupa_rescue_cmd_prefix): New function.
20274 (pupa_rescue_cmd_insmod): Likewise.
20275 (pupa_rescue_cmd_rmmod): Likewise.
20276 (pupa_rescue_cmd_lsmod): Likewise.
20277 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
20278 rmmod and lsmod.
20279
20280 * kern/mm.c (pupa_memalign): If failed even after invalidating
20281 disk caches, unload unneeded modules and retry.
20282
20283 * kern/misc.c (pupa_memmove): New function.
20284 (pupa_memcpy): Removed.
20285 (pupa_strcpy): New function.
20286 (pupa_itoa): Made static.
20287
20288 * kern/dl.c (pupa_dl_iterate): New function.
20289 (pupa_dl_ref): Likewise.
20290 (pupa_dl_unref): Likewise.
20291 (pupa_dl_unload): Return if succeeded or not.
20292 (pupa_dl_unload_unneeded): New function.
20293 (pupa_dl_unload_all): Likewise.
20294 (pupa_dl_init): Renamed to ...
20295 (pupa_dl_set_prefix): ... this.
20296 (pupa_dl_get_prefix): New function.
20297
20298 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
20299 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
20300 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20301 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20302 (pupa_install_dos_part): Declared.
20303 (pupa_install_bsd_part): Likewise.
20304 (pupa_prefix): Likewise.
20305 (pupa_boot_drive): Likewise.
20306
20307 * include/pupa/types.h: Fix a typo.
20308
20309 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
20310 pupa_memmove.
20311 (pupa_memmove): Declared.
20312 (pupa_strcpy): Likewise.
20313
20314 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
20315 pupa_mod_init takes one argument, its own module.
20316 (pupa_dl_unload_unneeded): Declared.
20317 (pupa_dl_unload_all): Likewise.
20318 (pupa_dl_ref): Likewise.
20319 (pupa_dl_unref): Likewise.
20320 (pupa_dl_iterate): Likewise.
20321 (pupa_dl_init): Renamed to ...
20322 (pupa_dl_set_prefix): ... this.
20323 (pupa_dl_get_prefix): Declared.
20324
20325 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 20326 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 20327 unloaded.
20328 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
20329 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
20330
20331 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
20332 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
20333
012d7999 203342003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20335
20336 * util/i386/pc/pupa-setup.c (setup): Define the internal
20337 function find_first_partition_start at the top level, because GCC
20338 3.0.x cannot compile internal functions in deeper scopes
20339 correctly.
20340 (find_root_device): Use lstat instead of stat.
20341 Don't follow symbolic links.
20342 Fix the path-constructing code.
20343
20344 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
20345 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
20346 by a BLKGETSIZE ioctl first, because block devices don't fill
20347 the member st_mode of the structure stat on Linux.
20348 [__linux__] (linux_find_partition): Use a temporary buffer
20349 REAL_DEV for the working space. Copy it to DEV before returning.
20350 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
20351 buffer cache consistent.
20352 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
20353 strncmp. The previous value was merely wrong.
20354 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
20355
20356 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
20357 FAT size is 12. The previous value was merely wrong.
20358
20359 * kern/main.c (pupa_main): Don't split the starting message from
20360 newlines.
20361
20362 * kern/term.c (pupa_putchar): Put CR after LF instead of before
20363 LF, because BIOS goes crazy about character attributes in this
20364 case.
20365
1cc73a62 203662003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
20367
20368 * include/i386/pc/util/biosdisk.h: New file.
20369 * util/i386/pc/biosdisk.c: Likewise.
20370 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 20371
1cc73a62 20372 * Makefile.in (INCLUDE_DISTFILES): Added
20373 include/pupa/i386/pc/util/biosdisk.h.
20374 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
20375 directory util/i386/pc.
20376 (install-local): Added a rule for sbin_UTILITIES.
20377 (uninstall): Likewise.
20378
20379 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
20380
20381 * util/misc.c (xrealloc): New function.
20382 (pupa_malloc): Likewise.
20383 (pupa_free): Likewise.
20384 (pupa_realloc): Likewise.
20385 (pupa_stop): Likewise.
20386 (pupa_putchar): Likewise.
20387
20388 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
20389
20390 * include/pupa/util/misc.h (xrealloc): Declared.
20391
20392 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
20393 macro.
20394 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
20395 (PUPA_BOOT_MACHINE_BPB_END): ... this.
20396
20397 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
20398 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20399
20400 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
20401 way should be implemented.
20402 [PUPA_UTIL] (pupa_fat_fini): Likewise.
20403
20404 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
20405 the size of NAME for safety.
20406 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
20407 0x88.
20408
20409 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
20410 (pupa_setup_SOURCES): Likewise.
20411
20412 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
20413
08b70fe8 204142002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20415
20416 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
20417 bunch of pushl's from pusha, because this destroys the return
20418 value.
20419
62ddcc8f 204202002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
20421
20422 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
20423 This means that any missing prototypes could be fatal. Also, you
20424 must take care when writing assembly code. See the comments at
20425 the beginning of startup.S, for more details.
f19dbdb7 20426
62ddcc8f 20427 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
20428 compilation mechanism.
20429 (pupa_chainloader_real_boot): Likewise.
20430 (pupa_biosdisk_rw_int13_extensions): Likewise.
20431 (pupa_biosdisk_rw_standard): Likewise.
20432 (pupa_biosdisk_check_int13_extensions): Likewise.
20433 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
20434 (pupa_biosdisk_get_diskinfo_standard): Likewise.
20435 (pupa_get_memsize): Likewise.
20436 (pupa_get_mmap_entry): Likewise.
20437 (pupa_console_putchar): Likewise.
20438 (pupa_console_setcursor): Likewise.
20439 (pupa_getrtsecs): Use pushl instead of push.
20440
20441 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
20442 memory instead of the stack for a mmap entry, because some
20443 BIOSes may ignore the maximum size and overflow.
20444
20445 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
20446
20447 * genmk.rb (PModule#rule): Compile automatically generated
20448 sources with module-specific CFLAGS as well as other sources.
20449
9962ed99 204502002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20451
20452 * configure.ac: Check ld.
20453 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
20454 respectively, before checking endianness and sizes.
20455
20456 * Makefile.in (LD): New variable.
f19dbdb7 20457
abdfc3c5 204582002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20459
20460 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
20461
6a161fa9 204622002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
20463
20464 * Changelog: New file.
20465