]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
[grub2.git] / ChangeLog
CommitLineData
6b8474f8
RM
12009-12-04 Robert Millan <rmh.grub@aybabtu.com>
2
3 * commands/halt.c: Replace misc arch-specific headers with
4 `<grub/misc.h>'.
5 * commands/reboot.c: Likewise.
6 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
7 `<grub/misc.h>'.
8 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
9 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
10 (kernel_img_SOURCES): ... to here.
11
12 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13 * include/grub/i386/pc/init.h: Likewise.
14 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16
17 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
18
19 * include/grub/i386/halt.h: Remove.
20 * include/grub/i386/reboot.h: Likewise.
21
22 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23
4b2e6ca2
DM
242009-12-03 David S. Miller <davem@sunset.davemloft.net>
25
26 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
27 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29 "progname.h"
30 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32 (usage): Add missing comma in printf.
33
5239348f
RM
342009-12-02 Robert Millan <rmh.grub@aybabtu.com>
35
36 Use the same reboot approach on i386 coreboot and qemu as we do on
37 BIOS.
38
39 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
40 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
41 * kern/i386/reboot.c: Remove.
42 * include/grub/i386/reboot.h (grub_reboot): Export function.
43 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
44 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
45 0xf000:0xfff0 instead of 0xffff:0x0000.
46 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
47 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
48
ef34cbd4
RM
492009-11-30 Robert Millan <rmh.grub@aybabtu.com>
50
51 Fix $srcdir != $objdir build.
52
53 * Makefile.in (po/%.po): Rewrite as ...
54 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
55
dc9837ea
ST
562009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
57
58 Fix GNU/Hurd grub-install crash.
59 * util/grub-probe.c (probe): Try to access `path' only when it is not
60 NULL.
61
2f857f98
VS
622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Correct module naming.
65
66 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
67 (GRUB_MOD_INIT(efi_uga)): ... to this
68 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
69 (GRUB_MOD_FINI(efi_uga)): ... to this
70 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
71 (GRUB_MOD_INIT(efi_gop)): ... to this
72 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
73 (GRUB_MOD_FINI(efi_gop)): ... to this
74
c5448046
RM
752009-11-28 Robert Millan <rmh.grub@aybabtu.com>
76
77 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
78 translatable.
79 (usage): Translate `arg' strings using gettext().
80 Thanks to Jordi Mallach for the suggestion.
81
c85184ad
VS
822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
83
84 GOP support. Based on patch from Bean
85 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
86
87 * video/efi_gop.c: New file.
88 * include/grub/efi/graphics_output.h: Likewise.
89 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
90 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
91 variables.
92 * conf/x86_64-efi.rmk: Likewise.
93
8a4c48d8
VS
942009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
95
96 Rename efi_fb to efi_uga.
97
98 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
99 'efi_uga.mod'.
100 (efi_fb_mod_SOURCES): Rename this ...
101 (efi_uga_mod_SOURCES): ... to this.
102 (efi_fb_mod_CFLAGS): Rename this ...
103 (efi_uga_mod_CFLAGS): ... to this.
104 (efi_fb_mod_LDFLAGS): Rename this ...
105 (efi_uga_mod_LDFLAGS): ... to this.
106 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
107 'efi_uga.mod'.
108 (efi_fb_mod_SOURCES): Rename this ...
109 (efi_uga_mod_SOURCES): ... to this.
110 (efi_fb_mod_CFLAGS): Rename this ...
111 (efi_uga_mod_CFLAGS): ... to this.
112 (efi_fb_mod_LDFLAGS): Rename this ...
113 (efi_uga_mod_LDFLAGS): ... to this.
114 * video/efi_fb.c: Move this ...
115 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
116
fb6c1a7b
RM
1172009-11-27 Robert Millan <rmh.grub@aybabtu.com>
118
119 * po/README: New file. Explain our PO file workflow.
120
3bc7896c
RM
1212009-11-27 Robert Millan <rmh.grub@aybabtu.com>
122
123 * po/ChangeLog: Remove. Move relevant entries back to ...
124 * ChangeLog: ... here.
125 * po/ca.po: Remove (now handled by TLP).
126 * po/id.po: Likewise.
127 * po/zh_CN.po: Likewise.
128 * Makefile.in (LINGUAS): Initialize in a way that supports
129 empty set.
130
9ed4841d
RM
1312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
132
133 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
134 reliing on po/LINGUAS.
135 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
136 (po/%.po): ... this.
137
242668a2
FZ
1382009-11-26 Felix Zielcke <fzielcke@z-51.de>
139
140 * util/i386/efi/grub-mkimage.c: Include "progname.h".
141 (main): Use `program_name' instead of nonexistent `progname'.
142
e30dd392
FZ
1432009-11-26 Felix Zielcke <fzielcke@z-51.de>
144
145 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
146 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
147
7656de4f
RM
1482009-11-26 Robert Millan <rmh.grub@aybabtu.com>
149
150 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
151 commit.
152 * conf/i386-efi.rmk: Likewise.
153 * conf/i386-ieee1275.rmk: Likewise.
154 * conf/powerpc-ieee1275.rmk: Likewise.
155 * conf/sparc64-ieee1275.rmk: Likewise.
156 * conf/x86_64-efi.rmk: Likewise.
157
db77c4d4
FZ
1582009-11-26 Felix Zielcke <fzielcke@z-51.de>
159
160 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
161
a755bb04
FZ
1622009-11-26 Felix Zielcke <fzielcke@z-51.de>
163
164 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
165
8a4c07fd
RM
1662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
167
168 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
169 (grub_mkdevicemap_SOURCES): New variable.
170 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
171 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
172 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
173 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
174 (grub_mkdevicemap_SOURCES): Remove.
175 * conf/i386-efi.rmk: Likewise.
176 * conf/i386-ieee1275.rmk: Likewise.
177 * conf/i386-pc.rmk: Likewise.
178 * conf/powerpc-ieee1275.rmk: Likewise.
179 * conf/sparc64-ieee1275.rmk: Likewise.
180 * conf/x86_64-efi.rmk: Likewise.
181 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
182 (usage): Fix strings to use `program_name'.
183 (main): Initialize gettext.
184 * util/grub-editenv.c: Likewise.
185 * util/grub-emu.c: Likewise.
186 * util/grub-fstest.c: Likewise.
187 * util/grub-mkdevicemap.c: Likewise.
188 * util/grub-mkfont.c: Likewise.
189 * util/grub-mkrelpath.c: Likewise.
190 * util/grub-pe2elf.c: Likewise.
191 * util/grub-probe.c: Likewise.
192 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
193 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
194 * util/sparc64/ieee1275/grub-setup.c: Likewise.
195
196 * util/misc.c: Include `"progname.h"'.
197 (progname): Remove variable.
198 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
199
6f61ed55
FZ
2002009-11-25 Felix Zielcke <fzielcke@z-51.de>
201
202 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
203 printf and print a newline after the menuentry header line.
204 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
205
f022876b
FZ
2062009-11-25 Felix Zielcke <fzielcke@z-51.de>
207
208 autoconf >= 2.60 support $(localedir).
209
210 * INSTALL: Note that autoconf 2.60 is required.
211 * configure.ac (AC_PREREQ): Bump to 2.60.
212 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
213 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
214
6717926e
YB
2152009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
216
217 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
218 aclocal is run.
219
08806a54
RM
2202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
221
222 * normal/main.c (grub_normal_read_line): Fix off-by-one
223 buffer overflow.
224
13b33fba
RM
2252009-11-25 Robert Millan <rmh.grub@aybabtu.com>
226
227 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
228 "parser.grub" in grub_command_execute() call.
229
4a8572e9
CPE
2302009-11-24 Carles Pina i Estany <carles@pina.cat>
231
232 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
233 * conf/i386-efi.rmk: Likewise.
234 * conf/i386-ieee1275.rmk: Likewise.
235 * conf/i386-pc.rmk: Likewise.
236 * conf/powerpc-ieee1275.rmk: Likewise.
237 * conf/sparc64-ieee1275.rmk: Likewise.
238 * conf/x86_64-efi.rmk: Likewise.
239 * gettext/gettex.c: Include <grub/i18n.h>.
240 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
241 here ...
242 * include/grub/i18n.h: ... to here
243 * include/grub/i18n.h: ... to here.
244 * kern/misc.c: Include <grub/i18n.h>
245 (grub_gettext_dummy): Move above user.
246
bee48093
FZ
2472009-11-24 Felix Zielcke <fzielcke@z-51.de>
248
249 * util/Makefile.in (install-local): Convert a `for' into a normal
250 shell expansion.
251
a031e91c
RM
2522009-11-24 Robert Millan <rmh.grub@aybabtu.com>
253
254 * autogen.sh: Add automake call.
255 * config.guess: Remove.
256 * config.sub: Likewise.
257 * install-sh: Likewise.
258
26bec39d
FZ
2592009-11-24 Felix Zielcke <fzielcke@z-51.de>
260
261 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
262
8e2532fd
FZ
2632009-11-24 Felix Zielcke <fzielcke@z-51.de>
264
265 * util/Makefile.in (install-local): Convert a make `$(foreach)'
266 function to a normal shell `for'.
267
fefa1b7d
FZ
2682009-11-24 Felix Zielcke <fzielcke@z-51.de>
269
270 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
271
4501250b
FZ
2722009-11-24 Felix Zielcke <fzielcke@z-51.de>
273
274 * util/grub-mkrelpath.c: New file.
275 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
276 (grub_mkrelpath_SOURCES): New variable.
277 * include/grub/util/misc.h: New function prototype.
278 * util/misc.c (make_system_path_relative_to_its_root): New function.
279
280 * util/grub-mkconfig_lib.in (bindir): New variable.
281 (grub_mkrelpath): Likewise.
282 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
283
284 * util/probe.c (probe): Make the file path relative to its root.
285 Change a info message to use the GRUB path. Enable again the
286 check if we can read the file with GRUB facilities.
287
288 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
289 to its root.
290
11d9778b
FZ
2912009-11-24 Felix Zielcke <fzielcke@z-51.de>
292
293 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
294 platform.
295
4465287d
FZ
2962009-11-24 Felix Zielcke <fzielcke@z-51.de>
297
298 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
299 strncmp().
300
62b47f22
FZ
3012009-11-24 Felix Zielcke <fzielcke@z-51.de>
302
303 * util/getroot.c (grub_util_is_dmraid): New function.
304 (grub_util_get_dev_abstraction): Treat dmraid and multipath
305 devices as normal ones, not as LVM.
306
1eafb9b9 3072009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
308
309 * conf/common.rmk: Add grub-gettext_lib target and updates
310 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
311 LDFLAGS.
312 * gettext/gettext.c: New file. (Reads mo files).
313 * include/grub/file.h (grub_file_pread): New prototype.
314 * include/grub/i18n.h (_): New prototype.
315 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
316 prototypes.
317 * kern/misc.c (grub_gettext_dummy): New function.
318 * normal/menu_text.c: Include <grub/i18n.h>.
319 * normal/menu_text.c (print_timeout): Gettexttize string.
320 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
321 * po/POTFILES: Add `normal/menu_text.c'.
322 * po/ca.po: Add new translations.
c3ea6bd4
CPE
323 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
324 gettext module and defines locale_dir and lang in grub.cfg.
325 * NEWS: Add gettext support.
326
0fdb2568
RM
3272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
328
329 * util/hostdisk.c: Include `<grub/i18n.h>'.
330 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
331 (make_device_name): Rewrite using asprintf.
332 (convert_system_partition_to_system_disk): Replace 0 with NULL.
333 (find_system_device): If a device is not found, generate one just
334 by reusing the OS path name.
335 (read_device_map): Make it permissible for device.map not to exist.
336
f515aa62
RM
3372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
338
339 * script/sh/execute.c: Move from here ...
340 * script/execute.c: ... to here. Update all users.
341 * script/sh/function.c: Move from here ...
342 * script/function.c: ... to here. Update all users.
343 * script/sh/lexer.c: Move from here ...
344 * script/lexer.c: ... to here. Update all users.
345 * script/sh/main.c: Move from here ...
346 * script/main.c: ... to here. Update all users.
347 * script/sh/parser.y: Move from here ...
348 * script/parser.y: ... to here. Update all users.
349 * script/sh/script.c: Move from here ...
350 * script/script.c: ... to here. Update all users.
351
f84b481b
RM
3522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
353
354 * configure.ac: Detect all `emu' platforms. Define
355 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
356 --enable-grub-emu logic. Disable include/grub/machine
357 symlink on `emu' platforms.
358
359 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
360 * gensymlist.sh.in: Likewise.
361
362 * include/grub/i386/coreboot/machine.h: Remove file.
363 * include/grub/i386/efi/machine.h: Likewise.
364 * include/grub/i386/ieee1275/machine.h: Likewise.
365 * include/grub/i386/pc/machine.h: Likewise.
366 * include/grub/i386/qemu/machine.h: Likewise.
367 * include/grub/powerpc/ieee1275/machine.h: Likewise.
368 * include/grub/sparc64/ieee1275/machine.h: Likewise.
369 * include/grub/x86_64/efi/machine.h: Likewise.
370
371 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
372 * commands/halt.c: Likewise.
373 * commands/reboot.c: Likewise.
374 * include/grub/autoefi.h: Likewise.
375 * include/grub/i386/at_keyboard.h: Likewise.
376 * include/grub/i386/kernel.h: Likewise.
377 * include/grub/i386/loader.h: Likewise.
378 * include/grub/i386/pc/memory.h: Likewise.
379 * kern/dl.c: Likewise.
380 * kern/i386/coreboot/init.c: Likewise.
381 * loader/i386/bsd.c: Likewise.
382 * loader/i386/linux.c: Likewise.
383 * loader/multiboot_loader.c: Likewise.
384 * term/i386/pc/serial.c: Likewise.
385 * term/usb_keyboard.c: Likewise.
386
387 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
388 `<grub/machine/machine.h>'
389 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
390 * util/misc.c: Remove `<grub/machine/machine.h>' and
391 `<grub/machine/time.h>'.
392
393 * Makefile.in (enable_grub_emu): Remove variable.
394 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
395
396 * conf/any-emu.rmk: New file.
397 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
398 (grub_emu_init.c): Move from here ...
399 * conf/any-emu.rmk: ... to here.
400
401 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
402 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
403 * conf/any-emu.rmk: ... to here.
404
4efeab03
RM
4052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
406
407 * include/grub/parser.h (grub_parser_register): Document need
408 of `name' parameter.
409 * normal/main.c (grub_normal_read_line): Simplify prompt string.
410 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
411 "sh" to "grub".
412
ea1dd8bf
RM
4132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
414
415 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
416 `$(XGETTEXT)'.
417 * include/grub/i18n.h (N_): New macro.
418 * util/mkisofs/mkisofs.h: Likewise.
419 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
420 around N_().
421 (usage): Use gettext() to translate help strings when printing them.
422
0c140626
RM
4232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
424
425 Based on patch from Bean
426 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
427
428 * video/efi_fb.c: New file.
429 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
430 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
431 variables.
432 * conf/x86_64-efi.rmk: Likewise.
433
87d58298
RM
4342009-11-22 Robert Millan <rmh.grub@aybabtu.com>
435
436 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
437 * util/i386/pc/grub-setup.c: Likewise.
438
994cc3a3
ST
4392009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
440
441 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
442 <hurd/fs.h>
443 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
444 file_get_storage_info to implement grub_guess_root_device.
445
26a61d6a
FZ
4462009-11-21 Felix Zielcke <fzielcke@z-51.de>
447
448 * Makefile.in (target): Use make's builtin $(shell) function
449 instead of calling directly $(SHELL) to create the locale directories,
450 inside the $(foreach) function.
451
74ff1dd5
FZ
4522009-11-21 Felix Zielcke <fzielcke@z-51.de>
453
454 * util/grub-mkrescue.in: Print an error and usage if output option
455 has not been given.
456
0b787d0e
FZ
4572009-11-21 Felix Zielcke <fzielcke@z-51.de>
458
459 Patch from Loïc Minier <loic.minier@ubuntu.com>.
460 * util/grub.d/30_os-prober.in: Cope with Linux entries where
461 root and /boot are on different devices.
462
1164b270
RM
4632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
464
465 Fix build for srcdir != objdir.
466
467 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
468 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
469 $(srcdir).
470 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
471 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
472 reference for input.
473
13774a2f
RM
4742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
475
476 * util/grub-mkrescue.in: Use source directory direcly (without copiing
477 or hardlinking it). Remove -J option, Joliet is not compatible with
478 multiple source directories.
479
efda854e
RM
4802009-11-21 Carles Pina i Estany <carles@pina.cat>
4812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
482
483 * util/grub-mkrescue.in: Recognize `--override-directory' option.
484 (process_input_dir): New function. Process an arbitrary input
485 directory.
486 Misc adjustments to support both "override mode" and system-wide mode.
487
6c09890c
FZ
4882009-11-20 Felix Zielcke <fzielcke@z-51.de>
489
490 * configure.ac (UNIFONT_BDF): Rename to ...
491 (FONT_SOURCE): ... this. Update all users.
492
a797824f
FZ
4932009-11-20 Felix Zielcke <fzielcke@z-51.de>
494
495 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
496 to the list of unifont files to look for.
497
cd4f42b0
RM
4982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
499
500 Patch from Joe Auricchio <jauricchio@gmail.com>
501 * commands/minicmd.c (grub_mini_cmd_clear): New function.
502 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
503 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
504
393c783d
FZ
5052009-11-19 Felix Zielcke <fzielcke@z-51.de>
506
507 * Makefile.in (install-local): Add a missing backslash.
508
b2f1e327
FZ
5092009-11-19 Felix Zielcke <fzielcke@z-51.de>
510
511 * include/grub/x86_64/io.h: New file.
512
f577f7a0
RM
5132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
514
515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
516 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
517 Include `"progname.h"'.
518 (main): Initialize gettext.
519 * util/i386/pc/grub-setup.c: Gettexttize.
520 * util/i386/pc/grub-mkimage.c: Likewise.
521
522 * Makefile.in (po/*.po): Redefine as ...
523 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
524
3bc7896c
RM
525 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
526
c37943b6
RM
5272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
528
529 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
530 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
531 (program_name): Remove.
532 (main): Initialize gettext support.
6323f705
RM
533 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
534 Include `<libintl.h>'.
535 (_): New macro.
c37943b6
RM
536
537 * util/mkisofs/eltorito.c: Gettexttize.
538 * util/mkisofs/joliet.c: Likewise.
539 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
540 * util/mkisofs/multi.c: Likewise.
541 * util/mkisofs/rock.c: Likewise.
542 * util/mkisofs/tree.c: Likewise.
543 * util/mkisofs/write.c: Likewise.
544
3bc7896c
RM
545 * po/POTFILES: Update with new files.
546
5ce77c6e
RM
5472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
548
549 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
550 * util/mkisofs/iso9660.h: Likewise.
551 * util/mkisofs/joliet.c: Likewise.
552 * util/mkisofs/mkisofs.c: Likewise.
553 * util/mkisofs/mkisofs.h: Likewise.
554 * util/mkisofs/rock.c: Likewise.
555 * util/mkisofs/tree.c: Likewise.
556 * util/mkisofs/write.c: Likewise.
557
558 * util/mkisofs/eltorito.c (rcsid): Remove.
559 * util/mkisofs/hash.c: Likewise.
560 * util/mkisofs/joliet.c: Likewise.
561 * util/mkisofs/name.c: Likewise.
562 * util/mkisofs/rock.c: Likewise.
563 * util/mkisofs/tree.c: Likewise.
564 * util/mkisofs/write.c: Likewise.
565
1dabbc77
RM
5662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
567
568 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
569 instead of static allocation.
570 * util/mkisofs/match.h: Likewise.
571
633877cb
RM
5722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
573
3bc7896c
RM
574 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
575 and `util/grub.d/10_linux.in'.
633877cb
RM
576 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
577 translatable Shell files.
578
af1c0c85
RM
5792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
580
581 * Makefile.in ($(srcdir)/aclocal.m4): New target.
582
769ae37b
RM
5832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
584
585 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 586 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
587 * util/grub.d/10_kfreebsd.in (bindir): New variable.
588 Add gettext initialization.
589 (kfreebsd_entry): Make menuentry output translatable.
590
5912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
592
593 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
594 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
595 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
596 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
597 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 598 * po/LINGUAS: New file.
769ae37b
RM
599
6002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
601
602 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
603 other things).
604 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
605 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
606 bindtextdomain() calls for gettext initialization.
607
6082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
609
610 * gnulib/progname.c: New file (imported from Gnulib).
611 * gnulib/progname.h: Likewise.
612 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
613 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
614 (usage): Replace `progname' with `program_name'.
615 (main): Use set_program_name() for program name initialization.
616
6172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
618
619 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
620 from here ...
621 * Makefile.in (CPPFLAGS): ... to here.
622
6232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
624
625 * aclocal.m4: Move from here ...
626 * acinclude.m4: ... to here.
627 * autogen.sh: Add call to `aclocal'.
628 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
629
6302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
631
632 * Makefile.in (CLEANFILES): Add `po/*.mo'.
633 (LINGUAS): New variable.
634 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
635 (install-local): Install MO files.
636 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
637 * include/grub/i18n.h: New file.
3bc7896c
RM
638 * po/POTFILES: New file.
639 * po/ca.po: New file.
769ae37b
RM
640 * util/grub.d/10_linux.in (bindir): New variable.
641 Add gettext initialization.
642 (linux_entry): Make menuentry output translatable.
643 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
644 (usage): Make --help output translatable.
645 (main): Initialize gettext.
646
02c0a6ad
RM
6472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
648
649 * import_gcry.py: New file (written by Vladimir with minor
650 adjustments).
651 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
652 ciphers.
653 * INSTALL: Document that Python is required for bootstrap.
654
6552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
656
657 Import ciphers from libgcrypt 1.4.4.
658
659 * lib/libgcrypt/cipher/ChangeLog
660 * lib/libgcrypt/cipher/ac.c
661 * lib/libgcrypt/cipher/arcfour.c
662 * lib/libgcrypt/cipher/bithelp.h
663 * lib/libgcrypt/cipher/blowfish.c
664 * lib/libgcrypt/cipher/camellia-glue.c
665 * lib/libgcrypt/cipher/camellia.c
666 * lib/libgcrypt/cipher/camellia.h
667 * lib/libgcrypt/cipher/cast5.c
668 * lib/libgcrypt/cipher/cipher.c
669 * lib/libgcrypt/cipher/crc.c
670 * lib/libgcrypt/cipher/des.c
671 * lib/libgcrypt/cipher/dsa.c
672 * lib/libgcrypt/cipher/ecc.c
673 * lib/libgcrypt/cipher/elgamal.c
674 * lib/libgcrypt/cipher/hash-common.c
675 * lib/libgcrypt/cipher/hash-common.h
676 * lib/libgcrypt/cipher/hmac-tests.c
677 * lib/libgcrypt/cipher/md.c
678 * lib/libgcrypt/cipher/md4.c
679 * lib/libgcrypt/cipher/md5.c
680 * lib/libgcrypt/cipher/primegen.c
681 * lib/libgcrypt/cipher/pubkey.c
682 * lib/libgcrypt/cipher/rfc2268.c
683 * lib/libgcrypt/cipher/rijndael-tables.h
684 * lib/libgcrypt/cipher/rijndael.c
685 * lib/libgcrypt/cipher/rmd.h
686 * lib/libgcrypt/cipher/rmd160.c
687 * lib/libgcrypt/cipher/rsa.c
688 * lib/libgcrypt/cipher/seed.c
689 * lib/libgcrypt/cipher/serpent.c
690 * lib/libgcrypt/cipher/sha1.c
691 * lib/libgcrypt/cipher/sha256.c
692 * lib/libgcrypt/cipher/sha512.c
693 * lib/libgcrypt/cipher/tiger.c
694 * lib/libgcrypt/cipher/twofish.c
695 * lib/libgcrypt/cipher/whirlpool.c
696
af2f93ac
RM
6972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
698
699 Fix build for systems without error().
700
701 * gnulib/error.c: New file (imported from Gnulib).
702 * gnulib/error.h: Likewise.
703 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
704 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
705 (this variable is now used by error()).
706
73fb3dd5
FZ
7072009-11-16 Felix Zielcke <fzielcke@z-51.de>
708
814f5e96
FZ
709 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
710 instead of relying that char is signed.
73fb3dd5 711
a691ca33
VS
7122009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
715 blocksize different from specified.
716 (grub_pxefs_read): Likewise.
717
2af8f0f4
FZ
7182009-11-16 Felix Zielcke <fzielcke@z-51.de>
719
720 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
721
722 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
723 (grub_ata_readwrite): Likewise. Update 2 format strings.
724 (grub_atapi_read): Likewise.
725
726 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
727 * conf/i386.rmk (pkglib_MODULES): ... to here ...
728 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
729 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
730 (ata_mod_LDFLAGS): Move from here ...
731 * conf/i386.rmk: ... to here ...
732 * conf/x86_64-efi.rmk: ... and here.
733 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
734 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
735
83bdecaf
RM
7362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
737
738 Relicense multiboot.h, with RMS' blessing.
739
740 * include/multiboot.h: Change to X11 license.
741
fd6fd3d7
RM
7422009-11-15 Robert Millan <rmh.grub@aybabtu.com>
743
744 Support --version in grub-mkisofs.
745
746 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
747 (OPTION_VERSION): New macro.
748 (ld_options): Recognize --version.
749 (usage): Move `program_name' from here ...
750 (program_name): ... to here. Add `static' qualifier.
751 (main): Recognize `OPTION_VERSION'.
752
16a88c49
FZ
7532009-11-15 Felix Zielcke <fzielcke@z-51.de>
754
755 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
756 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
757
a4158476
RM
7582009-11-14 Robert Millan <rmh.grub@aybabtu.com>
759
760 Fix help2man generation for mkisofs.
761
762 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
763 (usage): Send output to stdout (rather than stderr).
764
fc2208b0
RM
7652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
766
767 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
768 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
769 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
770 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
771 (bin_SCRIPTS): Add `grub-mkfloppy'.
772 (grub_mkfloppy_SOURCES): New variable.
773
774 * util/grub-mkrescue.in: New file.
775 * util/i386/pc/grub-mkfloppy.in: New file.
776
777 * util/i386/coreboot/grub-mkrescue.in: Remove.
778 * util/i386/pc/grub-mkrescue.in: Remove.
779
8d0edf4a
RM
7802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
781
782 * include/grub/multiboot.h (struct grub_multiboot_header): Move
783 from here ...
784 * include/multiboot.h (struct multiboot_header): ... to here. Update
785 all users.
786 * include/grub/multiboot.h (struct grub_multiboot_info): Move
787 from here ...
788 * include/multiboot.h (struct multiboot_info): ... to here. Update
789 all users.
790 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
791 from here ...
792 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
793 Update all users.
794 * include/grub/multiboot.h (struct grub_mod_list): Move
795 from here ...
796 * include/multiboot.h (struct multiboot_mod_list): ... to here.
797 Update all users.
798
a73f5969
RM
7992009-11-13 Robert Millan <rmh.grub@aybabtu.com>
800
801 * include/multiboot2.h (multiboot_word): Rename from this ...
802 (multiboot2_word): ... to this. Update all users.
803 (multiboot_header): Rename from this ...
804 (multiboot2_header): ... to this. Update all users.
805 (multiboot_tag_header): Rename from this ...
806 (multiboot2_tag_header): ... to this. Update all users.
807 (multiboot_tag_start): Rename from this ...
808 (multiboot2_tag_start): ... to this. Update all users.
809 (multiboot_tag_name): Rename from this ...
810 (multiboot2_tag_name): ... to this. Update all users.
811 (multiboot_tag_module): Rename from this ...
812 (multiboot2_tag_module): ... to this. Update all users.
813 (multiboot_tag_memory): Rename from this ...
814 (multiboot2_tag_memory): ... to this. Update all users.
815 (multiboot_tag_unused): Rename from this ...
816 (multiboot2_tag_unused): ... to this. Update all users.
817 (multiboot_tag_end): Rename from this ...
818 (multiboot2_tag_end): ... to this. Update all users.
819
1c8927f0
RM
8202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
821
822 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
823 this platform we should support Multiboot1 first.
824
825 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
826 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
827 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
828
6e1e0d89
RM
8292009-11-12 Robert Millan <rmh.grub@aybabtu.com>
830
831 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
832 of write calls (converting them to fwrite() if they aren't already).
833 (get_torito_desc): Likewise.
834 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
835
7f2b34d8
RM
8362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
837
838 * util/i386/pc/grub-install.in: Move from here ...
839 * util/grub-install.in: ... to here. Update all users.
840
c0ef3311
CW
8412009-11-11 Colin Watson <cjwatson@ubuntu.com>
842
843 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
844
e1f240ff
RM
8452009-11-11 Robert Millan <rmh.grub@aybabtu.com>
846
847 Support for El Torito without floppy emulation.
848
849 * util/mkisofs/eltorito.c: Include `<errno.h>'.
850 (init_boot_catalog): Improve error handling.
851 (get_torito_desc): Don't use floppy emulation unless requested by
852 user. Patch boot information table when requested via
853 `-boot-info-table'.
854 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
855 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
856 (use_boot_info_table): New variables.
857 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
858 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
859 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
860 `--eltorito-emul-floppy'.
861 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
862 and `OPTION_ELTORITO_EMUL_FLOPPY'.
863 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
864 (use_boot_info_table, get_731): New prototypes.
865 * util/mkisofs/write.c (get_731): New function.
866
af7d4de5
FZ
8672009-11-11 Felix Zielcke <fzielcke@z-51.de>
868
869 Fix the generation of the man page.
870
871 * util/pc/i386/grub-install.in: Source
872 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
873
2c55dbc0
RM
8742009-11-11 Robert Millan <rmh.grub@aybabtu.com>
875
876 Large file support for grub-mkisofs.
877
878 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
879 * util/mkisofs/mkisofs.c (next_extent, last_extent)
880 (session_start): Upgrade type to `uint64_t'. Update all users.
881 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
882 (struct directory_entry): Upgrade type of `starting_block' and
883 `size' to `uint64_t'. Update all users.
884 (struct deferred): Remove unused structure.
885 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
886 Update all users.
887 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
888 file is larger than `UINT32_MAX'.
889 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
890 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
891 return value.
892 (struct deferred_write): Upgrade type of `extent' and `size' to
893 `uint64_t'. Update all users.
894 (last_extent_written): Upgrade type to `uint64_t'. Update all
895 users.
896 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
897 Update all users. Upgrade type of `remain' to `int64_t' and
898 `use' to `size_t'. Use error() to handle fread() errors.
899 (write_files): Rely on write_one_file() rather than calling
900 xfwrite() directly.
901
6a9cead5
FZ
9022009-11-09 Felix Zielcke <fzielcke@z-51.de>
903
904 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
905
4825d790
RM
9062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
907
908 * util/mkisofs/fnmatch.c: Remove.
909 * util/mkisofs/getopt1.c: Likewise.
910 * util/mkisofs/getopt.c: Likewise.
911 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
912 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
913 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
914 `gnulib/getopt1.c' and `gnulib/getopt.c'.
915 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
916
917 * configure.ac: Detect `mingw32msvc' host_os.
918 Check for lstat(), getuid() and getgid().
919
920 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
921 instances of `u_char' with `uint8_t'.
922
923 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
924 [!HAVE_GETUID] (getuid): New function (stub).
925 [!HAVE_GETGID] (getgid): Likewise.
926 [!HAVE_LSTAT] (lstat): Likewise.
927 [!S_IROTH] (S_IROTH): New macro (dummy).
928 [!S_IRGRP] (S_IRGRP): Likewise.
929
84b860d8
RM
9302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
931
932 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
933 conditional expression).
934
66e9b712
RM
9352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
936
937 Import from Gnulib.
938
939 * gnulib/fnmatch.c: New file.
940 * gnulib/fnmatch.h: Likewise.
941 * gnulib/fnmatch_loop.c: Likewise.
942 * gnulib/getopt.c: Likewise.
943 * gnulib/getopt.h: Likewise.
944 * gnulib/getopt1.c: Likewise.
945 * gnulib/getopt_int.h: Likewise.
946 * gnulib/gettext.h: Likewise.
947
34f4a5b0
RM
9482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
949
950 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
951 * normal/handler.c (read_handler_list): Likewise.
952
ac451143
RM
9532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
954
955 Misc cleanup.
956
957 * kern/command.c (grub_register_command_prio): Use
958 grub_zalloc() instead of explicitly zeroing data.
959 * kern/list.c: Include `<grub/mm.h>'.
960 (grub_named_list_find): Replace `0' with `NULL'.
961 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
962 (fs_module_list): Change type to `grub_named_list_t'. Update all
963 users.
964 * normal/dyncmd.c (read_command_list): Add space between function
965 call and parenthesis.
966 * normal/handler.c (read_handler_list): Likewise.
967
4089b167
RM
9682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
969
970 * normal/auth.c (punishment_delay): Moved from here ...
971 (grub_auth_strcmp): ... to here (inside function).
972
325f5037
RM
9732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
974
975 * include/grub/list.h (struct grub_named_list): Remove `const'
976 qualifier from `name'.
977 (struct grub_prio_list): Likewise.
978
7aea29a3
RM
9792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
980
981 * normal/auth.c: Include `<grub/time.h>'.
982 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
983
3fd6f044
RM
9842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
985
986 * normal/auth.c (punishment_delay): New variable.
987 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
988 (grub_auth_check_authentication): Punish failed login attempts with
989 an incremental (2^N) delay.
990
a4cd68e4
RM
9912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
992
993 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
994 path with $(srcdir).
995
7ad12f43
VS
9962009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
999
c1129f03
RM
10002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1001
1002 * util/i386/coreboot/grub-mkrescue.in: New file.
1003 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
1004 variables.
1005
1006 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
1007 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
1008 * configure.ac: Add header and function checks to satisfy grub-mkisofs
1009 requirements.
1010 * util/mkisofs/defaults.h: New file.
1011 * util/mkisofs/eltorito.c: Likewise.
1012 * util/mkisofs/exclude.h: Likewise.
1013 * util/mkisofs/fnmatch.c: Likewise.
1014 * util/mkisofs/getopt.c: Likewise.
1015 * util/mkisofs/getopt1.c: Likewise.
1016 * util/mkisofs/hash.c: Likewise.
1017 * util/mkisofs/include/fctldefs.h: Likewise.
1018 * util/mkisofs/include/mconfig.h: Likewise.
1019 * util/mkisofs/include/prototyp.h: Likewise.
1020 * util/mkisofs/include/statdefs.h: Likewise.
1021 * util/mkisofs/iso9660.h: Likewise.
1022 * util/mkisofs/joliet.c: Likewise.
1023 * util/mkisofs/match.c: Likewise.
1024 * util/mkisofs/match.h: Likewise.
1025 * util/mkisofs/mkisofs.c: Likewise.
1026 * util/mkisofs/mkisofs.h: Likewise.
1027 * util/mkisofs/multi.c: Likewise.
1028 * util/mkisofs/name.c: Likewise.
1029 * util/mkisofs/rock.c: Likewise.
1030 * util/mkisofs/tree.c: Likewise.
1031 * util/mkisofs/write.c: Likewise.
1032
ec8bb77d
VS
10332009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
1036 being insecure.
1037
3716b12c
RM
10382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1039
1040 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
1041 `grub-mkimage' (and use $0 when possible).
1042
b97b7b91
RM
10432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1044
1045 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
1046 error message for excessively large memory map.
1047
04114812
RM
10482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1049
1050 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
1051 executable bit.
1052
e4eb2373
RM
10532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1054
1055 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
1056 message for coreboot users.
1057
c926e1d5 10582009-11-07 Robert Millan <rmh.grub@aybabtu.com>
1059
1060 Fix build with GNU gold.
1061
1062 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
1063 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
1064 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
1065 link addresses.
1066 * aclocal.m4: Likewise.
1067
86e5b1db 10682009-11-04 Felix Zielcke <fzielcke@z-51.de>
1069
1070 * configure.ac (AC_PREREQ): Bump to 2.59d.
1071 * INSTALL: Make it more clear when Autoconf and Ruby are
1072 needed and when to run `./autogen.sh'.
1073
246cd78f 10742009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1075
1076 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
1077 OSes.
1078
4f9dfb37 10792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1080
1081 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
1082
b82bd5e1 10832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1084
1085 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
1086 giving it to GNU Mach.
1087
ff1a9bca 10882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1089
1090 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
1091 GNU partition number to get internal GRUB partition number.
1092
61697d9c 10932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1094
1095 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
1096 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
1097
a50569e1 10982009-11-01 Robert Millan <rmh.grub@aybabtu.com>
1099
1100 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
1101 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
1102 case.
1103
5b153867 11042009-11-01 Felix Zielcke <fzielcke@z-51.de>
1105
1106 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
1107
d9e2cd70 11082009-10-30 Robert Millan <rmh.grub@aybabtu.com>
1109
1110 Fix build problem.
1111
1112 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
1113 `-isystem=$(srcdir)/include'.
1114
805111a4 11152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
1116
1117 * util/i386/pc/grub-install.in: Remove hint that device.map should be
1118 checked (grub-install doesn't currently rely on it).
1119
fa6e945f 11202009-10-29 Robert Millan <rmh.grub@aybabtu.com>
1121
1122 Revert SVN r2660.
1123
1124 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
1125 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
1126 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
1127 * conf/i386-ieee1275.rmk: Likewise.
1128 * conf/i386-pc.rmk: Likewise.
1129 * conf/powerpc-ieee1275.rmk: Likewise.
1130 * conf/sparc64-ieee1275.rmk: Likewise.
1131 * conf/x86_64-efi.rmk: Likewise.
1132
cee15086 11332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1134
1135 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
1136
95b9239e 11372009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1138
1139 * include/grub/misc.h: Stop checking for APPLE_CC.
1140
2ed19dfd 11412009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1142
1143 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
1144 doesn't cause an infinite call loop.
1145
fdcdde19 11462009-10-28 Felix Zielcke <fzielcke@z-51.de>
1147
1148 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
1149 strings.
1150
cefabfe1 11512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1152
1153 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
1154 variable.
1155 * Makefile.in: Likewise.
1156
ed96ab6d 11572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1158
1159 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
1160
0579b753 11612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1162
1163 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
1164
478df409 11652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1166
1167 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
1168
083d1679 11692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1170
1171 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
1172 from here ...
1173 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
1174
5947ae32 11752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1176
1177 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
1178 in $(MAKEINFO) invocation. This makes it clear in output that
1179 errors are being ignored.
1180
94180ff6 11812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1182
1183 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
1184 from here ...
1185 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
1186 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
1187 * conf/i386-ieee1275.rmk: Likewise.
1188 * conf/i386-pc.rmk: Likewise.
1189 * conf/powerpc-ieee1275.rmk: Likewise.
1190 * conf/sparc64-ieee1275.rmk: Likewise.
1191 * conf/x86_64-efi.rmk: Likewise.
1192
9031b03a 11932009-10-26 Colin Watson <cjwatson@ubuntu.com>
1194
1195 * util/grub-editenv.c (main): If only a command is given, use
1196 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
1197 (usage): FILENAME is now optional and has a default.
1198
e4f6809b 11992009-10-26 Colin Watson <cjwatson@ubuntu.com>
1200
1201 Improve grub-mkconfig performance when there are several menu
1202 entries on a single filesystem.
1203
1204 * util/grub.d/10_linux.in (linux_entry): Cache the output of
1205 prepare_grub_to_access_device.
1206 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1207 * util/grub.d/30_os-prober.in: Likewise.
1208
67937d4d 12092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1210
1211 * util/grub.d/10_freebsd.in: Remove.
1212 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
1213 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
1214
ee3756cc 12152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1216
5c35048e 1217 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 1218
4dea1c6f 12192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1220
1221 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
1222 grub_util_error() call.
1223
042484d7 12242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1225
1226 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
1227 `reserved_first_sector' member.
1228 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
1229 `reserved_first_sector' to 1.
1230 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
1231 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
1232 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
1233 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
1234 filesystems which begin at first sector.
1235 (options): New option --skip-fs-probe.
1236 (main): Handle --skip-fs-probe and pass it to setup().
1237
d64448a7 12382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1239
1240 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
1241 (memset): Fix function prototype.
1242
508d42ec 12432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
12442009-10-25 Vasily Averin <vvs@parallels.com>
1245
1246 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
1247 `dirent.direntlen == 0'.
1248
b240e30c 12492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1250
1251 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
1252 `cpio'.
1253 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
1254
346e7fbe 12552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1256
1257 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
1258 `__trampoline_setup' and `__ucmpdi2'.
1259 * include/grub/powerpc/libgcc.h: Only export symbols for functions
1260 that libgcc provides.
1261
cdb308b0 12622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1263
1264 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
1265 * include/grub/sparc64/libgcc.h (memset): Likewise.
1266 * include/grub/misc.h (memset, memcmp): New function prototypes.
1267
fb26abc2 12682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1269
1270 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
1271 `cpio'.
1272 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
1273
f6693890 12742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1275
1276 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
1277 * docs/grub.cfg: Compensate for recent change in multiboot
1278 loader (since 2009-08-14 it won't pass filename to payload).
1279 * util/grub.d/10_hurd.in: Likewise.
1280
0933cdc0 12812009-10-21 Felix Zielcke <fzielcke@z-51.de>
1282
1283 * config.guess: Update to latest version from config git
1284 repository.
1285 * config.sub: Likewise.
1286
3b2fe8c2 12872009-10-20 Robert Millan <rmh.grub@aybabtu.com>
1288
1289 Fix build on sparc64.
1290
1291 * configure.ac: Perform checks for libgcc symbols before
1292 adding `-nostdlib' to LDFLAGS.
1293
46695a62 12942009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 Let user specify OpenBSD root device.
1297
1298 * loader/i386/bsd.c (openbsd_root): New variable.
1299 (openbsd_opts): New option 'root'.
1300 (OPENBSD_ROOT_ARG): New macro.
1301 (grub_openbsd_boot): Use 'openbsd_root'.
1302 (grub_cmd_openbsd): Fill 'openbsd_root'.
1303
d2b6b7fc 13042009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1305
1306 * NEWS: Misc adjustments.
1307
421bd7ac 13082009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
1311
f1d29d87 13122009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1313
1314 * configure.ac: Bump version to 1.97.
1315
6f3cd880 13162009-10-16 Colin Watson <cjwatson@ubuntu.com>
1317
1318 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
1319 -mno-3dnow on x86 architectures. Some toolchains enable these
1320 features by default, but they rely on registers that aren't enabled
1321 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
1322
035f7122 13232009-10-15 Robert Millan <rmh.grub@aybabtu.com>
1324
1325 Make entry text a bit more readable.
1326
1327 * util/grub.d/10_linux.in: Add `with' before `Linux'.
1328
44998e58 13292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
1332
cd2851b3 13332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
1336 operations.
1337
c6f3b249 13382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * configure.ac: Add missing dollar.
1341
6b5886ba 13422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
1345
1346 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
1347 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
1348 exports.
1349 * include/grub/sparc64/libgcc.h: Likewise. Use
1350 preprocessor conditionals.
1351
e9d66f6d 13522009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1353
1354 * conf/common.rmk (grub-dumpbios): Remove rule.
1355 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
1356 * util/grub-dumpbios.in: Remove file.
1357
9155bc17 13582009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1359
1360 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
1361 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
1362
1363 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
1364 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
1365 users.
1366
1367 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
1368 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
1369 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
1370 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
1371 users.
1372
bf7f7a18 13732009-10-12 Robert Millan <rmh.grub@aybabtu.com>
1374
1375 * term/tparm.c: Switch to GPLv3.
1376
86564c26 13772009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1378
1379 * include/grub/i386/cpuid.h: Add header protection.
1380
5c936493 13812009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1382
1383 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
1384
1385 * include/grub/i386/cpuid.h: New file.
1386 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
1387 (has_longmode): Rename to ...
1388 (grub_cpuid_has_longmode): ... this. Update all users. Remove
1389 `static' attribute.
1390 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
1391 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
1392 on a CPU that doesn't implement AMD64 instruction set.
1393
186e7cf2 13942009-10-06 Colin Watson <cjwatson@ubuntu.com>
1395
1396 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
1397 that version.texi is rebuilt on version number changes.
1398
83b65c4a 13992009-10-06 Colin Watson <cjwatson@ubuntu.com>
1400
1401 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
1402 Fixes bug #27602.
1403
d244281c 14042009-10-06 Colin Watson <cjwatson@ubuntu.com>
1405
1406 * util/i386/pc/grub-install.in: Source
1407 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
1408 that the --grub-probe option will work.
1409 * util/sparc64/ieee1275/grub-install.in: Likewise.
1410
da25306d 14112009-10-05 Robert Millan <rmh.grub@aybabtu.com>
1412
1413 * configure.ac: Bump version to 1.97~beta4.
1414
e8ee83c0 14152009-10-03 Robert Millan <rmh.grub@aybabtu.com>
1416
1417 Resync grub-mkdevicemap in x86_64-efi.
1418
1419 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
1420 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
1421 `util/devicemap.c'.
1422
50dcabcf 14232009-10-01 Colin Watson <cjwatson@ubuntu.com>
1424
1425 * util/grub-editenv.c (create_envblk_file): Write new block with a
1426 .new suffix and then rename it into place, to ensure atomic
1427 creation.
1428
0e51c3a7 14292009-09-28 Robert Millan <rmh.grub@aybabtu.com>
1430
1431 Do not automatically install headers.
1432
1433 * Makefile.in (include_DATA): Remove. Update all users.
1434
31299a95 14352009-09-26 Robert Millan <rmh.grub@aybabtu.com>
1436
1437 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
1438 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
1439
1440 * util/osdetect.lua: Remove.
1441 * script/lua/lauxlib.c: Likewise.
1442 * script/lua/ldebug.c: Likewise.
1443 * script/lua/grub_main.c: Likewise.
1444 * script/lua/lauxlib.h: Likewise.
1445 * script/lua/ldebug.h: Likewise.
1446 * script/lua/ltablib.c: Likewise.
1447 * script/lua/liolib.c: Likewise.
1448 * script/lua/lstrlib.c: Likewise.
1449 * script/lua/lualib.h: Likewise.
1450 * script/lua/ldo.c: Likewise.
1451 * script/lua/ldump.c: Likewise.
1452 * script/lua/ldo.h: Likewise.
1453 * script/lua/loslib.c: Likewise.
1454 * script/lua/lundump.c: Likewise.
1455 * script/lua/grub_lib.c: Likewise.
1456 * script/lua/ldblib.c: Likewise.
1457 * script/lua/lundump.h: Likewise.
1458 * script/lua/lmem.c: Likewise.
1459 * script/lua/grub_lib.h: Likewise.
1460 * script/lua/lmathlib.c: Likewise.
1461 * script/lua/lstate.c: Likewise.
1462 * script/lua/ltm.c: Likewise.
1463 * script/lua/lvm.c: Likewise.
1464 * script/lua/lmem.h: Likewise.
1465 * script/lua/lstate.h: Likewise.
1466 * script/lua/ltm.h: Likewise.
1467 * script/lua/ltable.c: Likewise.
1468 * script/lua/lvm.h: Likewise.
1469 * script/lua/llex.c: Likewise.
1470 * script/lua/lgc.c: Likewise.
1471 * script/lua/grub_lua.h: Likewise.
1472 * script/lua/loadlib.c: Likewise.
1473 * script/lua/lfunc.c: Likewise.
1474 * script/lua/lopcodes.c: Likewise.
1475 * script/lua/lparser.c: Likewise.
1476 * script/lua/ltable.h: Likewise.
1477 * script/lua/llex.h: Likewise.
1478 * script/lua/lgc.h: Likewise.
1479 * script/lua/lfunc.h: Likewise.
1480 * script/lua/lbaselib.c: Likewise.
1481 * script/lua/lopcodes.h: Likewise.
1482 * script/lua/lparser.h: Likewise.
1483 * script/lua/lzio.c: Likewise.
1484 * script/lua/linit.c: Likewise.
1485 * script/lua/lobject.c: Likewise.
1486 * script/lua/llimits.h: Likewise.
1487 * script/lua/lstring.c: Likewise.
1488 * script/lua/lzio.h: Likewise.
1489 * script/lua/lapi.c: Likewise.
1490 * script/lua/lcode.c: Likewise.
1491 * script/lua/lua.h: Likewise.
1492 * script/lua/lobject.h: Likewise.
1493 * script/lua/lstring.h: Likewise.
1494 * script/lua/lapi.h: Likewise.
1495 * script/lua/lcode.h: Likewise.
1496 * script/lua/luaconf.h: Likewise.
1497
cb8a2c38 14982009-09-26 Colin Watson <cjwatson@ubuntu.com>
1499
1500 * docs/grub.texi (Command-line and menu entry commands): Document
1501 date and echo commands.
1502
6b9b6276 15032009-09-24 Pavel Roskin <proski@gnu.org>
1504
1505 * include/grub/kernel.h (struct grub_module_header): Remove
1506 `grub_module_header_types'. Make `type' unsigned. Make `size'
1507 32-bit on all platforms.
1508 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
1509 8-bit field. Use grub_host_to_target32() for `size'.
1510 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
1511 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
1512 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
1513
4e5a02a7 15142009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1515
1516 Fix "lost keypress" bug in at_keyboard.
1517
1518 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
1519 Checks for readyness of input buffer (without flushing it).
1520 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
1521 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
1522
c6dcedf6 15232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1524
1525 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
1526 size check within GRUB_MACHINE_PCBIOS section.
1527
74c958b1 15282009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1529
1530 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
1531 return value.
1532 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
1533 KEYBOARD_ISREADY check.
1534 (grub_at_keyboard_checkkey): Rename to ...
1535 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
1536 Remove gratuitous cast.
1537
ff420223 15382009-09-23 Colin Watson <cjwatson@ubuntu.com>
1539
1540 * configure.ac: Call AC_PROG_MKDIR_P.
1541 * Makefile.in (docs/stamp-vti): Create docs directory. Create
1542 version.texi in $(builddir) rather than $(srcdir).
1543 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
1544 to makeinfo's @include search path.
1545
d96875df 15462009-09-23 Felix Zielcke <fzielcke@z-51.de>
1547
1548 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
1549
9b3f8365 15502009-09-23 Felix Zielcke <fzielcke@z-51.de>
1551
1552 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
1553 for `*.dpkg-new'.
1554
c44c90db 15552009-09-21 Colin Watson <cjwatson@ubuntu.com>
1556
1557 Build info documentation. Some code borrowed from Automake.
1558
1559 * configure.ac: Check for makeinfo.
1560 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
1561 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
1562 docs/version.texi.
1563 (MOSTLYCLEANFILES): Add vti.tmp.
1564 (docs/version.texi, docs/stamp-vti): Update automatically.
1565 (docs/grub.info): Build info documentation. Use --force and ignore
1566 errors for now.
1567 (all-local): Add $(INFOS).
1568 (install-local): Install info files.
1569 (uninstall): Uninstall info files.
1570 * docs/version.texi: Remove from revision control. This file is
1571 automatically generated on build now.
1572 * gendistlist.sh: Add `*.info'.
1573
e0b37bb5 15742009-09-21 Felix Zielcke <fzielcke@z-51.de>
1575
1576 * kern/term.c: Fix indentation.
1577
5a78865b 15782009-09-21 Felix Zielcke <fzielcke@z-51.de>
1579
1580 * util/hostdisk.c: Fix a comment.
1581
dace7e8a 15822009-09-20 Robert Millan <rmh.grub@aybabtu.com>
1583
1584 Fix regression introduced in r2539.
1585
1586 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
1587 to 0xA1.
1588
a83d079b 15892009-09-19 Colin Watson <cjwatson@ubuntu.com>
1590
1591 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 1592 os-prober. Under normal operation, it does not print anything to
1593 stderr; if it does, we need to debug it, and throwing away stderr
1594 makes that excessively difficult.
a83d079b 1595
be94a509 15962009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
1599
63f745e8 16002009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1601
1602 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
1603 AC_LANG_PROGRAM from autoconf.
1604 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
1605 prototypes (fixes warning).
1606
1607 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
1608 `--disable-werror' was used.
1609
bbb2a70f 16102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1611
1612 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
1613 uninitialized `lastaddr'.
1614
77c24f1d 16152009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1616
0f0b8c87 1617 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 1618
07197f23 16192009-09-14 Colin Watson <cjwatson@ubuntu.com>
1620
1621 * commands/test.c (get_fileinfo): Return immediately if
1622 grub_fs_probe fails.
1623
dabf1798 16242009-09-14 José Martínez <xosemp@gmail.com>
1625
1626 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
1627
d52109a7 16282009-09-14 Colin Watson <cjwatson@ubuntu.com>
1629
1630 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
1631 output.
1632
56532179 16332009-09-13 Robert Millan <rmh.grub@aybabtu.com>
1634
1635 * configure.ac: Remove --enable-grub-pe2elf. Only build
1636 grub-pe2elf when needed by the build system itself.
1637 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
1638
8ef070f5 16392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1640
1641 * configure.ac: Bump version to 1.97~beta3.
1642 * docs/version.texi: Likewise.
1643
61229557 16442009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1645
1646 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
1647 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
1648 from here ...
1649 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
1650 (grub_linux_setup_video): ... to here (with some adjustments).
1651
5c9f8d84 16522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1653
1654 Fix memory corruption issue (spotted by Colin Watson).
1655
1656 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
1657 causing returned size to be stored in an incorrect memory location.
1658 Fix use of uninitialized value when storing the returned size.
1659
e8f5d6e9 16602009-09-12 Yves Blusseau <blusseau@zetam.org>
1661
1662 Change clean rules to properly remove files
1663
1664 * genmk.rb: add new clean rules
1665 * Makefile.in (clean): add the new targets
1666 (mostlyclean): likewise
1667
cda2a409 16682009-09-11 Colin Watson <cjwatson@ubuntu.com>
1669
1670 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
1671 to grub_uint64_t.
1672 * fs/ntfs.c (init_file): Understand 64-bit sizes for
1673 non-resident files.
1674
86695375 16752009-09-11 Colin Watson <cjwatson@ubuntu.com>
1676
1677 * configure.ac: Don't look for help2man when cross-compiling. Fixes
1678 part of bug #27349.
1679
8aa1541a 16802009-09-10 Felix Zielcke <fzielcke@z-51.de>
1681
1682 * util/grub-mkconfig.in: Make the created config mode 400 and
1683 print a warning if it fails.
1684
48d9bb0a 16852009-09-10 Robert Millan <rmh.grub@aybabtu.com>
1686
1687 * util/grub.d/40_custom.in: Ask user to type custom entries below
1688 comment, rather than below 'exec tail' line.
1689
3b0521be 16902009-09-10 Colin Watson <cjwatson@ubuntu.com>
1691
1692 * util/grub.d/40_custom.in: Make sure that the explanatory text is
1693 visible in grub.cfg.
1694
50051d55 16952009-09-10 Colin Watson <cjwatson@ubuntu.com>
1696
1697 * util/grub.d/40_custom.in: Make it a little clearer how to use this
1698 file.
1699
c0d34387 17002009-09-10 Felix Zielcke <fzielcke@z-51.de>
1701
1702 * docs/grub.cfg: Add an example menu entry for memtest86+.
1703
80a608f3 17042009-09-09 Felix Zielcke <fzielcke@z-51.de>
1705
a2094832 1706 * config.guess: Update to latest version from config git.
80a608f3 1707 * config.sub: Likewise.
1708
99423078 17092009-09-08 Colin Watson <cjwatson@ubuntu.com>
1710
1711 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
1712 unknown-command case. Fixes bug #27320.
1713
44454e4c 17142009-09-08 Felix Zielcke <fzielcke@z-51.de>
1715
1716 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
1717 `help' if the command exists.
1718
e30d87ad 17192009-09-06 Robert Millan <rmh.grub@aybabtu.com>
1720
1721 * INSTALL: Require GCC 4.1.3 or later.
1722
9a86f1ec 17232009-09-06 Yves Blusseau <blusseau@zetam.org>
1724
1725 * Makefile.in (RMKFILES): add i386-qemu.rmk
1726 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
1727 $(srcdir)/stamp-h.in
1728
7f26d466 17292009-09-05 Robert Millan <rmh.grub@aybabtu.com>
1730
1731 * util/grub-probe.c (probe): Comment out buggy codepath, which
1732 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
1733 should be re-enabled after 1.97.
1734
3a613259 17352009-09-05 Felix Zielcke <fzielcke@z-51.de>
1736
1737 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
1738 find searches for.
1739
197f76c7 17402009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
1743 unnecessary calls to grub_error.
1744
70ba68ce 17452009-09-04 Colin Watson <cjwatson@ubuntu.com>
1746
1747 * NEWS: Mention `keystatus' and Unicode fonts.
1748
4ff0d7a4 17492009-09-04 Robert Millan <rmh.grub@aybabtu.com>
1750
1751 * configure.ac: Bump version to 1.97~beta2.
1752 * docs/version.texi: Likewise.
1753
77c55a87 17542009-09-03 Colin Watson <cjwatson@ubuntu.com>
1755
1756 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
1757 containing unwind information in some cases where it previously did
1758 not. Use -fno-dwarf2-cfi-asm if available to restore the old
1759 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
1760 discussion.
1761
f79572cd 17622009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
1763
1764 Embedding loadenv module into grub-emu
1765
1766 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
1767 commands/loadenv.c
1768 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
1769 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
1770 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
1771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
1772 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
1773 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
1774
93a81088 17752009-09-03 Magnus Granberg <zorry@ume.nu>
1776
1777 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
1778 include -fPIE in the default specs.
1779 * configure.ac: Check if pie_possible is yes and add -fno-PIE
1780 to TARGET_CFLAGS.
1781
160034b2 17822009-09-03 Felix Zielcke <fzielcke@z-51.de>
1783
1784 * INSTALL: Note that GNU Bison 2.3 or later is required.
1785
087c07c4 17862009-09-03 Colin Watson <cjwatson@ubuntu.com>
1787
1788 * kern/i386/pc/startup.S: Fix typo.
1789
cbf978c0 17902009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
1793 according to GCS.
1794
17952009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 1796
1797 * docs/grub.texi (Naming convention): Describe one-based partition
1798 numbering.
1799 (Device syntax): Likewise.
1800 (File name syntax): Likewise.
1801 (Block list syntax): Likewise.
1802 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
1803 menu.lst.
1804 (File name syntax): Likewise.
1805 (Command-line and menu entry commands): Document acpi, blocklist,
1806 crc, export, insmod, keystatus, ls, set, and unset commands.
1807
f3e8cdfd 18082009-09-02 Colin Watson <cjwatson@ubuntu.com>
1809
1810 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
1811 to avoid implying that only one of --shift, --ctrl, or --alt may be
1812 used.
1813
c0bc232b 18142009-09-02 Colin Watson <cjwatson@ubuntu.com>
1815
1816 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
1817 rather than comparing against S_IFREG, which will almost never work.
1818
aa0f752d 18192009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
1822 (write_blocklists): Likewise.
1823
ecb3166a 18242009-09-01 Colin Watson <cjwatson@ubuntu.com>
1825
1826 * script/lua/grub_lua.h (fputs): Supply a format string as the first
1827 argument to grub_printf.
1828
c403a125 18292009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 1830
1831 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 1832 non GNU test.
31aba781 1833
b5e7312c 18342009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * kern/file.c (grub_file_read): Spelling fix
1837
fe00f472 18382009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
1841 loading of headers in some cases.
1842
cc55302e 18432009-08-30 Robert Millan <rmh.grub@aybabtu.com>
1844
1845 * configure.ac: Bump version to 1.97~beta1.
1846 * docs/version.texi: Likewise.
1847
5c90cdd2 18482009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 1849
1850 * include/grub/i386/xnu.h: Add license header.
1851 include grub/err.h explicitly.
1852
c90edae4 18532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1854
1855 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
1856 to `ufs' in the vfs.root.mountfrom kernel parameter.
1857
d8888b5c 18582009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1859
1860 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
1861
1862 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
1863 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
1864
1865 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
1866 `ARRAY_SIZE' macro.
1867
6f07b921 18682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * kern/file.c (grub_file_read): Check offset.
1871 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
1872 * fs/jfs.c (grub_jfs_read_file): Likewise.
1873 * fs/ntfs.c (grub_ntfs_read): Likewise.
1874 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
1875 * fs/minix.c (grub_minix_read_file): Correct offset check.
1876 * fs/ufs.c (grub_ufs_read_file): Likewise.
1877
b4f34077 18782009-08-28 Colin Watson <cjwatson@ubuntu.com>
1879
1880 * term/i386/pc/console.c (bios_data_area): Cast
1881 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
1882
e7c69859 18832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 1-bit optimised blitters.
1886
1887 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
1888 prototype.
1889 (grub_video_fbblit_replace_24bit_1bit): Likewise.
1890 (grub_video_fbblit_replace_16bit_1bit): Likewise.
1891 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1892 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1893 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
1894 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
1895 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
1896 function.
1897 (grub_video_fbblit_replace_24bit_1bit): Likewise.
1898 (grub_video_fbblit_replace_16bit_1bit): Likewise.
1899 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1900 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1901 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
1902 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
1903 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
1904 when possible.
1905 * video/video.c (grub_video_get_blit_format): Return
1906 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
1907
a57da43f 19082009-08-28 Colin Watson <cjwatson@ubuntu.com>
1909
1910 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
1911 the first argument to grub_printf.
1912
4cbe67e5 19132009-08-28 Colin Watson <cjwatson@ubuntu.com>
19142009-08-28 Robert Millan <rmh.grub@aybabtu.com>
1915
1916 Add `getkeystatus' terminal method. Add a new `keystatus' command
1917 to query it.
1918
1919 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
1920 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
1921 modifier key bitmasks.
1922 (struct grub_term_input): Add `getkeystatus' member.
1923 (grub_getkeystatus): Add prototype.
1924 * kern/term.c (grub_getkeystatus): New function.
1925
1926 * include/grub/i386/pc/memory.h
1927 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
1928 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
1929 Data Area layout.
1930 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
1931 (grub_console_term_input): Set `getkeystatus' member.
1932 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
1933 constants.
1934 (grub_usb_keyboard_getreport): Likewise.
1935 (grub_usb_keyboard_checkkey): Likewise.
1936 (grub_usb_keyboard_getkeystatus): New function.
1937 (grub_usb_keyboard_term): Set `getkeystatus' member.
1938
1939 * commands/keystatus.c: New file.
1940 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
1941 (keystatus_mod_SOURCES): New variable.
1942 (keystatus_mod_CFLAGS): Likewise.
1943 (keystatus_mod_LDFLAGS): Likewise.
1944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
1945 commands/keystatus.c.
1946 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1948 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1950 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1951 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 1952
6e2a9085 19532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Split befs.mod and afs.mod into *_be.mod and *.mod
1956
1957 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
1958 (grub_fstest_SOURCES): Likewise.
1959 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
1960 (afs_be_mod_SOURCES): New variable.
1961 (afs_be_mod_CFLAGS): Likewise.
1962 (afs_be_mod_LDFLAGS): Likewise.
1963 (befs_be_mod_SOURCES): Likewise.
1964 (befs_be_mod_CFLAGS): Likewise.
1965 (befs_be_mod_LDFLAGS): Likewise.
1966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
1967 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1968 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1969 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1970 (grub_emu_SOURCES): Likewise.
1971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1972 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1973 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
1974 * fs/afs_be.c: New file.
1975 * fs/befs_be.c: New file.
1976 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
1977 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
1978 (U16): Replaced with ...
1979 (grub_afs_to_cpu16): ...this. All users updated.
1980 (U32): Replaced with ...
1981 (grub_afs_to_cpu32): ...this. All users updated.
1982 (U64): Replaced with ...
1983 (grub_afs_to_cpu64): ...this. All users updated.
1984 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
1985 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 1986 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 1987 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
1988 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
1989 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
1990 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
1991 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
1992 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
1993 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
1994 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
1995
32a71655 19962009-08-26 Bean <bean123ch@gmail.com>
1997
1998 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
1999 64-bit number.
2000 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2001 (grub_xfs_inode_block): Change return type to grub_uint64_t.
2002 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
2003
552bf6c5 20042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 NetBSD memory map support.
2007
2008 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
2009 (grub_netbsd_btinfo_mmap_header): New structure.
2010 (grub_netbsd_btinfo_mmap_entry): Likewise.
2011 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2012
1ae2078c 20132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 Enable bsd.mod on coreboot.
2016
2017 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
2018 (bsd_mod_SOURCES): New variable.
2019 (bsd_mod_CFLAGS): Likewise.
2020 (bsd_mod_LDFLAGS): Likewise.
2021 (bsd_mod_ASFLAGS): Likewise.
2022 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
2023 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
2024
beefc598 20252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 Cleanup NetBSD root support.
2028
2029 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
2030 grub_bsd_get_device.
2031 Fix typo.
2032
3b76e68b 20332009-08-25 Felix Zielcke <fzielcke@z-51.de>
2034
2035 * util/grub.d/00_header.in: Move check for the video backend of
2036 gfxterm from here ...
2037 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
2038 a suitable video backend.
2039
aea664ea 20402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Fix breakage in grub-setup.
2043
2044 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
2045 "msdos_partition_map".
2046
ff747d50 20472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 Fix breakage in normal/auth.c.
2050
2051 * normal/auth.c (grub_iswordseparator): New function.
2052
e7e1f93f 20532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 Authentication support.
2056
2057 * commands/password.c: New file.
2058 * conf/common.rmk (pkglib_MODULES): Add password.mod.
2059 (password_mod_SOURCES): New variable.
2060 (password_mod_CFLAGS): Likewise.
2061 (password_mod_LDFLAGS): Likewise.
2062 (normal_mod_SOURCES): Add normal/auth.c.
2063 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
2064 normal/auth.c.
2065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2066 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2067 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2069 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2070 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
2071 * include/grub/auth.h: New file.
2072 * include/grub/err.h (grub_err_t): New enum value
2073 GRUB_ERR_ACCESS_DENIED.
2074 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
2075 'users'.
2076 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
2077 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
2078 users updated.
2079 * normal/auth.c: New file.
2080 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
2081 (grub_cmdline_run): Don't allow to go to command line without
2082 authentication.
2083 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
2084 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
2085 menuentry without superuser rights.
2086 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
2087 user isn't a superuser.
2088
70f1161d 20892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 Save space by inlining misc.c functions.
2092
2093 * kern/misc.c (grub_iswordseparator): Made static.
2094 * kern/misc.c (grub_strcat): Moved from here ...
2095 * include/grub/misc.h (grub_strcat): ... here. Inlined.
2096 * kern/misc.c (grub_strncat): Moved from here ...
2097 * include/grub/misc.h (grub_strncat): ... here. Inlined.
2098 * kern/misc.c (grub_strcasecmp): Moved from here ...
2099 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
2100 * kern/misc.c (grub_strncasecmp): Moved from here ...
2101 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
2102 * kern/misc.c (grub_isalpha): Moved from here ...
2103 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
2104 * kern/misc.c (grub_isdigit): Moved from here ...
2105 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
2106 * kern/misc.c (grub_isgraph): Moved from here ...
2107 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
2108 * kern/misc.c (grub_tolower): Moved from here ...
2109 * include/grub/misc.h (grub_tolower): ... here. Inlined.
2110
48e40bff 21112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * script/sh/function.c (grub_script_function_find): Cut error message
2114 not to flood terminal.
2115 * script/sh/lexer.c (grub_script_yylex): Remove command line length
2116 limit.
2117 * script/sh/script.c (grub_script_arg_add): Duplicate string.
2118
c385bfc3 21192009-08-24 Colin Watson <cjwatson@ubuntu.com>
2120
2121 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
2122 `report' grub_uint8_t *.
2123 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
2124 Use a 50-millisecond timeout rather than just repeating
2125 grub_usb_keyboard_getreport 50 times.
2126 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
2127
2d21e3e8 21282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 Rename *_partition_map to part_*
2131
2132 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
2133 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
2134 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
2135 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
2136 All users updated.
2137 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
2138 All users updated.
2139 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
2140 * util/grub-probe.c (probe_partmap): Don't transform partition name
2141 to get module name.
2142
dd103c4e 21432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 Fix OpenBSD and NetBSD support.
2146
2147 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
2148 memory address conflict.
2149 (OPENBSD_MMAP_ACPI): New definition.
2150 (OPENBSD_MMAP_NVS): Likewise.
2151 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
2152 and OPENBSD_MMAP_NVS.
2153 Add memory map terminator
2154 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 2155 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 2156
16c84d74 21572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 Let user specify NetBSD root device.
2160
2161 * loader/i386/bsd.c (netbsd_root): New variable.
2162 (netbsd_opts): New option 'root'.
2163 (NETBSD_ROOT_ARG): New macro.
2164 (grub_netbsd_boot): Use 'netbsd_root'.
2165 (grub_bsd_unload): Free 'netbsd_root'.
2166 (grub_cmd_netbsd): Fill 'netbsd_root'.
2167
adb29902 21682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Support for 64-bit NetBSD.
2171
2172 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
2173 point when booting non-FreeBSD.
2174
f5ae9f74 21752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 Support --no-smp and --no-acpi for NetBSD.
2178
2179 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
2180 (NETBSD_AB_NOACPI): Likewise.
2181 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
2182 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
2183
de74f136 21842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
2187 errors.
2188 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
2189 errors. Call grub_error when needed.
2190
e9a925da 21912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * commands/search.c (search_fs): Try searching without autoload first.
2194 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2195 filesystem module explicitly for faster booting.
2196
5174302b 21972009-08-23 Colin Watson <cjwatson@ubuntu.com>
2198
2199 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
2200
c8c80635 22012009-08-23 Colin Watson <cjwatson@ubuntu.com>
2202
2203 * util/grub.d/30_os-prober.in: Disable os-prober if
2204 `GRUB_DISABLE_OS_PROBER' was set to true.
2205
71acf5e5 22062009-08-23 Robert Millan <rmh.grub@aybabtu.com>
2207
2208 * partmap/pc.c: Rename to ...
2209 * partmap/msdos.c: ... this. Update all users.
2210 (grub_pc_partition_map): Rename to ...
2211 (grub_msdos_partition_map): ... this. Update all users.
2212
2213 * parttool/pcpart.c: Rename to ...
2214 * parttool/msdospart.c: ... this. Update all users.
2215
2216 * include/grub/pc_partition.h: Rename to ...
2217 * include/grub/msdos_partition.h: ... this. Update all users.
2218 (grub_pc_partition_bsd_entry): Rename to ...
2219 (grub_msdos_partition_bsd_entry): ... this. Update all users.
2220 (grub_pc_partition_disk_label): Rename to ...
2221 (grub_msdos_partition_disk_label): ... this. Update all users.
2222 (grub_pc_partition_entry): Rename to ...
2223 (grub_msdos_partition_entry): ... this. Update all users.
2224 (grub_pc_partition_mbr): Rename to ...
2225 (grub_msdos_partition_mbr): ... this. Update all users.
2226 (grub_pc_partition): Rename to ...
2227 (grub_msdos_partition): ... this. Update all users.
2228 (grub_pc_partition_is_empty): Rename to ...
2229 (grub_msdos_partition_is_empty): ... this. Update all users.
2230 (grub_pc_partition_is_extended): Rename to ...
2231 (grub_msdos_partition_is_extended): ... this. Update all users.
2232 (grub_pc_partition_is_bsd): Rename to ...
2233 (grub_msdos_partition_is_bsd): ... this. Update all users.
2234
2235 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
2236 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
2237 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
2238 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
2239 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
2240 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
2241 (gpt_mod_LDFLAGS): Rename to ...
2242 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
2243 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
2244 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
2245 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
2246 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
2247 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
2248 (part_gpt_mod_LDFLAGS): ... this.
2249 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
2250 `pcpart.mod' to `msdospart.mod'.
2251 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
2252 to ...
2253 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
2254 (msdospart_mod_LDFLAGS): ... this.
2255
c11fded5 22562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
2259 (openbsd_opts): Likewise.
2260 (netbsd_opts): Likewise.
2261 (freebsd_flags): Added 0 terminator.
2262 (openbsd_flags): Likewise.
2263 (netbsd_flags): Likewise.
2264 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
2265 (grub_cmd_freebsd): Transformed into extended command.
2266 (grub_cmd_openbsd): Likewise.
2267 (grub_cmd_netbsd): Likewise.
2268 (cmd_freebsd): Changed type to grub_extcmd_t.
2269 (cmd_openbsd): Likewise.
2270 (cmd_netbsd): Likewise.
2271 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
2272 grub_cmd_openbsd as extended commands.
2273 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
2274 cmd_netbsd and cmd_openbsd
2275
11d1c769 22762009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
2279
7a9094e5 22802009-08-21 Pavel Roskin <proski@gnu.org>
2281
5496c37e 2282 * Makefile.in (install-local): When checking if a file is in the
2283 build directory, use "test -e" to detect symlinks.
2284
7a9094e5 2285 * Makefile.in (install-local): Remove all files in
2286 $(DESTDIR)$(pkglibdir) before installing new files there.
2287
e53cea11 22882009-08-18 Felix Zielcke <fzielcke@z-51.de>
2289
2290 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
2291 grub-mkelfimage.
2292
9aced544 22932009-08-18 Felix Zielcke <fzielcke@z-51.de>
2294
2295 * util/grub-mkconfig.in: Don't use gfxterm by default if not
2296 explicitly specified by the user.
2297
b7da6bab 22982009-08-18 Pavel Roskin <proski@gnu.org>
2299
2300 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
2301 grub_uint8_t pointer for data.
2302 * include/grub/fbutil.h (struct grub_video_fbblit_info):
2303 Likewise.
2304 * video/fb/fbutil.c: Remove unnecessary casts.
2305
19f1b335 23062009-08-17 Michal Suchanek <hramrach@centrum.cz>
2307
2308 VBE cleanup.
2309
2310 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
2311 (grub_vbe_set_video_mode): Save active mode info
2312 only after setting the mode.
2313 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
2314 second argument.
2315
2f467aa9 23162009-08-17 Michal Suchanek <hramrach@centrum.cz>
2317
2318 Rename variables for clarity.
2319
2320 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
2321 (active_vbe_mode_info): ... this. All users updated.
2322 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
2323 All users updated.
2324 (initial_mode): Rename to ...
2325 (initial_vbe_mode): ... this. All users updated.
2326 (mode_in_use): Rename to ..
2327 (vbe_mode_in_use): ... this. All users updated.
2328 (mode_list): Rename to ..
2329 (vbe_mode_list): ... this. All users updated.
2330 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
2331 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
2332 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
2333 'mode_list_size' to 'vbe_mode_list_size'.
2334 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
2335 'best_mode_info' to 'best_vbe_mode_info' and
2336 'best_mode' to 'best_vbe_mode'
2337
6025fcd7 23382009-08-17 Michal Suchanek <hramrach@centrum.cz>
2339
2340 Remove duplicate grub_video_fb_get_video_ptr.
2341
2342 * include/grub/fbutil.h (get_data_ptr): Rename to ...
2343 (grub_video_fb_get_video_ptr): ... this.
2344 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
2345 * video/fb/fbutil.c: Add comment about addressing.
2346 (get_data_ptr): Rename to ...
2347 (grub_video_fb_get_video_ptr): ... this. All users updated.
2348 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
2349
cc8c6faf 23502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2351
2352 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
2353 grub_dprintf() that was just added.
2354
08aa61f0 23552009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2356
2357 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
2358 (DEFAULT_VIDEO_MODE): Remove macros.
2359 (grub_linux_boot): Remove assumption that Linux has FB support,
2360 and use "text" as default video mode.
2361
7cef4f75 23622009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
2365 grub_dprintf.
2366 * fs/fat.c (grub_fat_read_data): Likewise.
2367
e1f39873 23682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
2371 payload.
2372 (grub_module): Likewise.
2373
c166d79e 23742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
2377 mbi->cmdline but free playground.
2378
c60cee8e 23792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Handle group offset on UFS1.
2382
2383 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
2384 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
2385
c0d8b5d4 23862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 Split ufs.mod into ufs1.mod and ufs2.mod.
2389
2390 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
2391 (grub_fstest_SOURCES): Likewise.
2392 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
2393 (ufs_mod_SOURCES): Remove.
2394 (ufs_mod_CFLAGS): Likewise.
2395 (ufs_mod_LDFLAGS): Likewise.
2396 (ufs1_mod_SOURCES): New variable.
2397 (ufs1_mod_CFLAGS): Likewise.
2398 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 2399 (ufs2_mod_SOURCES): New variable.
2400 (ufs2_mod_CFLAGS): Likewise.
2401 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 2402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
2403 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2404 Likewise.
2405 (grub_emu_SOURCES): Likewise.
2406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2408 (grub_setup_SOURCES): Likewise.
2409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2410 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
2411 (grub_setup_SOURCES): Likewise.
2412 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2413 Likewise.
2414 * fs/ufs2.c: New file.
2415 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
2416
d3539132 24172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Framebuffer split.
2420
2421 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
2422 subsystem at the end.
2423 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
2424 (video_fb_mod_SOURCES): New variable.
2425 (video_fb_mod_CFLAGS): Likewise.
2426 (video_fb_mod_LDFLAGS): Likewise.
2427 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
2428 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
2429 * video/i386/pc/vbeblit.c: Moved from here ...
2430 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
2431 * video/i386/pc/vbefill.c: Moved from here ...
2432 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
2433 * video/i386/pc/vbeutil.c: Moved from here ...
2434 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
2435 * include/grub/i386/pc/vbeblit.h: Moved from here ...
2436 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
2437 * include/grub/i386/pc/vbefill.h: Moved from here ...
2438 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
2439 * include/grub/i386/pc/vbeutil.h: Moved from here ...
2440 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
2441 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
2442 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
2443 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
2444 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
2445 (grub_video_adapter): Added 'get_info_and_fini'.
2446 (grub_video_get_info_and_fini): New prototype.
2447 (grub_video_set_mode): make modestring const char *.
2448 * loader/i386/linux.c (grub_linux_setup_video): Use
2449 grub_video_get_info_and_fini.
2450 (grub_linux_boot): Move modesetting just before booting.
2451 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
2452 grub_video_get_info_and_fini.
2453 * video/i386/pc/vbe.c: Moved framebuffer part ...
2454 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
2455 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
2456 grub_video_fbstd_colors and grub_video_fb_set_palette.
2457 (grub_video_vbe_init): Clear 'framebuffer' variable and use
2458 grub_video_fb_init.
2459 (grub_video_vbe_fini): Use grub_video_fb_fini.
2460 (grub_video_vbe_setup): Use framebuffer.render_target instead of
2461 render_target and use grub_video_fb_set_active_render_target and
2462 grub_video_fb_set_palette.
2463 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
2464 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
2465 (grub_video_vbe_adapter): Use framebuffer.
2466 * video/video.c (grub_video_get_info_and_fini): New function.
2467 (grub_video_set_mode): Make modestring const char *.
2468 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
2469 values are already initialised.
2470
d404ee56 24712009-08-14 Pavel Roskin <proski@gnu.org>
2472
2473 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
2474 ABS and APPLE_CC.
2475 * boot/i386/pc/diskboot.S: Likewise.
2476 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
2477 sectors allow compilation on MacOSX.
2478 * conf/i386-pc.rmk: Enable unconditional compilation of
2479 lnxboot.img.
2480
9a10df16 24812009-08-13 Colin Watson <cjwatson@ubuntu.com>
2482
2483 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
2484 * util/grub.d/00_header.in: Enter interruptible sleep if
2485 GRUB_HIDDEN_TIMEOUT is set.
2486
be3c9ca7 24872009-08-13 Yves Blusseau <blusseau@zetam.org>
2488
2489 * include/grub/symbol.h: Add the LOCAL macro.
2490 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
2491 starting with "L_".
2492
1f9e557e 24932009-08-13 Pavel Roskin <proski@gnu.org>
2494
9ca62843 2495 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
2496 any modern compilers we support.
2497
1f9e557e 2498 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
2499 Use local labels starting with "L_" so that Apple assembler
2500 knows they are local.
2501
81623db6 25022009-08-10 Robert Millan <rmh.grub@aybabtu.com>
2503
2504 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
2505 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
2506 (bsd_kernel_types): ... this enum.
2507
2508 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
2509 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
2510 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
2511
2512 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
2513 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
2514 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
2515 messages.
2516
f5d35e7a 25172009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2518
2519 * util/grub-dumpdevtree: Moved from here ...
2520 * util/i386/efi/grub-dumpdevtree: ... to here.
2521 (hexify): New function. Converts a string to its hex version.
2522 Generate hex versions of "efi" and "device-properties" by calling
2523 hexify() on the ASCII strings rather than by hardcoding numbers.
2524
d1e1d527 25252009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2526
2527 * fs/jfs.c: Update copyright year.
2528
1ebbe064 25292009-08-08 Felix Zielcke <fzielcke@z-51.de>
2530
2531 * util/grub.d/00_header.in: Fix a comment.
2532 * util/grub.d/10_linux.in: Likewise.
2533 * util/grub.d/10_windows.in: Likewise.
2534 * util/grub.d/10_hurd.in: Likewise.
2535
a78c8d24 25362009-08-08 Felix Zielcke <fzielcke@z-51.de>
2537
2538 * util/grub-mkconfig.in: Allow the user to specify the used font
2539 with GRUB_FONT.
2540
29a6b9e8 25412009-08-08 Pavel Roskin <proski@gnu.org>
2542
b5f16cc4 2543 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
2544 available, xfs.mod needs it now.
2545
2f5cb827 2546 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
2547 the "g" modifier in sed when the intention is to strip something
2548 once. This fixes comparison of kernels with multiple dashes.
2549
29a6b9e8 2550 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
2551 on it. Add missing space before closing bracket. Fix
2552 misleading formatting.
2553
892a3d98 25542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2555
2556 * docs/grub.texi: Major overhaul. Remove all sections that are
2557 specific to GRUB Legacy, or mostly composed of Legacy-specific
2558 information.
2559
ed94253f 25602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2561
2562 * docs/version.texi: New file. Provides version information for
2563 grub.texi.
2564
126d6628 25652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2566
2567 * docs/grub.texi: Update CVS information to SVN.
2568 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
2569
998b5aa9 25702009-08-07 Felix Zielcke <fzielcke@z-51.de>
2571
2572 * util/grub-mkconfig.in: Remove a wrong `fi'.
2573
818e094a 25742009-08-07 Felix Zielcke <fzielcke@z-51.de>
2575
2576 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
2577 (grub_jfs_uuid): New function.
2578 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
2579
b969c52f 25802009-08-07 Felix Zielcke <fzielcke@z-51.de>
2581
2582 * util/grub-mkconfig_lib.in (font_path): Move the functionality
2583 of it to ...
2584 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
2585 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
2586
7a4894cc 25872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2588
2589 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
2590 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
2591 Update all users.
2592
2593 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
2594 not just "vmlinu[zx]".
2595 Moved from here ...
2596 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
2597 all users.
2598
2599 * util/grub.d/10_linux.in (find_latest): Moved from here ...
2600 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
2601 all users.
2602
4e2171f8 26032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2604
2605 * util/grub.d/10_freebsd.in: Use an absolute device path for
2606 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
2607
6dcfcb32 26082009-08-06 Felix Zielcke <fzielcke@z-51.de>
2609
2610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2611 handling of multiple abstraction modules.
2612
f56a8756 26132009-08-04 Robert Millan <rmh.grub@aybabtu.com>
2614
2615 Fix a bug resulting in black screen when loading Linux using a
2616 packed video mode.
2617
2618 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
2619 function.
2620
2621 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
2622 (grub_vbe_bios_getset_dac_palette_width): New function.
2623 (grub_vbe_bios_get_dac_palette_width)
2624 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
2625 grub_vbe_bios_getset_dac_palette_width()).
2626
2627 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
2628 check for return status.
2629 (grub_vbe_get_video_mode_info): When getting information for a packed
2630 mode (<= 8 bpp), obtain DAC palette width using
2631 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
2632 {red,green,blue}_mark_size.
2633
222671b2 26342009-08-04 Felix Zielcke <fzielcke@z-51.de>
2635
ecb1a6d9 2636 * commands/search.c (options): Fix help output to match actual code.
222671b2 2637
f84114f5 26382009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
2641 of homegrown code.
2642
bd288a20 26432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 2644
2645 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
2646 on XFS or ReiserFS.
2647
8aab5e25 26482009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Support Apple partition map with sector size different from 512 bytes.
2651
2652 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
2653 (apple_partition_map_iterate): Respect 'aheader.blocksize'
2654 and 'apart.partmap_size'.
2655
6ad6258a 26562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26572009-08-01 Robert Millan <rmh.grub@aybabtu.com>
2658
2659 Fix cpuid command.
2660
2661 * commands/i386/cpuid.c (options): New variable.
2662 (grub_cmd_cpuid): Return real error.
2663 (GRUB_MOD_INIT(cpuid)): Declare options.
2664
67459bc6 26652009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
2668 valid.
2669
fbc6ab54 26702009-07-31 Bean <bean123ch@gmail.com>
2671
2672 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
2673 log2_inode.
2674 (grub_fshelp_node): Move inode field to the end.
2675 (grub_xfs_data): Remove inode field.
2676 (grub_xfs_inode_block): Calculate inode size using sblock.
2677 (grub_xfs_inode_offset): Likewise.
2678 (grub_xfs_read_inode): Calculate inode size using sblock.
2679 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
2680 (grub_xfs_iterate_dir): Calculate inode size using sblock.
2681 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
2682 to match inode size.
2683 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
2684 not accessible when data is null.
2685 (grub_xfs_open): Likewise.
2686
f45d6cfc 26872009-07-31 Bean <bean123ch@gmail.com>
2688
2689 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
2690 Don't change pv->disk if it's already set.
2691
2692 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
2693 (grub_raid_register): ... here.
2694 (grub_raid_rescan): Removed.
2695
2696 * include/grub/raid.h (grub_raid_rescan): Removed.
2697
2698 * util/grub-fstest.c: Remove include file <grub/raid.h>.
2699 (fstest): Replace grub_raid_rescan with module fini function followed
2700 by init function.
2701
2702 * util/grub-probe.c: Add include file <grub/raid.h>.
2703 (probe_raid_level): New function.
2704 (probe): Detect abstraction by walking the disk device, support two
2705 level of abstraction (LVM on RAID) when detecting partition map.
2706
24443b5a 27072009-07-31 Pavel Roskin <proski@gnu.org>
2708
2709 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
2710 to grub_zalloc(), it was erroneous.
2711 Reported by Bean <bean123ch@gmail.com>
2712
a275d9e7 27132009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 2716 embedding zone, not only the first one.
a275d9e7 2717
56c5a47f 27182009-07-29 Joe Auricchio <jauricchio@gmail.com>
2719
2720 * term/gfxterm.c (clear_char): New function.
2721 (grub_virtual_screen_setup): Use clear_char.
2722 (scroll_up): Likewise.
2723 (grub_virtual_screen_cls): Likewise.
2724
67bb323a 27252009-07-29 Felix Zielcke <fzielcke@z-51.de>
2726
2727 * util/deviceiter.c (get_acceleraid_disk_name): New static
2728 function.
2729 (grub_util_iterate_devices): Handle Accelraid devices.
2730 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
2731
388a7c75 27322009-07-28 Robert Millan <rmh.grub@aybabtu.com>
2733
2734 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
2735 separator for the suggested gfxpayload string (';' collides with the
2736 parser and needs escaping).
2737
3bb7abcf 27382009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
2741 Clear direction flag before jumping to OS.
2742 (grub_multiboot2_real_boot): Likewise.
2743
2ddd36d7 27442009-07-28 Felix Zielcke <fzielcke@z-51.de>
2745
2746 * util/i386/pc/grub-install: Fix parsing of --disk-module
2747 option.
2748
c521b62b 27492009-07-28 Felix Zielcke <fzielcke@z-51.de>
2750
2751 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
2752 when embedding.
2753
880e0a0c 27542009-07-26 Felix Zielcke <fzielcke@z-51.de>
2755
2756 * util/grub-mkconfig.in (package_version): New variable.
2757 Use it do display the version.
2758
2366e356 27592009-07-25 Felix Zielcke <fzielcke@z-51.de>
2760
2761 * kern/file.c (grub_file_open): Revert to previous check with
2762 grub_errno.
2763
7ad8c80e 27642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
2767 from help line. It's out of sync with code.
2768
72b9658b 27692009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
2772 entries on failed boot.
2773
77435277 27742009-07-25 Felix Zielcke <fzielcke@z-51.de>
2775
2776 * kern/file.c (grub_file_open): Fix an error check.
2777
fcaa8b21 27782009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
2779
35d16c74 2780 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
2781 partition map couldn't be identified.
fcaa8b21 2782
48904cd1 27832009-07-23 Pavel Roskin <proski@gnu.org>
2784
ef3c317f 2785 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
2786 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
2787 case of little endian words becomes just an optimization.
2788 Respect const modifier.
ad8ea1f4 2789 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 2790
48904cd1 2791 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
2792 to avoid loss of upper bits if align is unsigned and shorter
2793 than addr.
2794
260c9a89 27952009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 UUID support for UFS
2798
2799 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
2800 (grub_ufs_uuid): New function.
2801 (grub_ufs_fs): add .uuid
2802
f76ce889 28032009-07-21 Pavel Roskin <proski@gnu.org>
2804
2805 * kern/dl.c (grub_dl_check_header): Make static.
2806
6a6cbcaf 28072009-07-21 Felix Zielcke <fzielcke@z-51.de>
2808
2809 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
2810 add drivemap for Vista. It breaks Windows 7.
2811
cffcddb2 28122009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
2815 128 bytes
2816
1ef44b80 28172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Add BFS support
2820
2821 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
2822 (grub_fstest_SOURCES): Likewise.
2823 (pkglib_MODULES): Add befs.mod.
2824 (befs_mod_SOURCES): New variable.
2825 (befs_mod_CFLAGS): Likewise.
2826 (befs_mod_LDFLAGS): Likewise.
2827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
2828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2830 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2831 (grub_setup_SOURCES): Likewise.
2832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2834 (grub_setup_SOURCES): Likewise.
2835 * fs/befs.c: New file.
2836 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
2837 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
2838 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
2839 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
2840 (B_KEY_INDEX_ALIGN): New declaration.
2841 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
2842 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
2843 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
2844 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
2845 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
2846 (grub_afs_mount) [MODE_BFS]: Likewise.
2847 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
2848 (grub_afs_fs): Use GRUB_AFS_FSNAME
2849 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
2850 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
2851 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
2852 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
2853
4f253044 28542009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
2855
2856 * util/getroot.c (find_root_device): Add support for MacOSX.
2857 * util/hostdisk.c: Likewise.
2858
57a55913 28592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * font/font.c (find_glyph): Check whether a font is present to avoid
2862 segmentation fault.
75421ca9 2863
28642009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 2865
2866 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
2867
e98cd0c2 28682009-07-20 Pavel Roskin <proski@gnu.org>
2869
2870 * configure.ac: Trim excessively wordy excuses.
2871
1d2d169a 28722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 Add symlink, mtime and label support to AtheFS.
2875
2876 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
2877 (grub_afs_iterate_dir): Handle symlinks.
2878 (grub_afs_open): Use grub_afs_read_symlink.
2879 (grub_afs_dir): Likewise.
2880 Pass mtime.
2881 (grub_afs_label): New function.
2882 (grub_afs_fs): Add grub_afs_label.
2883 (grub_afs_read_symlink): New function.
2884
186f3189 28852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 Fix AtheFS support.
2888
2889 * fs/afs.c: Fix comments style.
2890 (grub_afs_blockrun): Declare as packed.
2891 (grub_afs_datastream): Likewise.
2892 (grub_afs_bnode): Likewise.
2893 (grub_afs_btree): Likewise.
2894 (grub_afs_sblock): Likewise.
2895 Declare `name' as char.
2896 (grub_afs_inode): Declare as packed.
2897 Change void *vnode to grub_uint32_t unused.
2898 (grub_afs_iterate_dir): Check that key_size is positive.
2899 (grub_afs_mount): Don't read superblock twice.
75421ca9 2900 (grub_afs_dir): Don't free node in case of error,
186f3189 2901 grub_fshelp_find_file already handles this.
2902 (grub_afs_open): Likewise.
2903
5680109e 29042009-07-19 Pavel Roskin <proski@gnu.org>
2905
2906 * Makefile.in: Remove LIBLZO and enable_lzo.
2907 * conf/i386-pc.rmk: Remove lzo support.
2908 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
2909 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
2910 support.
2911 * kern/i386/pc/lzo1x.S: Remove.
2912 * kern/i386/pc/startup.S: Remove lzo support.
2913 * util/i386/pc/grub-mkimage.c: Likewise.
2914
ac70fa32 29152009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
2918 * fs/xfs.c (grub_xfs_dir): Likewise.
2919 * fs/afs.c (grub_afs_dir): Likewise.
2920 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2921 (grub_iso9660_open): Likewise.
2922 * fs/jfs.c (grub_jfs_open): Likewise.
2923 * fs/ext2.c (grub_ext2_dir): Likewise.
2924 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
2925 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 2926
eab58da2 29272009-07-16 Pavel Roskin <proski@gnu.org>
2928
d2838156 2929 * configure.ac: Never add "-c" to CFLAGS.
2930
55c70904 2931 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
2932
43e6200c 2933 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
2934 grub_cv_cc_efiemu should be used.
2935
ce7a733d 2936 * configure.ac: Typo fixes.
2937
eab58da2 2938 * kern/mm.c (grub_zalloc): New function.
2939 (grub_debug_zalloc): Likewise.
2940 * include/grub/mm.h: Declare grub_zalloc() and
2941 grub_debug_zalloc().
2942 * util/misc.c (grub_zalloc): New function.
2943 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
2944 instead of grub_malloc(), remove unneeded initializations.
2945 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
2946 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
2947 * commands/parttool.c (grub_cmd_parttool): Likewise.
2948 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
2949 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
2950 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
2951 * disk/usbms.c (grub_usbms_finddevs): Likewise.
2952 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
2953 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
2954 (grub_cmd_efiemu_pnvram): Likewise.
2955 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
2956 * fs/iso9660.c (grub_iso9660_mount): Likewise.
2957 (grub_iso9660_iterate_dir): Likewise.
2958 * fs/jfs.c (grub_jfs_opendir): Likewise.
2959 * fs/ntfs.c (list_file): Likewise.
2960 (grub_ntfs_mount): Likewise.
2961 * kern/disk.c (grub_disk_open): Likewise.
2962 * kern/dl.c (grub_dl_load_core): Likewise.
2963 * kern/elf.c (grub_elf_file): Likewise.
2964 * kern/env.c (grub_env_context_open): Likewise.
2965 (grub_env_set): Likewise.
2966 (grub_env_set_data_slot): Likewise.
2967 * kern/file.c (grub_file_open): Likewise.
2968 * kern/fs.c (grub_fs_blocklist_open): Likewise.
2969 * loader/i386/multiboot.c (grub_module): Likewise.
2970 * loader/xnu.c (grub_xnu_create_key): Likewise.
2971 (grub_xnu_create_value): Likewise.
2972 * normal/main.c (grub_normal_add_menu_entry): Likewise.
2973 (read_config_file): Likewise.
2974 * normal/menu_entry.c (make_screen): Likewise.
2975 * partmap/sun.c (sun_partition_map_iterate): Likewise.
2976 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
2977 * script/sh/script.c (grub_script_parse): Likewise.
2978 * video/bitmap.c (grub_video_bitmap_create): Likewise.
2979 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2980 * video/readers/png.c (grub_png_output_byte): Likewise.
2981 (grub_video_reader_png): Likewise.
2982
830afef7 29832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 2984
2985 Enable all targets that can be built by default
2986
830afef7 2987 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 2988 grub-mkfont and grub-fstest if they can be built
2989
ee293aee 29902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 Fix hang and segmentation fault in grub-emu-usb
2993
2994 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
2995 * util/usb.c (grub_libusb_devices): likewise
2996 (grub_libusb_init): rename to ...
2997 (GRUB_MOD_INIT (libusb)):...this
2998 (grub_libusb_fini): rename to ..
2999 (GRUB_MOD_FINI (libusb)):...this
3000 * disk/usbms.c (grub_usbms_transfer): fix retry logic
3001 * include/grub/disk.h (grub_raid_init): removed, it's useless
3002 (grub_raid_fini): likewise
3003 (grub_lvm_init): likewise
3004 (grub_lvm_fini): likewise
3005 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
3006 by grub_init_all
3007
94414221 30082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 Fix libusb
3011
3012 * Makefile.in (LIBUSB): new macro
3013 * genmk.rb (Utility/print_tail): new method
3014 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
3015 (top level): call util.print_tail at the end.
3016
59ade63d 30172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 Make FreeBSD accept zpool.cache
3020
3021 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
3022 type is /boot/zfs/zpool.cache
3023
a58da8c7 30242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Fix 64-bit efiemu
3027
3028 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
3029 correct wrong typedef
3030 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
3031
20591577 30322009-07-15 Pavel Roskin <proski@gnu.org>
3033
560ca572 3034 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
3035 * kern/disk.c (struct grub_disk_cache): Likewise.
3036
e8e8e4fd 3037 * commands/probe.c (options): Typo fix.
3038
fde24e10 3039 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
3040 Increase to 0x5a to accommodate FAT32. Adjust other offsets
3041 accordingly.
3042 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
3043
379c54c1 3044 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
3045 the end of "Error" to make the message more readable.
3046
7bd8f5bf 3047 * boot/i386/pc/boot.S (kernel_segment): Remove.
3048 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
3049 for destination.
3050
40b132c5 3051 * boot/i386/pc/boot.S (boot_version): Remove.
3052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3053 Remove.
3054
20591577 3055 * include/grub/i386/pc/boot.h: Sort all offsets.
3056 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
3057 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
3058 * boot/i386/pc/boot.S: Assert location of every offset listed in
3059 include/grub/i386/pc/boot.h.
3060
2df32b2c 30612009-07-13 Pavel Roskin <proski@gnu.org>
3062
44b5d879 3063 * include/grub/i386/coreboot/machine.h: Rename
3064 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
3065 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
3066 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
3067
17dc3751 3068 * kern/dl.c: Force native word size to suppress warnings when
3069 compiling grub-emu.
3070
2df32b2c 3071 * kern/device.c (grub_device_iterate): Change struct part_ent to
3072 hold the name, not a pointer to it. Use one grub_malloc() per
3073 partition, not two. Free partition_name if grub_malloc() fails.
3074 Set ents to NULL only before grub_partition_iterate() is called.
3075
75c59f59 30762009-07-11 Bean <bean123ch@gmail.com>
3077
3078 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
3079 childname.
3080
0ae1bf88 30812009-07-10 Bean <bean123ch@gmail.com>
30822009-07-10 Robert Millan <rmh.grub@aybabtu.com>
3083
3084 * kern/ieee1275/openfw.c (grub_children_iterate)
3085 (grub_devalias_iterate): Fix size evaluation for property or path
3086 strings, which was broken since r2132.
3087
8279cade 30882009-07-07 Pavel Roskin <proski@gnu.org>
3089
7d8a52d3 3090 * commands/search.c (search_file): Merge into ...
3091 (search_fs): ... this. Accept search type as argument.
3092 (grub_cmd_search): Pass search type to search_fs().
3093
25f9a05a 3094 * include/grub/util/console.h: New file.
3095 * util/console.c: Use it instead of grub/machine/console.h.
3096 * util/grub-emu.c: Likewise.
3097
8279cade 3098 * lib/arg.c (find_long_option): Remove.
3099 (find_long): Add `len' argument, make `s' const char *.
3100 (grub_arg_parse): Parse long options in place, not in a
3101 temporary buffer.
3102
4a11b60f 31032009-07-06 Pavel Roskin <proski@gnu.org>
3104
99f68041 3105 * commands/search.c (search_fs): Fix potential NULL pointer
3106 dereference.
3107
4a11b60f 3108 * commands/search.c (search_fs): Replace QUID macro with quid_fn
3109 function pointer.
3110
e110f4de 31112009-07-06 Daniel Mierswa <impulze@impulze.org>
3112
3113 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
3114 comparison.
3115
46eeb6a2 31162009-07-05 Pavel Roskin <proski@gnu.org>
3117
bab74958 3118 * include/grub/i386/linux.h (struct linux_kernel_params):
3119 Restore padding3, it's still needed.
3120
46eeb6a2 3121 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
3122 FreeBSD.
3123 * util/osdetect.lua: Likewise.
3124
b4a1dc79 31252009-07-05 Bean <bean123ch@gmail.com>
3126
3127 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
3128
3129 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
3130 (grub_lua_getenv): Likewise.
3131 (grub_lua_setenv): Likewise.
3132 (save_errno): New function.
3133 (push_result): Likewise.
3134 (grub_lua_enum_device): Likewise.
3135 (grub_lua_enum_file): Likewise.
3136 (grub_lua_file_open): Likewise.
3137 (grub_lua_file_close): Likewise.
3138 (grub_lua_file_seek): Likewise.
3139 (grub_lua_file_read): Likewise.
3140 (grub_lua_file_getline): Likewise.
3141 (grub_lua_file_getsize): Likewise.
3142 (grub_lua_file_getpos): Likewise.
3143 (grub_lua_file_eof): Likewise.
3144 (grub_lua_file_exist): Likewise.
3145 (grub_lua_add_menu): Likewise.
3146
3147 * script/lua/grub_lua.h (isupper): New inline function.
3148 (islower): Likewise.
3149 (ispunct): Likewise.
3150 (isxdigit): Likewise.
3151 (strcspn): Change to normal function.
3152 (strpbkr): New function declaration.
3153 (memchr): Likewise.
3154
3155 * script/lua/grub_main.c (scan_str): New function.
3156 (strcspn): Likewise.
3157 (strpbrk): Likewise.
3158 (memchr): Likewise.
3159
3160 * script/lua/linit.c (lualibs): Enable the string library.
3161
3162 * util/osdetect.lua: New file.
3163
2da92295 31642009-07-04 Robert Millan <rmh.grub@aybabtu.com>
3165
3166 * include/grub/i386/linux.h (struct linux_kernel_params): Add
3167 `capabilities' member.
3168
b2582ec9 31692009-07-02 Pavel Roskin <proski@gnu.org>
3170
3171 * genparttoollist.sh: Add missing newline at the end.
3172
32622956 31732009-07-01 Pavel Roskin <proski@gnu.org>
3174
87a7339e 3175 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
3176
d23af54e 3177 * util/hostdisk.c (open_device): Remove `const' from
3178 `sysctl_size', as sysctlbyname() can change it (in this case it
3179 doesn't actually happen).
3180
c94b18a9 3181 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
3182 using signed long int constants.
3183
c6cd3ef0 3184 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
3185 constant to avoid a warning on FreeBSD.
3186
0df63420 3187 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
3188 where it's needed.
3189
999577f1 3190 * Makefile.in: Install include/grub/machine symlink.
3191
6f41557f 3192 * Makefile.in: When installing symlinks, use "cp -fR", which
3193 works on FreeBSD and MacOSX.
3194 From Yves Blusseau <cl7m42e02@sneakemail.com>
3195
c8d22988 3196 * kern/dl.c (grub_dl_resolve_symbol): Make static.
3197 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
3198
1b96e952 3199 * util/misc.c: Move grub_reboot() and grub_halt() ...
3200 * util/grub-emu.c: ... here. Make main_env static.
3201 * include/grub/util/misc.h: Remove main_env.
3202
2ef0084d 3203 * kern/mm.c: Use correct format to print size_t.
3204
32622956 3205 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
3206 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
3207 * kern/powerpc/dl.c: Likewise.
3208 * kern/sparc64/dl.c: Likewise.
3209 * kern/x86_64/dl.c: Likewise.
3210
3f7f0cd0 32112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3212
3213 Fix grub-emu build on sparc64-ieee1275.
3214
75421ca9 3215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 3216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
3217
211d06b5 32182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3219
3220 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
3221 (grub_reboot, grub_halt): New functions.
3222
3223 * util/i386/pc/misc.c: Delete. Update all users.
3224 * util/sparc64/ieee1275/misc.c: Likewise.
3225 * util/powerpc/ieee1275/misc.c: Likewise.
3226
aaf53e3c 32272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3228
3229 * conf/i386.rmk (setjmp_mod_SOURCES)
3230 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
3231 * conf/common.rmk (setjmp_mod_SOURCES)
3232 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
3233 to use $(target_cpu).
3234 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
3235 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
3236 * conf/powerpc-ieee1275.rmk: Likewise.
3237 * conf/sparc64-ieee1275.rmk: Likewise.
3238
3239 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
3240 $(target_cpu) for kern/$(target_cpu)/dl.c.
3241 * conf/i386-efi.rmk: Likewise.
3242 * conf/i386-ieee1275.rmk: Likewise.
3243 * conf/x86_64-efi.rmk: Likewise.
3244 * conf/i386-coreboot.rmk: Likewise.
3245 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
3246 $(target_cpu) for kern/$(target_cpu)/dl.c and for
3247 kern/$(target_cpu)/cache.S.
3248 * conf/sparc64-ieee1275.rmk: Likewise.
3249
a337130b 32502009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3251
3252 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
3253 type to `grub_uint8_t', and adjust `padding9' accordingly.
3254
c6fe4d53 32552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3256
b09db61d 3257 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
3258
c6fe4d53 3259 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
3260 assembly in final jump, using register constraints.
3261
b09db61d 3262 (grub_linux_boot): For text mode, initialize `have_vga' using
3263 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
3264
3265 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
3266 right before the final jump.
3267
3268 Set `video_mode' to 0x3.
3269
3270 Document initialization of `video_page', `video_mode' and
3271 `video_ega_bx'.
3272
28333ad0 32732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3274
3275 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
3276 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 3277 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 3278
02164e1b 32792009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3280
3281 Fix build on Debian / sparc.
3282
3283 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
3284
18b6c557 32852009-06-28 Pavel Roskin <proski@gnu.org>
3286
85f2aab6 3287 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
3288 fix a warning.
3289
18b6c557 3290 * util/grub.d/10_linux.in: Match SUSE style initrd names.
3291
ad760f81 32922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3293
3294 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
3295 `err'.
3296
87a4623b 32972009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3298
3299 Revert r2338.
3300
3301 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
3302 file can't be opened. grub_file_open() is already supposed to set
75421ca9 3303 grub_errno / grub_errmsg appropriately.
87a4623b 3304 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3305
8231fb77 33062009-06-27 Pavel Roskin <proski@gnu.org>
33072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3308
3309 * include/grub/dl.h: Include grub/elf.h.
3310 (struct grub_dl): Add symtab field.
3311 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
3312 GRUB_MODULES_MACHINE_READONLY.
3313 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
3314 of the header for read-only modules.
3315 (grub_dl_unload): Free mod->symtab for read-only modules.
3316 * kern/i386/dl.c: Use mod->symtab.
3317 * kern/powerpc/dl.c: Likewise.
3318 * kern/sparc64/dl.c: Likewise.
3319 * kern/x86_64/dl.c: Likewise.
3320
3321 * conf/i386-qemu.rmk: New file.
3322 * kern/i386/qemu/startup.S: Likewise.
3323 * kern/i386/qemu/mmap.c: Likewise.
3324 * boot/i386/qemu/boot.S: Likewise.
3325 * include/grub/i386/qemu/time.h: Likewise.
3326 * include/grub/i386/qemu/serial.h: Likewise.
3327 * include/grub/i386/qemu/kernel.h: Likewise.
3328 * include/grub/i386/qemu/console.h: Likewise.
3329 * include/grub/i386/qemu/boot.h: Likewise.
3330 * include/grub/i386/qemu/init.h: Likewise.
3331 * include/grub/i386/qemu/machine.h: Likewise.
3332 * include/grub/i386/qemu/loader.h: Likewise.
3333 * include/grub/i386/qemu/memory.h: Likewise.
3334
3335 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
3336 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
3337 [qemu] (pkglib_IMAGES): Add `boot.img'.
3338 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
3339 [qemu] (boot_img_FORMAT): New variables.
3340 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
3341 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
3342 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
3343 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3344 [qemu] (kernel_img_FORMAT): New variables.
3345
3346 * configure.ac: Recognise `i386-qemu'.
3347
3348 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
3349 (for no compression).
3350 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
3351 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
3352 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
3353 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
3354 ifdefs).
3355
97fe384e 33562009-06-27 Pavel Roskin <proski@gnu.org>
3357
3358 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
3359 read.
3360 * efiemu/prepare32.c: Likewise.
3361 * efiemu/prepare64.c: Likewise.
3362
c402ab17 33632009-06-26 Pavel Roskin <proski@gnu.org>
3364
3365 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
3366 * include/grub/elf.h: Define symbols without "32" or "64" based
3367 on GRUB_TARGET_WORDSIZE.
3368 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
3369 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
3370 ELF definitions.
3371 * efiemu/loadcore64.c: Likewise.
3372 * loader/i386/bsd32.c: Likewise.
3373 * loader/i386/bsd64.c: Likewise.
3374 * kern/dl.c: Remove own ELF definitions.
3375 * util/i386/efi/grub-mkimage.c: Likewise.
3376
9bbdfd4d 33772009-06-23 Robert Millan <rmh.grub@aybabtu.com>
3378
3379 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
3380 segment 0x0 unconditionally, because the reference generated by
3381 GAS is an absolute address.
3382
a42ce6e9 33832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3384
3385 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
3386 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
3387
c952cf92 33882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3389
3390 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
3391 indexes. Check for -f explicitly.
cc3752ad 3392 (search_file): Improve error message.
3393 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 3394
132a0a59 33952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3396
3397 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
3398 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
3399
387a140c 34002009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3401
3402 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
3403 * conf/i386-ieee1275.rmk: Likewise.
3404 * conf/i386-coreboot.rmk: Likewise.
3405
3406 * kern/i386/pc/startup.S (grub_stop): Remove function.
3407 * kern/i386/ieee1275/startup.S: Likewise.
3408 * kern/i386/coreboot/startup.S: Likewise.
3409 * kern/i386/misc.S (grub_stop): New function.
3410
41da9665 34112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3412
3413 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
3414 * kern/i386/realmode.S (real_to_prot): ... to here.
3415
bf337234 34162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3417
3418 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
3419 with `kernel.img'.
3420 (kernel_elf_SOURCES): Rename to ...
3421 (kernel_img_SOURCES): ... this.
3422 (kernel_elf_HEADERS): Rename to ...
3423 (kernel_img_HEADERS): ... this. Update all users.
3424 (kernel_elf_ASFLAGS): Rename to ...
3425 (kernel_img_ASFLAGS): ... this.
3426 (kernel_elf_CFLAGS): Rename to ...
3427 (kernel_img_CFLAGS): ... this.
3428 (kernel_elf_LDFLAGS): Rename to ...
3429 (kernel_img_LDFLAGS): ... this.
3430 * conf/i386-coreboot.rmk: Likewise.
3431 * conf/powerpc-ieee1275.rmk: Likewise.
3432
3433 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
3434 with "kernel.img".
3435
f52196ff 34362009-06-21 Pavel Roskin <proski@gnu.org>
3437
c3cee413 3438 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
3439 to match nested functions.
3440 * loader/sparc64/ieee1275/linux.c: Likewise.
3441
f52196ff 3442 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
3443
58750afc 34442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3445
3446 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
3447 all i386 platforms.
3448
15355c7d 34492009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3450
3451 Fix asm file handling on ELF, and remove workarounds.
3452
3453 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 3454 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 3455 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
3456 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
3457
3f3ec72b 34582009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Load BSD ELF modules
3461
3462 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
3463 and loader/i386/bsd64.c
3464 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
3465 (FREEBSD_MODTYPE_ELF_MODULE): New definition
3466 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
3467 (grub_freebsd_load_elfmodule32): New declaration
3468 (grub_freebsd_load_elfmoduleobj64): Likewise
3469 (grub_freebsd_load_elf_meta32): Likewise
3470 (grub_freebsd_load_elf_meta64): Likewise
3471 (grub_freebsd_add_meta): Likewise
3472 (grub_freebsd_add_meta_module): Likewise
3473 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
3474 (grub_freebsd_add_meta_module): Likewise and move module-specific
3475 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
3476 (grub_cmd_freebsd): Add elf-kernel specific parts
3477 based on grub_freebsd_add_meta_module
3478 (grub_cmd_freebsd_module): Add type parsing moved from
3479 grub_freebsd_add_meta_module
3480 (grub_cmd_freebsd_module_elf): New function
3481 (cmd_freebsd_module_elf): New variable
3482 (GRUB_MOD_INIT): Register freebsd_module_elf
3483 * loader/i386/bsd32.c: New file
3484 * loader/i386/bsd64.c: Likewise
3485 * loader/i386/bsdXX.c: Likewise
3486 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
3487 (grub_elf64_load): Likewise
3488 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
3489 All users updated
3490 (grub_elf64_load_hook_t): Likewise
3491
0db15301 34922009-06-21 Colin Watson <cjwatson@ubuntu.com>
3493
3494 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
3495 variable.
3496 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
3497 don't write a menu entry for recovery mode.
3498
546796c1 34992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3500
3501 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
3502 after it's no longer needed.
3503
cd7310d5 35042009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3505
3506 * include/grub/i386/loader.h (grub_linux_prot_size)
3507 (grub_linux_tmp_addr, grub_linux_real_addr)
3508 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
3509 GRUB_MACHINE_PCBIOS.
3510 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
3511 common grub_util_info() call to ...
3512 (generate_image): ... here.
3513 Fix use of uninitialized memory, comparison of signed with
3514 unsigned integers and memory leak.
3515 Remove bogus module address message.
3516
ab32d3b5 35172009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
3520 grub_raid_register
3521 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
3522
024ef597 35232009-06-19 Pavel Roskin <proski@gnu.org>
3524
3525 * configure.ac: Remove stray AC_MSG_CHECKING.
3526
3ac72b51 35272009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 3530
e14cd814 35312009-06-18 Pavel Roskin <proski@gnu.org>
3532
3533 * conf/common.rmk: Add fs_file.mod.
3534 * disk/fs_file.c: New file.
3535 * include/grub/disk.h (enum grub_disk_dev_id): Add
3536 GRUB_DISK_DEVICE_FILE_ID.
3537
26586d98 35382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 Fix build with Apple's toolchain. Part 2
3541
3542 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
3543 a fake start
3544
26de2bcd 35452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Fix build with Apple's toolchain. Part 1
3548
3549 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
3550 for long calls
3551 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 3552 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 3553 Apple's toolchain
3554
09b3490b 35552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 Fix warnings
3558
3559 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
3560 (decomp_block): initialize ch
3561 use grub_memcpy instead of memcpy
3562
c22a006a 35632009-06-17 Pavel Roskin <proski@gnu.org>
3564
d3638678 3565 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
3566 version, use declarations needed to use vga_text as the startup
3567 console.
3568
c22a006a 3569 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
3570 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
3571 the kernel.
3572 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
3573 and grub_at_keyboard_fini(), it's done on module load and
3574 unload.
3575
05b129e0 35762009-06-17 Felix Zielcke <fzielcke@z-51.de>
3577
3578 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
3579 file can't be found.
3580 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3581
cf24ed9e 35822009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 Fix newline handling
3585
3586 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 3587 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 3588 (grub_script_yylex): don't segfault on unterminated script
3589 newline terminates command and variable
3590
74aa8e4b 35912009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 avoid double grub_adjust_range call. Bug reported by David Simner
3594
3595 * kern/disk.c (grub_disk_write): change to raw disk access before
3596 calling disk_read
3597
1bd265f3 35982009-06-17 Colin Watson <cjwatson@ubuntu.com>
3599
3600 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
3601 spaces, for the benefit of help2man.
3602 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3603
a2d08c06 36042009-06-16 Pavel Roskin <proski@gnu.org>
3605
3606 * kern/i386/halt.c: Include grub/machine/init.h.
3607 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
3608
b97bcb19 36092009-06-16 Felix Zielcke <fzielcke@z-51.de>
3610
3611 * util/grub.d/30_os-prober.in: Use ${root} in the generated
3612 drivemap menuentry.
3613
0644f96c 36142009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
3615
3616 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
3617 `echo' command.
3618
3ef17a2e 36192009-06-16 Pavel Roskin <proski@gnu.org>
3620
3621 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
3622 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
3623 save %dx, we only need %dl and we never change it.
3624 * boot/i386/pc/cdboot.S: Don't set the root drive.
3625 * boot/i386/pc/pxeboot.S: Likewise.
3626 * include/grub/i386/pc/boot.h: Remove
3627 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
3628 GRUB_BOOT_MACHINE_DRIVE_CHECK.
3629 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
3630 * kern/i386/pc/init.c (make_install_device): Remove references
3631 to grub_root_drive.
3632 * kern/i386/pc/startup.S: Likewise.
3633 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
3634
693fe637 36352009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 xnu_uuid command
3638
3639 * commands/xnu_uuid.c: new file
3640 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
3641 (xnu_uuid_mod_SOURCES): new variable
3642 (xnu_uuid_mod_CFLAGS): likewise
3643 (xnu_uuid_mod_LDFLAGS): likewise
3644 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3645 * conf/i386-ieee1275.rmk: likewise
3646 * conf/i386-pc.rmk: likewise
3647 * conf/powerpc-ieee1275.rmk: likewise
3648 * conf/sparc64-ieee1275.rmk: likewise
3649 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
3650
c9da87d0 36512009-06-16 Pavel Roskin <proski@gnu.org>
3652
3653 * configure.ac: Avoid '==' in test command, it's not portable.
3654
9c6f4596 36552009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 Probe command
3658
3659 * commands/probe.c: new file
3660 * conf/common.rmk (pkglib_MODULES): add probe.mod
3661 (probe_mod_SOURCES): new variable
3662 (probe_mod_CFLAGS): likewise
3663 (probe_mod_LDFLAGS): likewise
3664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3665 * conf/i386-ieee1275.rmk: likewise
3666 * conf/i386-pc.rmk: likewise
3667 * conf/powerpc-ieee1275.rmk: likewise
3668 * conf/sparc64-ieee1275.rmk: likewise
3669
70b7f9fd 36702009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 Fix handling of string like \"hello\" and "a
3673 b"
3674
3675 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
3676 (grub_script_yylex): fix parsing of quoting, escaping and newline
3677
71c79a6b 36782009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3679
dd74360c 3680 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 3681 handling
dd74360c 3682
0644f96c 36832009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 3684
3685 * util/grub-mkconfig.in: Fix parsing of --output option.
3686
e40893c3 36872009-06-12 Pavel Roskin <proski@gnu.org>
3688
3689 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
3690 genmk.rb don't need to be generated or installed.
3691
3a1acfe2 36922009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * commands/i386/pc/drivemap_int13h.S: add more comments
3695
3a4575d4 36962009-06-11 Pavel Roskin <proski@gnu.org>
3697
0658e928 3698 * Makefile.in (uninstall): Uninstall manuals.
3699
ca0388f0 3700 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
3701 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
3702 and update-grub_lib in two places.
3703 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
3704
e3b27c39 3705 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
3706 a compiler warning.
3707
3a4575d4 3708 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
3709 `entry_lo' to fix variable shadowing.
3710
af1f4f55 37112009-06-11 Christian Franke <franke@computer.org>
3712
3713 * kern/misc.c (__enable_execute_stack): Add missing return type
3714 to prevent gcc warning.
3715
5225e649 37162009-06-11 Felix Zielcke <fzielcke@z-51.de>
3717
3718 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
3719
7d83bd47 37202009-06-11 Pavel Roskin <proski@gnu.org>
3721
c1cb63ba 3722 * Makefile.in: Don't rely on any scripts being executable.
3723 Always use $(SHELL) to run shell scripts.
3724
7d83bd47 3725 * configure.ac: Always define ___main if using -nostdlib. This
3726 fixes tests on Cygwin.
3727
948f48e7 37282009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
3729
3730 UDF fix
3731
7d83bd47 3732 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 3733 is in bytes and not in blocks
7d83bd47 3734
8ada9bc1 37352009-06-11 Pavel Roskin <proski@gnu.org>
3736
3737 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
3738 warning.
3739
25ad2323 37402009-06-11 Felix Zielcke <fzielcke@z-51.de>
3741
3742 * util/grub.d/30_os-prober.in: Fix a comment. Source
3743 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
3744 to set the root device. Place drivemap command in the generated
3745 chain entry.
3746
e65acb0c 37472009-06-11 Pavel Roskin <proski@gnu.org>
3748
3749 * configure.ac: Remove host_m32. Issues with 64-bit utilities
3750 have long been resolved.
3751
f285fe2d 37522009-06-11 Colin Watson <cjwatson@ubuntu.com>
3753
bd47b0b5 3754 * util/grub.d/10_linux.in: Capitalise "Linux".
3755
f285fe2d 3756 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
3757
a0c62e4e 37582009-06-11 Pavel Roskin <proski@gnu.org>
3759
b6783cb2 3760 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
3761 fix a gcc warning and ensure that the function won't ever exit.
3762
dde032e8 3763 * kern/i386/ieee1275/init.c: Add missing prototype for
3764 grub_stop_floppy().
3765
22cd079d 3766 * loader/ieee1275/multiboot2.c [__i386__]: Include
3767 grub/cpu/multiboot.h.
3768
a0c62e4e 3769 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
3770 casts to short - they are not portable and cause warnings. Fix
3771 use of uninitialized values in input_buf. Use ARRAY_SIZE.
3772
63963d17 37732009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Drivemap fixes
3776
3777 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
3778 new function
3779 (grub_get_root_biosnumber_saved): new variable
3780 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
3781 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 3782 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 3783 %dx after the call if necessary
3784 * conf/common.rmk (pkglib_MODULES): remove boot.mod
3785 (boot_mod_SOURCES): remove
3786 (boot_mod_CFLAGS): remove
3787 (boot_mod_LDFLAGS): remove
3788 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
3789 (boot_mod_SOURCES): new variable
3790 (boot_mod_CFLAGS): likewise
3791 (boot_mod_LDFLAGS): likewise
3792 * conf/i386-efi.rmk: likewise
3793 * conf/i386-ieee1275.rmk: likewise
3794 * conf/i386-pc.rmk: likewise
3795 * conf/powerpc-ieee1275.rmk: likewise
3796 * conf/sparc64-ieee1275.rmk: likewise
3797 * conf/x86_64-efi.rmk: likewise
3798 * include/grub/i386/pc/biosnum.h: new file
3799 * lib/i386/pc/biosnum.c: likewise
3800 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
3801 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
3802 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 3803
33abf7ae 38042009-06-10 Pavel Roskin <proski@gnu.org>
3805
5ac35b35 3806 * io/gzio.c (test_header): Don't reuse one buffer for all data.
3807 Use separate variables. Read only the file size at the end, but
3808 not the checksum that we don't use.
3809
5c5215d5 3810 * kern/file.c (grub_file_read): Use void pointer for the buffer.
3811 Adjust all callers.
3812
27d5fef7 3813 * kern/ieee1275/openfw.c: Remove libc includes.
3814 * kern/ieee1275/cmain.c: Likewise.
3815 * include/grub/ieee1275/ieee1275.h: Likewise.
3816
33abf7ae 3817 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
3818 compiler warnings.
3819
19d50c2b 38202009-06-10 Felix Zielcke <fzielcke@z-51.de>
3821
3822 * Makefile.in: Remove all trailing whitespace.
3823 * conf/i386-pc.rmk: Likewise.
3824 * conf/powerpc-ieee1275.rmk: Likewise.
3825 * conf/sparc64-ieee1275.rmk: Likewise.
3826 * docs/grub.texi: Likewise.
3827 * docs/texinfo.tex: Likewise.
3828 * disk/fs_uuid.c: Likewise.
3829 * disk/lvm.c: Likewise.
3830 * disk/scsi.c: Likewise.
3831 * disk/ata.c: Likewise.
3832 * disk/ieee1275/ofdisk.c: Likewise.
3833 * disk/i386/pc/biosdisk.c: Likewise.
3834 * disk/host.c: Likewise.
3835 * disk/raid.c: Likewise.
3836 * disk/efi/efidisk.c: Likewise.
3837 * disk/usbms.c: Likewise.
3838 * disk/memdisk.c: Likewise.
3839 * disk/loopback.c: Likewise.
3840 * kern/powerpc/dl.c: Likewise.
3841 * kern/device.c: Likewise.
3842 * kern/dl.c: Likewise.
3843 * kern/sparc64/dl.c: Likewise.
3844 * kern/ieee1275/ieee1275.c: Likewise.
3845 * kern/term.c: Likewise.
3846 * kern/fs.c: Likewise.
3847 * kern/i386/dl.c: Likewise.
3848 * kern/i386/pc/startup.S: Likewise.
3849 * kern/i386/pc/init.c: Likewise.
3850 * kern/i386/pc/mmap.c: Likewise.
3851 * kern/i386/pc/lzo1x.S: Likewise.
3852 * kern/i386/ieee1275/init.c: Likewise.
3853 * kern/i386/realmode.S: Likewise.
3854 * kern/i386/tsc.c: Likewise.
3855 * kern/partition.c: Likewise.
3856 * kern/corecmd.c: Likewise.
3857 * kern/file.c: Likewise.
3858 * kern/efi/efi.c: Likewise.
3859 * kern/efi/init.c: Likewise.
3860 * kern/efi/mm.c: Likewise.
3861 * kern/main.c: Likewise.
3862 * kern/err.c: Likewise.
3863 * kern/env.c: Likewise.
3864 * kern/disk.c: Likewise.
3865 * kern/generic/millisleep.c: Likewise.
3866 * kern/generic/rtc_get_time_ms.c: Likewise.
3867 * kern/misc.c: Likewise.
3868 * kern/parser.c: Likewise.
3869 * genmk.rb: Likewise.
3870 * configure.ac: Likewise.
3871 * boot/i386/pc/diskboot.S: Likewise.
3872 * boot/i386/pc/pxeboot.S: Likewise.
3873 * boot/i386/pc/boot.S: Likewise.
3874 * boot/i386/pc/lnxboot.S: Likewise.
3875 * boot/i386/pc/cdboot.S: Likewise.
3876 * parttool/pcpart.c: Likewise.
3877 * video/readers/tga.c: Likewise.
3878 * video/video.c: Likewise.
3879 * video/bitmap.c: Likewise.
3880 * lib/envblk.c: Likewise.
3881 * lib/i386/setjmp.S: Likewise.
3882 * fs/xfs.c: Likewise.
3883 * fs/afs.c: Likewise.
3884 * fs/fat.c: Likewise.
3885 * fs/ntfs.c: Likewise.
3886 * fs/udf.c: Likewise.
3887 * fs/affs.c: Likewise.
3888 * fs/iso9660.c: Likewise.
3889 * fs/hfs.c: Likewise.
3890 * fs/fshelp.c: Likewise.
3891 * fs/ext2.c: Likewise.
3892 * fs/jfs.c: Likewise.
3893 * fs/reiserfs.c: Likewise.
3894 * fs/hfsplus.c: Likewise.
3895 * fs/minix.c: Likewise.
3896 * fs/cpio.c: Likewise.
3897 * fs/sfs.c: Likewise.
3898 * fs/ufs.c: Likewise.
3899 * efiemu/prepare.c: Likewise.
3900 * efiemu/loadcore_common.c: Likewise.
3901 * efiemu/runtime/efiemu.sh: Likewise.
3902 * efiemu/runtime/efiemu.S: Likewise.
3903 * efiemu/runtime/efiemu.c: Likewise.
3904 * efiemu/pnvram.c: Likewise.
3905 * efiemu/main.c: Likewise.
3906 * efiemu/i386/pc/cfgtables.c: Likewise.
3907 * efiemu/i386/loadcore64.c: Likewise.
3908 * efiemu/i386/loadcore32.c: Likewise.
3909 * efiemu/loadcore.c: Likewise.
3910 * efiemu/symbols.c: Likewise.
3911 * efiemu/mm.c: Likewise.
3912 * include/grub/autoefi.h: Likewise.
3913 * include/grub/datetime.h: Likewise.
3914 * include/grub/term.h: Likewise.
3915 * include/grub/hfs.h: Likewise.
3916 * include/grub/lvm.h: Likewise.
3917 * include/grub/i386/tsc.h: Likewise.
3918 * include/grub/i386/linux.h: Likewise.
3919 * include/grub/i386/xnu.h: Likewise.
3920 * include/grub/i386/efiemu.h: Likewise.
3921 * include/grub/i386/pc/biosdisk.h: Likewise.
3922 * include/grub/i386/pc/memory.h: Likewise.
3923 * include/grub/i386/pc/vbe.h: Likewise.
3924 * include/grub/parttool.h: Likewise.
3925 * include/grub/video.h: Likewise.
3926 * include/grub/memory.h: Likewise.
3927 * include/grub/fs.h: Likewise.
3928 * include/grub/partition.h: Likewise.
3929 * include/grub/xnu.h: Likewise.
3930 * include/grub/efi/api.h: Likewise.
3931 * include/grub/efi/pe32.h: Likewise.
3932 * include/grub/efi/memory.h: Likewise.
3933 * include/grub/multiboot.h: Likewise.
3934 * include/grub/usbdesc.h: Likewise.
3935 * include/grub/multiboot2.h: Likewise.
3936 * include/grub/acpi.h: Likewise.
3937 * include/grub/efiemu/efiemu.h: Likewise.
3938 * include/grub/disk.h: Likewise.
3939 * include/grub/ieee1275/ieee1275.h: Likewise.
3940 * include/grub/net.h: Likewise.
3941 * include/grub/machoload.h: Likewise.
3942 * include/grub/macho.h: Likewise.
3943 * include/multiboot.h: Likewise.
3944 * genmoddep.awk: Likewise.
3945 * normal/main.c: Likewise.
3946 * normal/menu_entry.c: Likewise.
3947 * normal/menu_viewer.c: Likewise.
3948 * normal/completion.c: Likewise.
3949 * normal/cmdline.c: Likewise.
3950 * normal/misc.c: Likewise.
3951 * normal/datetime.c: Likewise.
3952 * bus/usb/usbtrans.c: Likewise.
3953 * bus/usb/ohci.c: Likewise.
3954 * bus/usb/uhci.c: Likewise.
3955 * bus/usb/usb.c: Likewise.
3956 * mmap/efi/mmap.c: Likewise.
3957 * mmap/i386/pc/mmap_helper.S: Likewise.
3958 * mmap/i386/pc/mmap.c: Likewise.
3959 * mmap/i386/mmap.c: Likewise.
3960 * mmap/i386/uppermem.c: Likewise.
3961 * mmap/mmap.c: Likewise.
3962 * commands/acpi.c: Likewise.
3963 * commands/echo.c: Likewise.
3964 * commands/blocklist.c: Likewise.
3965 * commands/loadenv.c: Likewise.
3966 * commands/usbtest.c: Likewise.
3967 * commands/boot.c: Likewise.
3968 * commands/parttool.c: Likewise.
3969 * commands/search.c: Likewise.
3970 * commands/cat.c: Likewise.
3971 * commands/i386/pc/play.c: Likewise.
3972 * commands/i386/pc/drivemap.c: Likewise.
3973 * commands/i386/pc/vbeinfo.c: Likewise.
3974 * commands/i386/pc/acpi.c: Likewise.
3975 * commands/i386/pc/vbetest.c: Likewise.
3976 * commands/ls.c: Likewise.
3977 * commands/cmp.c: Likewise.
3978 * commands/test.c: Likewise.
3979 * commands/efi/acpi.c: Likewise.
3980 * commands/gptsync.c: Likewise.
3981 * commands/help.c: Likewise.
3982 * partmap/amiga.c: Likewise.
3983 * partmap/apple.c: Likewise.
3984 * partmap/acorn.c: Likewise.
3985 * partmap/pc.c: Likewise.
3986 * partmap/sun.c: Likewise.
3987 * partmap/gpt.c: Likewise.
3988 * script/sh/lexer.c: Likewise.
3989 * script/sh/function.c: Likewise.
3990 * font/font.c: Likewise.
3991 * font/font_cmd.c: Likewise.
3992 * loader/powerpc/ieee1275/linux.c: Likewise.
3993 * loader/efi/chainloader.c: Likewise.
3994 * loader/multiboot_loader.c: Likewise.
3995 * loader/macho.c: Likewise.
3996 * loader/i386/multiboot.c: Likewise.
3997 * loader/i386/linux.c: Likewise.
3998 * loader/i386/pc/linux.c: Likewise.
3999 * loader/i386/pc/multiboot2.c: Likewise.
4000 * loader/i386/pc/chainloader.c: Likewise.
4001 * loader/i386/pc/xnu.c: Likewise.
4002 * loader/i386/bsd_trampoline.S: Likewise.
4003 * loader/i386/efi/linux.c: Likewise.
4004 * loader/i386/multiboot_elfxx.c: Likewise.
4005 * loader/i386/bsd_helper.S: Likewise.
4006 * loader/i386/bsd.c: Likewise.
4007 * loader/i386/linux_trampoline.S: Likewise.
4008 * loader/i386/xnu_helper.S: Likewise.
4009 * loader/i386/xnu.c: Likewise.
4010 * loader/i386/bsd_pagetable.c: Likewise.
4011 * loader/i386/multiboot_helper.S: Likewise.
4012 * loader/xnu.c: Likewise.
4013 * loader/xnu_resume.c: Likewise.
4014 * io/gzio.c: Likewise.
4015 * term/efi/console.c: Likewise.
4016 * term/terminfo.c: Likewise.
4017 * term/ieee1275/ofconsole.c: Likewise.
4018 * term/i386/pc/serial.c: Likewise.
4019 * term/i386/pc/vesafb.c: Likewise.
4020 * term/i386/pc/vga.c: Likewise.
4021 * term/usb_keyboard.c: Likewise.
4022 * term/gfxterm.c: Likewise.
4023 * aclocal.m4: Likewise.
4024 * util/lvm.c: Likewise.
4025 * util/grub.d/30_os-prober.in: Likewise.
4026 * util/grub.d/10_hurd.in: Likewise.
4027 * util/console.c: Likewise.
4028 * util/grub-macho2img.c: Likewise.
4029 * util/grub-probe.c: Likewise.
4030 * util/hostfs.c: Likewise.
4031 * util/i386/pc/grub-mkimage.c: Likewise.
4032 * util/i386/pc/grub-setup.c: Likewise.
4033 * util/i386/efi/grub-mkimage.c: Likewise.
4034 * util/grub-mkconfig.in: Likewise.
4035 * util/raid.c: Likewise.
4036 * util/resolve.c: Likewise.
4037 * util/grub-mkdevicemap.c: Likewise.
4038 * util/grub-emu.c: Likewise.
4039 * util/getroot.c: Likewise.
4040 * util/hostdisk.c: Likewise.
4041 * util/usb.c: Likewise.
4042 * util/grub-editenv.c: Likewise.
4043 * util/misc.c: Likewise.
4044
d2d49665 40452009-06-10 Felix Zielcke <fzielcke@z-51.de>
4046
4047 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
4048 `genparttoollist.sh'.
4049 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
4050 Add `*.sh' to the list find searches for and change `mdate.sh'
4051 to `mdate-sh'.
4052
fe052e37 40532009-06-10 Pavel Roskin <proski@gnu.org>
4054
2763ac18 4055 * include/grub/multiboot2.h: Provide compatibility defines for
4056 multiboot2.h.
4057 * include/multiboot2.h: Include stdint.h only if needed, using
4058 angle brackets.
4059 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
4060 grub/multiboot2.h.
4061 * loader/ieee1275/multiboot2.c: Likewise.
4062 * loader/multiboot2.c: Likewise.
4063 * loader/multiboot_loader.c: Likewise.
4064
437e6adc 4065 * configure.ac: Use -nostdlib when probing for the target. It
4066 should not be required to have libc for the target.
4067
06a6836c 4068 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
4069 they fail without libc headers for the target.
4070 * include/grub/powerpc/libgcc.h: Use weak attribute for all
4071 exports.
4072 * include/grub/sparc64/libgcc.h: Likewise. Don't use
4073 preprocessor conditionals.
4074
fe052e37 4075 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
4076 build system doesn't need to be aware of the tar.c internals.
4077
afd22553 40782009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 4079
afd22553 4080 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 4081
6b787c4f 40822009-06-09 Robert Millan <rmh.grub@aybabtu.com>
4083
4084 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
4085 disk limit to 26 for IDE, Virtio, Xen and SCSI.
4086
40872009-06-09 Felix Zielcke <fzielcke@z-51.de>
4088
4089 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 4090 aren't available if ata.mod gets used.
6b787c4f 4091
473d1e45 40922009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 4093
473d1e45 4094 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 4095 initialising controller.
473d1e45 4096 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 4097
255a27d4 40982009-06-08 Felix Zielcke <fzielcke@z-51.de>
4099
4100 * util/i386/pc/grub-install.in: Add a parameter --disk-module
4101 to choose between ata and biosdisk module on i386-pc.
4102
473d1e45 41032009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 4104
d55842d8 4105 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
4106 Subclass and Programming Interface fields in terms of the 3 byte
4107 Class Code register.
4108 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
4109
fa5db0b1 4110 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
4111 interface is OHCI. Add grub_dprintf for symmetry with
4112 bus/usb/uhci.c.
4113 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
4114 interface is UHCI. Add interf variable for programming
4115 interface. Print interface with class/subclass.
4116
c0947beb 4117 * bus/usb/ohci.c: Set interf with correct field.
4118
69da8877 4119 * bus/usb/uhci.c: Remove unneeded doubled lines.
4120 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
4121 Remove whitespace inside comment.
4122
9e172e30 41232009-06-08 Robert Millan <rmh.grub@aybabtu.com>
4124
4125 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
4126 as fallback an equivalent option without depth.
4127
de65ee2b 41282009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 Not fail if unable to retrieve C/H/S on LBA disks
4131
473d1e45 4132 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 4133 if unable to retrieve C/H/S on LBA disks
4134
b57ea2c9 41352009-06-08 Pavel Roskin <proski@gnu.org>
4136
4137 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
4138 about aliasing.
4139
af361263 41402009-06-08 Felix Zielcke <fzielcke@z-51.de>
4141
4142 * Makefile.in (uninstall): Remove all $lib_DATA files.
4143
4c9ec6b3 41442009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 Bugfix: install on partitionless device
4147
4148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
4149 is a whole disk
4150
e76fc924 41512009-06-08 Felix Zielcke <fzielcke@z-51.de>
4152
4153 * Makefile.in (uninstall): Remove all $include_DATA files.
4154
ba5a0d05 41552009-06-08 Felix Zielcke <fzielcke@z-51.de>
4156
4157 * commands/true.c: New file. Implement the true and false commands.
4158 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
4159 (true_mod_SOURCES): New variable.
4160 (true_mod_CFLAGS): Likewise.
4161 (true_mod_LDFLAGS): Likewise.
4162
c8048e32 41632009-06-05 Colin D Bennett <colin@gibibit.com>
4164
4165 Optimized font character lookup using binary search instead of linear
4166 search. Fonts now are required to have the character index ordered by
4167 code point.
4168
4169 * font/font.c (load_font_index): Verify that fonts have ordered
4170 character indices.
4171 (find_glyph): Use binary search instead of linear search to find a
4172 character in a font.
4173
408305be 41742009-06-05 Michael Scherer <misc@mandriva.org>
4175
4176 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
4177 uses case sensitive btree.
4178 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
4179 only for case insensitive filesystems.
4180
8ee1e0d9 41812009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
4184 * conf/common.rmk (search_mod_CFLAGS): likewise
4185
a9966eb1 41862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4187
473d1e45 4188 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 4189 compensate a compiler bug
4190
9e7100fb 41912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4192
473d1e45 4193 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 4194 instead of '\b'
473d1e45 4195
ede21d71 41962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Definitions for creating asm symbols with Apple's CC
4199
4200 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
4201 [APPLE_CC] (VARIABLE): likewise
4202
9dbf7653 42032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 Disable lnxboot.img when compiled
4206 with Apple's CC
4207
4208 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
4209 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
4210 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
4211 [! APPLE_CC] (CODE_LENG): skip
4212 [! APPLE_CC] (setup_sects): likewise
4213 [! APPLE_CC]: skip filling
473d1e45 4214
e93cdc3d 42152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 Address in trampolines based on 32-bit registers when compiled
4218 with Apple's CC
4219
473d1e45 4220 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 4221 for addresses
4222 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
4223
6c688477 42242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 Avoid aliases when compiling with Apple's CC for PCBIOS machine
4227
4228 * kern/misc.c [APPLE_CC] (memcpy): new function
4229 [APPLE_CC] (memmove): likewise
4230 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 4231 (memcpy): define alias conditionally on !APPLE_CC
6c688477 4232 (memset): likewise
4233 (abort): likewise
4234 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
4235 APPLE_CC are defined
4236 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
4237 (grub_assert_fail): make prototype conditional
4238
e37ffc5c 42392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
4242
473d1e45 4243 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
4244 grub-macho2img
e37ffc5c 4245 (CLEANFILES): add grub-macho2img
4246 (grub_macho2img_SOURCES): new variable
4247 * kern/i386/pc/startup.S (bss_start): new variable
4248 (bss_end): likewise
4249 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
4250 * util/grub-macho2img.c: new file
4251
cf00df31 42522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 Use objconv when compiling with Apple's CC
4255
4256 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
4257 (efiemu64.o): likewise
4258 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
4259 when compiling with Apple's CC
4260 (efiemu64_s.o): likewise
4261 * configure.ac: check for objconv when compiling with Apple's CC
4262 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 4263
d119a20c 42642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 Define segment as well as section when compiling with
4267 Apple's CC
4268
4269 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
4270 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
4271 (efiemu_convert_pointer): likewise
4272 (efiemu_set_virtual_address_map): likewise
4273 (efiemu_convert_pointer): likewise
4274 (efiemu_getcrc32): likewise
4275 (init_crc32_table): likewise
4276 (reflect): likewise
4277 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
4278 (GRUB_MOD_DEP): likewise
473d1e45 4279
c8600122 42802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Allow a compilation without -mcmodel=large
4283
4284 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
4285 when compiled without -mcmodel=large
473d1e45 4286 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 4287 without -mcmodel=large
473d1e45 4288 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 4289 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 4290
e8df1d4e 42912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 Remove nested functions in efiemu core
4294
4295 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 4296
cc6c3ac1 42972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
4300
4301 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
4302 temporary storage
473d1e45 4303 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
4304 using Apple's CC
cc6c3ac1 4305 (grub_cpu_is_tsc_supported): likewise
4306 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 4307
3e325901 43082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 Absolute addressing through constant with Apple's cc
4311
4312 * kern/i386/pc/startup.S: Define necessary constants
4313 and address through it when using ABS with Apple's CC
4314 * boot/i386/pc/diskboot.S: likewise
4315 * boot/i386/pc/boot.S: likewise
4316 * boot/i386/pc/lnxboot.S: likewise
4317 * boot/i386/pc/cdboot.S: likewise
4318 * mmap/i386/pc/mmap_helper.S: likewise
4319 * commands/i386/pc/drivemap_int13h.S: likewise
4320
2b167a72 43212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 Check if compiler is apple cc
4324
4325 * Makefile.in (ASFLAGS): new variable
4326 (TARGET_ASFLAGS): likewise
4327 (TARGET_MODULE_FORMAT): likewise
4328 (TARGET_APPLE_CC): likewise
4329 (OBJCONV): likewise
4330 (TARGET_IMG_CFLAGS): likewise
4331 (TARGET_CPPFLAGS): add includedir
4332 * configure.ac: call grub_apple_cc and grub_apple_target_cc
4333 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
4334 Check for linker script only if compiler isn't Apple's CC
4335 (TARGET_MODULE_FORMAT): set
4336 (TARGET_APPLE_CC): likewise
4337 (TARGET_ASFLAGS): likewise
4338 (ASFLAGS): likewise
4339 Check for objcopy only if compiler isn't Apple's CC
4340 Check for BSS symbol only if compiler isn't Apple's CC
4341 * genmk.rb: adapt nm options if we use Apple's utils
4342 * aclocal.m4 (grub_apple_cc): new test
4343 (grub_apple_target_cc): likewise
473d1e45 4344
fb14123e 43452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Simplify sed expressions and improve awk
4348
4349 * Makefile.in (install-local): simplify sed expression
4350 * gencmdlist.sh: likewise
4351 * genmoddep.awk: avoid adding module as a dependency of itself
4352
5b889789 43532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Add missing start symbols
4356
4357 * boot/i386/pc/boot.S: add start
fb14123e 4358 * boot/i386/pc/pxeboot.S: likewise
473d1e45 4359
fd2bf2e3 43602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 4363
4364 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 4365 (relocate_addresses): consider both r_addend and value at offset
4366 (make_mods_section): zerofill modinfo and header
4367 (convert_elf): write prefix here
473d1e45 4368
5389763d 43692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 Use .asciz instead of .string
4372
4373 * i386/pc/diskboot.S: use .asciz instead of .string
4374 * i386/pc/boot.S: likewise
4375 * include/grub/dl.h (GRUB_MOD_DEP): likewise
4376 (GRUB_MOD_NAME): likewise
473d1e45 4377
3eb5ed4e 43782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 gfxpayload support
4381
4382 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
4383 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
4384 (grub_video_setup): remove
4385 (grub_video_set_mode): new prototype
4386 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
4387 (vid_mode): remove
4388 (linux_vesafb_res): compile only on PCBIOS
4389 (grub_linux_boot): support gfxpayload
4390 * loader/i386/pc/xnu.c (video_hook): new function
4391 (grub_xnu_set_video): support gfxpayload
4392 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
4393 (DEFAULT_VIDEO_HEIGHT): likewise
4394 (DEFAULT_VIDEO_FLAGS): likewise
4395 (DEFAULT_VIDEO_MODE): new definition
4396 (video_hook): new function
4397 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 4398 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 4399 loading xnu
4400 * video/video.c (grub_video_setup): removed
473d1e45 4401 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 4402 grub_video_setup
4403
4b0e1143 44042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 Avoid calling biosdisk in drivemap
4407
4408 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
4409 (revparse_biosdisk): likewise
4410 (list_mappings): derive name from id directly
4411 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 4412
fda6cb98 44132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Script fixes
4416
4417 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
4418 (grub_lexer_param): add tokenonhold
4419 (grub_script_create_cmdline): remove cmdline. All callers updated
4420 (grub_script_function_create): make functionname
4421 grub_script_arg. All callers updated
4422 (grub_script_execute_argument_to_string): new prototype
4423 * kern/parser.c (state_transitions): reorder
4424 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 4425 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 4426 make global
4427 (grub_script_execute_cmdline): use new format
4428 * script/sh/function.c (grub_script_function_create): make functionname
4429 grub_script_arg. All callers updated
473d1e45 4430 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 4431 (grub_script_yylex): remove
4432 (grub_script_yylex2): renamed to ...
4433 (grub_script_yylex): ...renamed
4434 parse the expressions like a${b}c
4435 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
4436 (GRUB_PARSER_TOKEN_VAR): remove
4437 (GRUB_PARSER_TOKEN_NAME): likewise
4438 ("if"): declare as typeless
4439 ("while"): likewise
4440 ("function"): likewise
4441 ("else"): likewise
4442 ("then"): likewise
4443 ("fi"): likewise
4444 (text): remove
4445 (argument): likewise
4446 (script): accept empty scripts and make exit on error
4447 (arguments): use GRUB_PARSER_TOKEN_ARG
4448 (function): likewise
4449 (command): move error handling to script
4450 (menuentry): move grub_script_lexer_ref before
473d1e45 4451 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 4452 argument. All callers updated
4453
f4448a07 44542009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4455
4456 Prevent GRUB from probing floppies during boot.
4457
4458 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
4459 * commands/search.c (options): Add --no-floppy.
4460 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
4461 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
4462 --no-floppy when searching for UUIDs.
4463
2bf5885a 44642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4465
4466 Simplify the code duplication in commands/search.c.
4467
4468 * commands/search.c (search_label, search_fs_uuid): Merge into ...
4469 (search_fs): ... this. Update all users.
4470
f6fd460a 44712009-06-03 Felix Zielcke <fzielcke@z-51.de>
4472
4473 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
4474
cbb3c83e 44752009-05-28 Pavel Roskin <proski@gnu.org>
4476
57788cfd 4477 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
4478 Remove the original symlink explicitly.
4479
cbb3c83e 4480 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
4481 just one slash. That's how grub_fshelp_find_file() does it.
4482
cd0d5e30 44832009-05-26 Pavel Roskin <proski@gnu.org>
4484
f0f8bbe2 4485 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
4486 to `str'.
4487
cd0d5e30 4488 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
4489 possibly unused.
4490
8c2cab51 44912009-05-25 Christian Franke <franke@computer.org>
4492
4493 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
4494 register.
4495 (grub_atapi_identify): Add wait after drive select.
4496 (grub_ata_identify): Do more strict status register check before
4497 calling grub_atapi_identify (). Suppress error message if status
4498 register is 0x00 after command failure. Add status register
4499 check after PIO read to avoid bogus identify due to stuck DRQ.
4500 Thanks to Pavel Roskin for testing.
4501 (grub_device_initialize): Remove unsafe status register check.
4502 Thanks to 'phcoder' for problem report and patch.
4503 Prevent sign extension in debug message.
4504
230c0ad6 45052009-05-23 Colin D Bennett <colin@gibibit.com>
4506
4507 Cleaned up `include/grub/normal.h'. Grouped prototypes by
4508 definition file, and functions defined in `normal/menu.c' have had
4509 their prototypes moved to `include/grub/menu.h' for consistency.
4510
4511 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
4512 from normal.h.
4513 (grub_menu_get_entry): Likewise.
4514 (grub_menu_get_timeout): Likewise.
4515 (grub_menu_set_timeout): Likewise.
4516 (grub_menu_execute_entry): Likewise.
4517 (grub_menu_execute_with_fallback): Likewise.
4518 (grub_menu_entry_run): Likewise.
4519
4520 * include/grub/normal.h: Re-ordered and grouped function
4521 prototypes by file that the function is defined in.
4522 (grub_menu_execute_callback): Removed; moved to menu.h.
4523 (grub_menu_get_entry): Likewise.
4524 (grub_menu_get_timeout): Likewise.
4525 (grub_menu_set_timeout): Likewise.
4526 (grub_menu_execute_entry): Likewise.
4527 (grub_menu_execute_with_fallback): Likewise.
4528 (grub_menu_entry_run): Likewise.
4529 (grub_menu_addentry): Renamed from this ...
4530 (grub_normal_add_menu_entry): ... to this.
4531
4532 * normal/main.c (grub_menu_addentry): Renamed from this ...
4533 (grub_normal_add_menu_entry): ... to this.
4534
4535 * script/sh/execute.c (grub_script_execute_menuentry): Update
4536 reference to renamed grub_menu_addentry function.
4537
861f03a5 45382009-05-23 Felix Zielcke <fzielcke@z-51.de>
4539
4540 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
4541
96b1619a 45422009-05-22 Pavel Roskin <proski@gnu.org>
4543
bf6a5fb2 4544 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
4545 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
4546 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
4547 compiling for the i386 targets, but not for the utilities.
4548
96b1619a 4549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
4550 to grub_uint8_t.
4551 (grub_root_drive): Likewise.
4552 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
4553 remove alignment.
4554 (grub_root_drive): Change size to byte.
4555 (grub_start_addr): Remove.
4556 (grub_end_addr): Likewise.
4557 (grub_apm_bios_info): Likewise.
4558
b729776b 45592009-05-21 Felix Zielcke <fzielcke@z-51.de>
4560
4561 * normal/i386: Remove.
4562 * normal/powerpc: Likewise.
4563 * normal/sparc64: Likewise.
4564 * normal/x86_64: Likewise.
4565
0a15ce80 45662009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 4569 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 4570 * loader/i386/xnu_helper.S: Likewise
d6da58e6 4571
33db9015 45722009-05-18 Colin D Bennett <colin@gibibit.com>
4573
d6da58e6 4574 Display error messages when parsing a Lua statement fails.
4575 Previously, executing a syntactically invalid statement like
4576 ")foo" or "bar;" would silently fail.
33db9015 4577
4578 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 4579 (grub_lua_parse_line): Improved reporting of Lua parser and
4580 execution errors.
33db9015 4581
46422c89 45822009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 Remove -Werror which causes build to fail on some systems
4585
4586 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
4587 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
4588 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 4589
22f53a96 45902009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 trampoline for linux on 64-bit platform
4593
18f547ad 4594 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
4595 loader/i386/efi/linux_trampoline.S
4596 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 4597 declaration
d6da58e6 4598 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
4599 here
22f53a96 4600 * loader/i386/linux_trampoline.S: moved here
d6da58e6 4601 * loader/i386/efi/linux.c (allocate_pages): reserve space for
4602 trampoline
22f53a96 4603 (jumpvector): removed
4604 (grub_linux_trampoline_start): new declaration
4605 (grub_linux_trampoline_end): likewise
4606 (grub_linux_boot): use trampoline when on 64-bit platform
4607 * loader/i386/linux.c: likewise
4608
cb5a0f40 46092009-05-16 Pavel Roskin <proski@gnu.org>
4610
4611 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
4612 const to avoid a warning.
4613 (grub_lua_setenv): Likewise.
4614 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
4615 lmsg to fix a warning.
4616
334f2c28 46172009-05-16 Felix Zielcke <fzielcke@z-51.de>
4618
4619 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 4620 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4621 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
4622 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4623 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4624 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4625 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4626 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 4627
59e5d3ec 46282009-05-16 Felix Zielcke <fzielcke@z-51.de>
4629
4630 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
4631
9d87a1ba 46322009-05-16 Bean <bean123ch@gmail.com>
4633
4634 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
4635 (lua_mod_SOURCES): New variable.
4636 (lua_mod_CFLAGS): Likewise.
4637 (lua_mod_LDFLAGS): Likewise.
4638
4639 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
4640 (setjmp_mod_SOURCES): New variable.
4641 (setjmp_mod_CFLAGS): Likewise.
4642 (setjmp_LDFLAGS): Likewise.
4643
4644 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
4645 (setjmp_mod_SOURCES): New variable.
4646 (setjmp_mod_CFLAGS): Likewise.
4647 (setjmp_LDFLAGS): Likewise.
4648
4649 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4650 (setjmp_mod_SOURCES): New variable.
4651 (setjmp_mod_CFLAGS): Likewise.
4652 (setjmp_LDFLAGS): Likewise.
4653
4654 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4655 (setjmp_mod_SOURCES): New variable.
4656 (setjmp_mod_CFLAGS): Likewise.
4657 (setjmp_LDFLAGS): Likewise.
4658
4659 * normal/i386/setjmp.S: Moved from here ...
4660 * lib/i386/setjmp.S: ... Moved here
4661 * normal/x86_64/setjmp.S: Moved from here ...
4662 * lib/x86_64/setjmp.S: ... Moved here
4663 * normal/powerpc/setjmp.S: Moved from here ...
4664 * lib/powerpc/setjmp.S: ... Moved here
4665 * normal/sparc64/setjmp.S: Moved from here ...
4666 * lib/sparc64/setjmp.S: ... Moved here
4667
4668 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
4669 returns_twice in mingw.
4670
4671 * script/lua/grub_lib.c: New file.
4672 * script/lua/grub_lib.h: Likewise.
4673 * script/lua/grub_lua.h: Likewise.
4674 * script/lua/grub_main.c: Likewise.
4675 * script/lua/lapi.c: Likewise.
4676 * script/lua/lapi.h: Likewise.
4677 * script/lua/lauxlib.c: Likewise.
4678 * script/lua/lauxlib.h: Likewise.
4679 * script/lua/lbaselib.c: Likewise.
4680 * script/lua/lcode.c: Likewise.
4681 * script/lua/lcode.h: Likewise.
4682 * script/lua/ldblib.c: Likewise.
4683 * script/lua/ldebug.c: Likewise.
4684 * script/lua/ldebug.h: Likewise.
4685 * script/lua/ldo.c: Likewise.
4686 * script/lua/ldo.h: Likewise.
4687 * script/lua/ldump.c: Likewise.
4688 * script/lua/lfunc.c: Likewise.
4689 * script/lua/lfunc.h: Likewise.
4690 * script/lua/lgc.c: Likewise.
4691 * script/lua/lgc.h: Likewise.
4692 * script/lua/linit.c: Likewise.
4693 * script/lua/liolib.c: Likewise.
4694 * script/lua/llex.c: Likewise.
4695 * script/lua/llex.h: Likewise.
4696 * script/lua/llimits.h: Likewise.
4697 * script/lua/lmathlib.c: Likewise.
4698 * script/lua/lmem.c: Likewise.
4699 * script/lua/lmem.h: Likewise.
4700 * script/lua/loadlib.c: Likewise.
4701 * script/lua/lobject.c: Likewise.
4702 * script/lua/lobject.h: Likewise.
4703 * script/lua/lopcodes.c: Likewise.
4704 * script/lua/lopcodes.h: Likewise.
4705 * script/lua/loslib.c: Likewise.
4706 * script/lua/lparser.c: Likewise.
4707 * script/lua/lparser.h: Likewise.
4708 * script/lua/lstate.c: Likewise.
4709 * script/lua/lstate.h: Likewise.
4710 * script/lua/lstring.c: Likewise.
4711 * script/lua/lstring.h: Likewise.
4712 * script/lua/lstrlib.c: Likewise.
4713 * script/lua/ltable.c: Likewise.
4714 * script/lua/ltable.h: Likewise.
4715 * script/lua/ltablib.c: Likewise.
4716 * script/lua/ltm.c: Likewise.
4717 * script/lua/ltm.h: Likewise.
4718 * script/lua/lua.h: Likewise.
4719 * script/lua/luaconf.h: Likewise.
4720 * script/lua/lualib.h: Likewise.
4721 * script/lua/lundump.c: Likewise.
4722 * script/lua/lundump.h: Likewise.
4723 * script/lua/lvm.c: Likewise.
4724 * script/lua/lvm.h: Likewise.
4725 * script/lua/lzio.c: Likewise.
4726 * script/lua/lzio.h: Likewise.
4727
5e898c9d 47282009-05-16 Bean <bean123ch@gmail.com>
4729
4730 * include/grub/kernel.h (grub_module_header_types): Add type
4731 OBJ_TYPE_CONFIG.
4732
4733 * kern/main.c (grub_load_config): New function.
4734 (grub_main): Call grub_load_config to read boot config.
4735
4736 * grub-mkimage (generate_image): New parameter config_path.
4737 (options): New option --config.
4738 (main): Parse --config option, and pass it to generate_image.
4739
cf353a47 47402009-05-14 Christian Franke <franke@computer.org>
4741
4742 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
4743 This fixes build on Cygwin.
4744
3834887f 47452009-05-14 Pavel Roskin <proski@gnu.org>
4746
4747 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
4748 jump. This saves two bytes, so the typical case of 2 swapped
4749 drives would fit 32 bytes.
4750
8090fc01 47512009-05-13 Pavel Roskin <proski@gnu.org>
4752
ac963883 4753 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
4754 grub_uint32_t to avoid a warning.
4755
8090fc01 4756 * loader/i386/linux.c (allocate_pages): When assigning
4757 real_mode_mem, cast through grub_size_t to fix a warning. The
4758 code already makes sure that the value would fit a pointer.
4759 (grub_linux_setup_video): Cast render_target->data to
4760 grub_size_t to fix a warning.
4761
18f547ad 47622009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 4763
4764 * commands/i386/pc/drivemap.c: New file - implement drivemap
4765 command.
4766 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
4767 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
4768
6f6a8b28 47692009-05-13 Pavel Roskin <proski@gnu.org>
4770
4771 * util/i386/pc/grub-setup.c (setup): Remove unused variable
4772 embedding_area_exists.
4773
15fbf4c4 47742009-05-13 Robert Millan <rmh.grub@aybabtu.com>
4775
4776 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
4777 it easier to understand / work with.
59978c8a 4778 Improve warning messages for cases where there's no embedding area,
4779 or when it is too small (or core.img too large).
15fbf4c4 4780
238e871f 47812009-05-13 Pavel Roskin <proski@gnu.org>
4782
0ab3a9a4 4783 * loader/i386/pc/multiboot2.c: Add necessary includes for
4784 grub_multiboot2_real_boot().
4785
a2c8c5f8 4786 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
4787 PX record is always little-endian. We only need the lower 2
4788 bytes of the mode.
4789
faec96af 4790 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
4791 facilitate code reuse.
4792 (grub_cpio_mount): Use "struct head", not a char buffer. This
4793 fixes a warning reported by gcc 4.4.
4794
238e871f 4795 * kernel/disk.c (grub_disk_read): Use void pointer for the
4796 buffer.
4797 (grub_disk_write): Use const void pointer for the buffer.
4798 Adjust all callers. Remove unnecessary casts.
4799
901d2f0c 48002009-05-10 Robert Millan <rmh.grub@aybabtu.com>
4801
4802 * util/i386/pc/grub-install.in: Update copyright year.
4803
18f547ad 48042009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 4805
4806 gptsync
4807
4808 * commands/gptsync.c: new file
4809 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
4810 (gptsync_mod_SOURCES): new variable
4811 (gptsync_mod_CFLAGS): likewise
4812 (gptsync_mod_LDFLAGS): likewise
18f547ad 4813 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 4814 new definition
4815 (GRUB_PC_PARTITION_TYPE_HFS): likewise
4816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
4817 * conf/i386-ieee1275.rmk: likewise
4818 * conf/i386-pc.rmk: likewise
4819 * conf/powerpc-ieee1275.rmk: likewise
4820
b4ba690a 48212009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 Fixed grub-emu
4824
4825 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
4826 (grub_dl_ref): likewise
4827
317e1a44 48282009-05-08 Robert Millan <rmh.grub@aybabtu.com>
4829
4830 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
4831 split in two functions (one for msdos and one for gpt).
4832
041b8094 48332009-05-08 Pavel Roskin <proski@gnu.org>
4834
752473c2 4835 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
4836 not modified.
4837
041b8094 4838 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
4839 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
4840 Initialize them with -1. Add sanity check for bad1. Eliminate
4841 nerr variable.
4842
172800ce 48432009-05-08 David S. Miller <davem@davemloft.net>
4844
4845 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
4846
29aa5e81 48472009-05-06 Robert Millan <rmh.grub@aybabtu.com>
4848
4849 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 4850 existence.
29aa5e81 4851
96613b62 48522009-05-05 Felix Zielcke <fzielcke@z-51.de>
4853
4854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 4855 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 4856
eef73c8a 48572009-05-05 David S. Miller <davem@davemloft.net>
4858
4859 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
4860
119494b5 48612009-05-05 Pavel Roskin <proski@gnu.org>
4862
4863 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
4864 of grub_dl_ref() and grub_dl_unref().
4865 * commands/parttool.c: Remove preprocessor conditionals around
4866 grub_dl_ref() and grub_dl_unref().
4867 * fs/affs.c: Likewise.
4868 * fs/afs.c: Likewise.
4869 * fs/cpio.c: Likewise.
4870 * fs/ext2.c: Likewise.
4871 * fs/fat.c: Likewise.
4872 * fs/hfs.c: Likewise.
4873 * fs/hfsplus.c: Likewise.
4874 * fs/iso9660.c: Likewise.
4875 * fs/jfs.c: Likewise.
4876 * fs/minix.c: Likewise.
4877 * fs/ntfs.c: Likewise.
4878 * fs/reiserfs.c: Likewise.
4879 * fs/sfs.c: Likewise.
4880 * fs/udf.c: Likewise.
4881 * fs/ufs.c: Likewise.
4882 * fs/xfs.c: Likewise.
4883 * include/grub/dl.h: Likewise.
4884 * loader/xnu.c: Likewise.
4885
de5fd76e 48862009-05-04 Pavel Roskin <proski@gnu.org>
4887
4888 * commands/acpi.c: Remove unused variable my_mod.
4889 * partmap/amiga.c: Likewise.
4890 * partmap/apple.c: Likewise.
4891 * partmap/gpt.c: Likewise.
4892 * partmap/pc.c: Likewise.
4893 * partmap/sun.c: Likewise.
4894 * term/gfxterm.c: Likewise.
4895 * term/i386/pc/vesafb.c: Likewise.
4896 * term/i386/pc/vga.c: Likewise.
4897
983598ad 48982009-05-04 David S. Miller <davem@davemloft.net>
4899
4900 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
4901 pointer args to grub_ieee1275_get_property().
4902
8aadec43 4903 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
4904
9554b15e 4905 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
4906 devices, and do not traverse down under controller nodes.
4907
67e23c90 4908 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
4909 (grub_ofdisk_open): Use it to un-escape "," characters.
4910 * kern/disk.c (find_part_sep): New.
4911 (grub_disk_open): Use it to find the first non-escaped ','
4912 character in the disk name.
4913 * util/ieee1275/devicemap.c (escape_of_path): New.
4914 (grub_util_emit_devicemap_entry): Use it.
4915 * util/sparc64/ieee1275/grub-install.in: Update script to
4916 strip partition specifiers properly by not triggering on
4917 '\' escaped ',' characters.
4918
74bfdd2f 49192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4920
4921 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
4922 to 0x300.
4923 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
4924 resolutions.
4925 (linux_vesafb_modes): Add a lot of additional modes to the list (based
4926 on documentation from Wikipedia).
4927
4241d2b1 49282009-05-04 Pavel Roskin <proski@gnu.org>
4929
4930 * disk/ata.c: Spelling fixes.
4931 * disk/raid.c: Likewise.
4932 * disk/usbms.c: Likewise.
4933 * disk/dmraid_nvidia.c: Likewise.
4934 * kern/ieee1275/openfw.c: Likewise.
4935 * kern/ieee1275/init.c: Likewise.
4936 * kern/ieee1275/cmain.c: Likewise.
4937 * boot/i386/pc/cdboot.S: Likewise.
4938 * video/readers/png.c: Likewise.
4939 * video/i386/pc/vbe.c: Likewise.
4940 * fs/udf.c: Likewise.
4941 * fs/hfs.c: Likewise.
4942 * fs/reiserfs.c: Likewise.
4943 * efiemu/runtime/efiemu.c: Likewise.
4944 * efiemu/main.c: Likewise.
4945 * efiemu/mm.c: Likewise.
4946 * include/grub/elf.h: Likewise.
4947 * include/grub/xnu.h: Likewise.
4948 * include/grub/usbdesc.h: Likewise.
4949 * include/grub/usb.h: Likewise.
4950 * include/grub/script_sh.h: Likewise.
4951 * include/grub/lib/LzmaEnc.h: Likewise.
4952 * include/grub/efiemu/efiemu.h: Likewise.
4953 * include/grub/command.h: Likewise.
4954 * normal/menu.c: Likewise.
4955 * normal/main.c: Likewise.
4956 * normal/datetime.c: Likewise.
4957 * bus/usb/uhci.c: Likewise.
4958 * mmap/i386/uppermem.c: Likewise.
4959 * mmap/mmap.c: Likewise.
4960 * commands/acpi.c: Likewise.
4961 * commands/test.c: Likewise.
4962 * partmap/apple.c: Likewise.
4963 * font/font.c: Likewise.
4964 * loader/sparc64/ieee1275/linux.c: Likewise.
4965 * loader/macho.c: Likewise.
4966 * loader/i386/bsd_trampoline.S: Likewise.
4967 * loader/i386/bsd.c: Likewise.
4968 * loader/xnu.c: Likewise.
4969 * term/i386/pc/vesafb.c: Likewise.
4970 * term/usb_keyboard.c: Likewise.
4971 * util/resolve.c: Likewise.
4972 * util/getroot.c: Likewise.
4973
0cfc0083 49742009-05-04 Felix Zielcke <fzielcke@z-51.de>
4975
4976 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
4977
7c1d00cd 49782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4979
4980 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
4981 build error.
4982
b01f0548 49832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4984
4985 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
4986 parameter only available on BIOS.
4987
ecc3eb22 49882009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 Removed wrong semicolon in declaration
4991
4992 * grub/misc.h (grub_dprintf): remove semicolon
4993
112972a9 49942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4995
4996 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
4997 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
4998 is done by grub_cmd_linux() now).
4999 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
5000 restore video to text mode.
5001 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
5002 indicates lack of "vga=" parameter. "vga=0" is mapped to
5003 `GRUB_LINUX_VID_MODE_NORMAL'.
5004
afd5c115 50052009-05-04 Felix Zielcke <fzielcke@z-51.de>
5006
5007 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
5008 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
5009 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 5010 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 5011 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
5012 `grub_script.tab.c'.
5013
5014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5015 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5017 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5018 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5019
faa517ce 5020 * Makefile.in: Remove duplicated 2008 in Copyright line.
5021
ae0c0bdc 50222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5023
473d1e45 5024 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 5025 unconditionally.
5026 * include/grub/util/misc.h (grub_util_warn): New declaration.
5027
5028 * util/i386/pc/grub-install.in: Understand --force and pass it down
5029 to grub-setup.
5030
5031 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
5032 down to setup().
5033 (setup): Improve error messages and add warnings when requested to
5034 install in odd layouts. Refuse to install using blocklists unless
5035 --force was set.
5036
18f547ad 50372009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 5038
5039 * disk/raid.c (grub_raid_scan_device): Improve debug message.
5040
6d260daa 50412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 Updated copyright year
5044
5045 * fs/hfsplus.c: updated copyright year
18f547ad 5046
69f853f8 50472009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 HFS+ UUID
5050
18f547ad 5051 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 5052 in the space previously used by unused3
5053 (grub_hfsplus_uuid): new function
5054 (grub_hfsplus_fs): added uuid field
5055
4c402e73 50562009-05-03 Pavel Roskin <proski@gnu.org>
5057
5058 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
5059 suppress warnings. It's no longer needed.
5060 * disk/host.c: Likewise.
5061 * disk/ata_pthru.c: Likewise.
5062 * disk/loopback.c: Likewise.
5063 * hook/datehook.c: Likewise.
5064 * parttool/pcpart.c: Likewise.
5065 * fs/i386/pc/pxe.c: Likewise.
5066 * fs/ntfscomp.c: Likewise.
5067 * efiemu/main.c: Likewise.
5068 * mmap/mmap.c: Likewise.
5069 * commands/crc.c: Likewise.
5070 * commands/hexdump.c: Likewise.
5071 * commands/hdparm.c: Likewise.
5072 * commands/acpi.c: Likewise.
5073 * commands/echo.c: Likewise.
5074 * commands/minicmd.c: Likewise.
5075 * commands/blocklist.c: Likewise.
5076 * commands/memrw.c: Likewise.
5077 * commands/loadenv.c: Likewise.
5078 * commands/usbtest.c: Likewise.
5079 * commands/lsmmap.c: Likewise.
5080 * commands/boot.c: Likewise.
5081 * commands/parttool.c: Likewise.
5082 * commands/configfile.c: Likewise.
5083 * commands/search.c: Likewise.
5084 * commands/ieee1275/suspend.c: Likewise.
5085 * commands/cat.c: Likewise.
5086 * commands/i386/pc/pxecmd.c: Likewise.
5087 * commands/i386/pc/play.c: Likewise.
5088 * commands/i386/pc/halt.c: Likewise.
5089 * commands/i386/pc/vbeinfo.c: Likewise.
5090 * commands/i386/pc/vbetest.c: Likewise.
5091 * commands/lspci.c: Likewise.
5092 * commands/date.c: Likewise.
5093 * commands/handler.c: Likewise.
5094 * commands/ls.c: Likewise.
5095 * commands/test.c: Likewise.
5096 * commands/cmp.c: Likewise.
5097 * commands/efi/loadbios.c: Likewise.
5098 * commands/efi/fixvideo.c: Likewise.
5099 * commands/halt.c: Likewise.
5100 * commands/help.c: Likewise.
5101 * commands/reboot.c: Likewise.
5102 * hello/hello.c: Likewise.
5103 * script/sh/main.c: Likewise.
5104 * loader/xnu.c: Likewise.
5105 * term/terminfo.c: Likewise.
5106 * term/i386/pc/serial.c: Likewise.
5107 * term/usb_keyboard.c: Likewise.
5108
515b5079 51092009-05-03 David S. Miller <davem@davemloft.net>
5110
5111 * normal/menu.c: Include grub/parser.h
5112
dfc31a22 51132009-05-03 Pavel Roskin <proski@gnu.org>
5114
2fee74f1 5115 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
5116 not char*.
5117 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
5118 Suggested by Javier Martín <lordhabbit@gmail.com>
5119
dfc31a22 5120 * util/i386/pc/grub-mkrescue.in: Allow for the case when
5121 efiemu??.o doesn't exist.
5122 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
5123 copying.
5124
18f547ad 51252009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 5126
5127 FreeBSD 64-bit support
5128
18f547ad 5129 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 5130 and loader/i386/bsd_trampoline.S
5131 (bsd_mod_ASFLAGS): new variable
5132 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
5133 (FREEBSD_MODTYPE_KERNEL64): likewise
5134 (grub_bsd64_trampoline_start): likewise
5135 (grub_bsd64_trampoline_end): likewise
5136 (grub_bsd64_trampoline_selfjump): likewise
5137 (grub_bsd64_trampoline_gdt): likewise
5138 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
5139 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
5140 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
5141 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 5142 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 5143 of "attrib" member
5144 * loader/i386/bsd_pagetable.c: new file
5145 * loader/i386/bsd_trampoline.S: likewise
5146 * loader/i386/bsd.c (ALIGN_QWORD): new macro
5147 (ALIGN_VAR): likewise
5148 (entry_hi): new variable
5149 (kern_end_mdofs): likewise
5150 (is_64bit): likewise
5151 (grub_freebsd_add_meta): use ALIGN_VAR
5152 (grub_e820_mmap): new declaration
5153 (grub_freebsd_add_mmap): new function
5154 (grub_freebsd_add_meta_module): support 64 bit kernels
5155 (grub_freebsd_list_modules): use ALIGN_VAR
5156 (gdt_descriptor): new declaration
5157 (grub_freebsd_boot): support 64 bit kernels
5158 (grub_bsd_elf64_hook): new function
5159 (grub_bsd_load_elf): support elf64
5160
038c5720 51612009-05-03 Bean <bean123ch@gmail.com>
5162
5163 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
5164 after we get the result of if statement.
5165
fc45fb58 51662009-05-03 Bean <bean123ch@gmail.com>
5167
5168 * Makefile.in (enable_efiemu): New variable.
5169
5170 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
5171 set.
5172 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
5173 path.
5174 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
5175 path, add -mno-red-zone option.
5176 (efiemu64_s.o): Likewise.
5177 (efiemu64.o): Use macro $^ for source file.
5178
5179 * configure.ac (--enable-efiemu): New option.
5180
bbee0f2b 51812009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 xnu support
5184
5185 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
5186 (pkglib_MODULES): add xnu.mod
5187 (xnu_mod_SOURCES): new variable
5188 (xnu_mod_CFLAGS): likewise
5189 (xnu_mod_LDFLAGS): likewise
5190 (xnu_mod_ASFLAGS): likewise
5191 * conf/i386-pc.rmk: likewise
5192 * conf/x86_64-efi.rmk: likewise
7dd4a573 5193 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 5194 new declaration
5195 * include/grub/i386/macho.h: new file
5196 * include/grub/i386/xnu.h: likewise
5197 * include/grub/macho.h: likewise
5198 * include/grub/machoload.h: likewise
5199 * include/grub/x86_64/macho.h: likewise
5200 * include/grub/x86_64/xnu.h: likewise
5201 * include/grub/xnu.h: likewise
5202 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
5203 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
5204 * loader/i386/efi/xnu.c: new file
5205 * loader/i386/pc/xnu.c: likewise
5206 * loader/i386/xnu.c: likewise
5207 * loader/i386/xnu_helper.S: likewise
5208 * loader/macho.c: likewise
5209 * loader/xnu.c: likewise
5210 * loader/xnu_resume.c: likewise
5211 * util/grub-dumpdevtree: likewise
5212 * include/grub/i386/pit.h: include grub/err.h
5213 (grub_pit_wait): export
5214 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 5215
5caf964d 52162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 Efiemu
7dd4a573 5219
5caf964d 5220 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 5221 _linux_efi, linux_efi.
5222 new files in grub-emu
5caf964d 5223 new targets efiemu32.o and efiemu64.o
5224 * loader/linux_normal_efiemu.c: likewise
5225 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 5226 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 5227 files to copy
5228 * include/grub/autoefi.h: new file
7dd4a573 5229 * include/grub/i386/efiemu.h: likewise
5caf964d 5230 * include/grub/i386/pc/efiemu.h: likewise
5231 * include/grub/efi/api.h: add LL suffix when necessary
5232 new definitions relating to tables
5233 * include/grub/efiemu/efiemu.h: new file
5234 * include/grub/efiemu/runtime.h: likewise
5235 * efiemu/prepare.c: likewise
5236 * efiemu/loadcore_common.c: likewise
5237 * efiemu/loadcore64.c: likewise
5238 * efiemu/runtime/efiemu.sh: likewise
5239 * efiemu/runtime/efiemu.S: likewise
5240 * efiemu/runtime/efiemu.c: likewise
5241 * efiemu/runtime/config.h: likewise
5242 * efiemu/prepare32.c: likewise
5243 * efiemu/main.c: likewise
5244 * efiemu/modules/pnvram.c: likewise
5245 * efiemu/modules/i386: likewise
5246 * efiemu/modules/i386/pc: likewise
5247 * efiemu/modules/acpi.c: likewise
5248 * efiemu/i386/pc/cfgtables.c: likewise
5249 * efiemu/i386/loadcore64.c: likewise
5250 * efiemu/i386/loadcore32.c: likewise
5251 * efiemu/prepare64.c: likewise
5252 * efiemu/loadcore.c: likewise
5253 * efiemu/symbols.c: likewise
5254 * efiemu/mm.c: likewise
5255 * efiemu/loadcore32.c: likewise
7dd4a573 5256
52572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 5258
5259 ACPI spoofing
5260
5261 * commands/acpi.c: new file
5262 * commands/i386/pc/acpi.c: likewise
5263 * commands/efi/acpi.c: likewise
5264 * include/grub/acpi.h: likewise
5265 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
5266 (acpi_mod_SOURCES): new variable
5267 (acpi_mod_CFLAGS): likewise
5268 (acpi_mod_LDFLAGS): likewise
5269 * conf/i386-efi.rmk: likewise
5270 * conf/x86_64-efi.rmk: likewise
5271
7dd4a573 52722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 5273
5274 Missing part from mmap patch
5275
5276 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
5277 (grub_mmap_unregister)
5278 (grub_mmap_free_and_unregister): use grub_mmap_register
5279
7dd4a573 52802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 5281
5282 Mmap services
5283
5284 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
5285 * loader/i386/linux.c (find_mmap_size): likewise
5286 (allocate_pages): likewise
5287 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
5288 (grub_fill_multiboot_mmap): likewise
5289 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
5290 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
5291 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
5292 (OPENBSD_MMAP_RESERVED): likewise
5293 * include/grub/i386/pc/memory.h: include grub/memory.h
5294 (grub_lower_mem): removed
5295 (grub_upper_mem): likewise
5296 (GRUB_MACHINE_MEMORY_ACPI): new definition
5297 (GRUB_MACHINE_MEMORY_NVS): likewise
5298 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
5299 (GRUB_MACHINE_MEMORY_HOLE): likewise
5300 (grub_machine_mmap_register): likewise
5301 (grub_machine_mmap_unregister): likewise
5302 (grub_machine_get_upper): likewise
5303 (grub_machine_get_lower): likewise
5304 (grub_machine_get_post64): likewise
5305 * include/grub/i386/efi/memory.h: new file
5306 * include/grub/x86_64/efi/memory.h: likewise
5307 * include/grub/efi/memory.h: likewise
5308 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
5309 (mmap_mod_SOURCES): new variable
5310 (mmap_mod_LDFLAGS): likewise
5311 (mmap_mod_ASFLAGS): likewise
5312 * conf/i386-coreboot.rmk: likewise
5313 * conf/i386-ieee1275.rmk: likewise
5314 * conf/i386-efi.rmk: likewise
5315 * conf/x86_64-efi.rmk: likewise
5316 * include/grub/types.h (UINT_TO_PTR): new macro
5317 (PTR_TO_UINT32): likewise
5318 (PTR_TO_UINT64): likewise
5319 * include/grub/memory.h: new file
5320 * mmap/i386/pc/mmap.c: likewise
5321 * mmap/i386/pc/mmap_helper.S: likewise
5322 * mmap/i386/uppermem.c: likewise
5323 * mmap/mmap.c: likewise
5324 * mmap/efi/mmap.c: likewise
7dd4a573 5325 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 5326 grub_upper_mem
5327 * kern/i386/pc/init.c (grub_lower_mem): removed variable
5328 (grub_upper_mem): likewise
5329 (grub_machine_init): don't use grub_upper_mem,
5330 make grub_lower_mem local
5331 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
5332 grub_mmap_iterate and grub_mmap_get_upper
5333 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
5334
d558e6b5 53352009-05-02 Bean <bean123ch@gmail.com>
5336
5337 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
5338 script/sh/parser.y.
5339 (pkglib_MODULES): Add normal.mod and sh.mod.
5340 (normal_SOURCES): New variable.
5341 (normal_mod_CFLAGS): Likewise.
5342 (normal_mod_LDFLAGS): Likewise.
5343 (sh_mod_SOURCES): Likewise.
5344 (sh_mod_CFLAGS): Likewise.
5345 (sh_mod_LDFLAGS): Likewise.
5346
5347 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
5348 script/sh/lexer.c_DEPENDENCIES.
5349 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
5350 kern/rescue_reader.c and kern/rescue_parser.c.
5351 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
5352 (grub_emu_SOURCES): Change source files.
5353 (pkglib_MODULES): Remove normal.mod.
5354 (normal_SOURCES): Removed.
5355 (normal_mod_CFLAGS): Likewise.
5356 (normal_mod_LDFLAGS): Likewise.
5357 * conf/i386-coreboot.rmk: Likewise.
5358 * conf/i386-efi.rmk: Likewise.
5359 * conf/i386-ieee1276.rmk: Likewise.
5360 * conf/powerpc-ieee1275.rmk: Likewise.
5361 * conf/sparc64-ieee1275.rmk: Likewise.
5362 * conf/x86_64-efi.rmk: Likewise.
5363
5364 * include/grub/command.h (grub_command_execute): New inline function.
5365
5366 * include/grub/menu.h (grub_menu_entry): Removed commands field.
5367
5368 * include/grub/normal.h: Remove <grub/setjmp.h>.
5369 (grub_fs_module_list): Moved to normal/autofs.c.
5370 (grub_exit_env): Removed.
5371 (grub_command_execute): Likewise.
5372 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
5373 parameter script.
5374 (read_command_list): New function declaration.
5375 (read_fs_list): Likewise.
5376
5377 * include/parser.h: Include <grub/reader.h>.
5378 (grub_parser_split_cmdline): Change type of getline parameter.
5379 (grub_parser): New structure.
5380 (grub_parser_class): New variable.
5381 (grub_parser_execute): New function declaration.
5382 (grub_register_rescue_parser): Likewise.
5383 (grub_parser_register): New inline function.
5384 (grub_parser_unregister): Likewise.
5385 (grub_parser_get_current): Likewise.
5386 (grub_parser_set_current): Likewise.
5387
5388 * include/grub/reader.h: New file.
5389 * kern/reader.c: Likewise.
5390 * kern/rescue_parser.c: Likewise.
5391 * kern/rescue_reader.c: Likewise.
5392 * normal/autofs.c: Likewise.
5393 * normal/dyncmd.c: Likewise.
5394
5395 * include/grub/rescue.h: Removed.
5396 * normal/command.h: Likewise.
5397
5398 * include/grub/script.h: Moved to ...
5399 * include/grub/script_sh.h: ... Moved here.
5400 * normal/execute.c: Moved to ...
5401 * script/sh/execute.c: ... Moved here.
5402 * normal/function.c: Moved to ...
5403 * script/sh/function.c: ... Moved here.
5404 * normal/lexer.c: Moved to ...
5405 * script/sh/lexer.c: ... Moved here.
5406 * normal/parser.y: Moved to ...
5407 * script/sh/parser.y: ... Moved here.
5408 * normal/script.c: Moved to ...
5409 * script/sh/script.c: ... Moved here.
5410
5411 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
5412 <grub/reader.h>.
5413 (grub_exit_env): Removed.
5414 (fs_module_list): Moved to normal/autofs.c.
5415 (grub_file_getline): Don't handle comment here.
5416 (free_menu): Skip removed field entry->commands.
5417 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
5418 script parameter.
5419 (read_config_file): Removed nested parameter, change getline function.
5420 (grub_enter_normal_mode): Removed.
5421 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
5422 (read_command_list): Likewise.
5423 (autoload_fs_module): Moved to normal/autofs.c.
5424 (read_fs_list): Likewise.
5425 (reader_nested): New variable.
5426 (grub_normal_execute): Run parser.sh to switch to sh parser.
5427 (grub_cmd_rescue): Removed.
5428 (cmd_normal): Removed.
5429 (grub_cmd_normal): Unregister itself at the beginning. Don't register
5430 rescue command.
5431 (grub_cmdline_run): New function.
5432 (grub_normal_reader_init): Likewise.
5433 (grub_normal_read_line): Likewise.
5434 (grub_env_write_pager): Likewise.
5435 (cmdline): New variable.
5436 (grub_normal_reader): Likewise.
5437 (GRUB_MOD_INIT): Register normal reader and set as current, register
5438 pager hook, register normal command with grub_register_command_prio,
5439 so that it won't show up in command.lst.
5440 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
5441 grub_fs_autoload_hook.
5442
5443 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
5444 (grub_menu_execute_entry): Replace grub_script_execute with
5445 grub_parser_execute, change parameter to grub_command_execute.
5446
5447 * normal/menu_text.c: Remove <grub/script.h>.
5448
5449 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
5450 and <grub/parser.h>.
5451 (run): Change editor_getline to use new parser interface. Change
5452 parameter to grub_command_execute.
5453
5454 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
5455 <grub/reader.h> and <grub/parser.h>.
5456 (grub_load_normal_mode): Execute normal command.
5457 (grub_main): Call grub_register_core_commands,
5458 grub_register_rescue_parser and grub_register_rescue_reader, use
5459 grub_reader_loop to enter input loop.
5460
7dd4a573 5461 * kern/parser.c (grub_parser_split_cmdline): Change type of
5462 getline parameter.
d558e6b5 5463 (grub_parser_class): New variable.
5464 (grub_parser_execute): New function.
5465
5466 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
5467 * loader/multiboot2.c: Likewise.
5468 * loader/sparc64/ieee1275/linux.c: Likewise.
5469
5470 * util/grub-emu.c (read_command_list): New dummy function.
5471
18db813d 54722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5473
5474 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
5475 count to 16 for CCISS and IDA.
5476
6c67de15 54772009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5478
5479 * normal/menu_text.c (grub_wait_after_message): Print a newline
5480 after waiting for user input.
5481
5482 * loader/i386/linux.c: Include `<grub/normal.h>'.
5483 (grub_cmd_linux): Improve the error message about `ask' mode, by
5484 waiting for user input so it's not missed (we can do this, since
5485 user requested interaction).
5486
d9dc87b0 54872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 Added missing lst to grub-mkrescue
5490
5491 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
5492 and ${input_dir}/parttool.lst
5493
ac8a2baa 54942009-04-30 David S. Miller <davem@davemloft.net>
5495
ad22a610 5496 * util/hostdisk.c (device_is_wholedisk): New function.
5497 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
5498 zero only if device_is_wholedisk() returns true.
5499
6966215d 5500 * util/hostdisk.c (convert_system_partition_to_system_disk):
5501 Handle virtual disk devices named /dev/vdiskX as found on sparc
5502 and powerpc.
5503
ac8a2baa 5504 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
5505 lettered partition specifier is found, convert to numbered.
5506
979b4fb4 55072009-04-29 David S. Miller <davem@davemloft.net>
5508
e2bf39b2 5509 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
5510 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5511
3c64e104 5512 * normal/command.c: Add missing newline at end of file.
5513
979b4fb4 5514 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
5515 warnings.
5516 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
5517 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
5518 grub_ofdisk_read): Likewise, and deal similarly with the fact that
5519 ihandles have a 32-bit type but need to be stored in a "void *".
5520
136d9f82 55212009-04-28 Pavel Roskin <proski@gnu.org>
5522
9459c306 5523 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
5524 not disk. Adjust all dependencies.
2e08a26a 5525 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 5526 grub_disk_close().
5527
136d9f82 5528 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
5529 parent's partition, don't copy it by reference, as it gets freed
5530 on close.
5531
7dd4a573 55322009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 5533
5534 Preboot hooks support
5535
5536 * commands/boot.c (struct grub_preboot_t): new declaration
5537 (preboots_head): new variable
5538 (preboots_tail): likewise
5539 (grub_loader_register_preboot_hook): new function
5540 (grub_loader_unregister_preboot_hook): likewise
5541 (grub_loader_set): launch preboot hooks
5542 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
5543 (grub_loader_register_preboot_hook): new declaration
5544 (grub_loader_unregister_preboot_hook): likewise
5545
5af922b5 55462009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 Warning fix
5549
7dd4a573 5550 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 5551 calling grub_dprintf
5552
a5562c30 55532009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Bug and warning fixes
5556
7dd4a573 5557 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 5558 declaration
5559 * commands/test.c (test_parse): fixed bug with file tests and corrected
5560 declaration of find_file
5561
4006f85c 55622009-04-26 Pavel Roskin <proski@gnu.org>
5563
5564 * Makefile.in: Don't install empty manual pages if help2man is
5565 missing. Use help2man option for output, not shell redirection.
5566
5c77c3de 55672009-04-26 David S. Miller <davem@davemloft.net>
5568
5569 * util/grub-mkdevicemap.c (make_device_map): Add missing
5570 NESTED_FUNC_ATTR to process_device().
5571
033b10a8 55722009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Test command
5575
5576 * commands/test.c: rewritten to use bash-like test
5577
e4343593 55782009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Parttool autoloading and improvements
5581
7dd4a573 5582 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 5583 (parttool.lst): new target
5584 * genmk.rb: generate parttool-*
5585 (CLEANFILES): add #{parttool}
5586 (PARTTOOLFILES): new variable
5587 * genparttoollist.sh: new file
7dd4a573 5588 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 5589 (grub_pcpart_type): likewise
5590 * commands/parttool.c (helpmsg): new variable
5591 (grub_cmd_parttool): output help if not enough arguments are supplied
5592 autoload modules
5593 (GRUB_MOD_INIT(parttool)): use helpmsg
5594
0d312500 55952009-04-24 David S. Miller <davem@davemloft.net>
5596
7dd4a573 5597 Avoiding opening same device multiple times in device iterator.
0d312500 5598
5599 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 5600 and use it to build a list of partitions in iterate_disk() and
0d312500 5601 iterate_partition().
5602
ac20caff 5603 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
5604 on disk->data.
5605
0dcf7495 5606 * disk/ieee1275/nand.c (grub_nand_iterate): Return
5607 grub_devalias_iterate() result instead of unconditional 0.
5608 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
5609 Also, capture hook return value, either directly or via
5610 grub_children_iterate(), and propagate to caller.
5611 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
5612 grub_children_iterate): Return value is now 'int' instead of
5613 'grub_err_t'.
5614 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
5615 like a proper iterator, stopping when hooks return non-zero.
5616 (grub_devalias_iterate): Likewise.
5617
c8c08833 56182009-04-23 David S. Miller <davem@davemloft.net>
5619
5620 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
5621
f01005a8 56222009-04-22 David S. Miller <davem@davemloft.net>
5623
5624 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
5625 is larger than address_cells, use that value for address_cells too.
5626
4e8269da 5627 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
5628 IEEE1275_MAX_PATH_LEN): Define.
5629 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
5630 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
5631 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
5632 'devtype'. Explicitly NULL terminate devalias expansion.
5633
a1447506 5634 * util/sparc64/ieee1275/misc.c: New file.
5635 * util/sparc64/ieee1275/grub-setup.c: New file.
5636 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
5637 * util/sparc64/ieee1275/grub-mkimage.c: New file.
5638 * util/sparc64/ieee1275/grub-install.in: New file.
5639 * util/ieee1275/ofpath.c: New file.
5640 * util/ieee1275/devicemap.c: New file.
5641 * util/devicemap.c: New file.
5642 * util/deviceiter.c: New file.
5643 * kern/sparc64/ieee1275/init.c: New file.
5644 * include/grub/util/ofpath.h: New file.
5645 * include/grub/util/deviceiter.h: New file.
5646 * util/grub-mkdevicemap.c: Include deviceiter.h.
5647 Implement using grub_util_emit_devicemap_entry and
5648 grub_util_iterate_devices.
5649 * conf/i386-corebook.rmk: Build util/deviceiter.c and
5650 util/devicemap.c into grub-mkdevicemap
5651 * conf/i386-efi.rmk: Likewise.
5652 * conf/i386-ieee1275.rmk: Likewise.
5653 * conf/i386-pc.rmk: Likewise.
5654 * conf/powerpc-ieee1275.rmk: Likewise.
5655 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
5656 images and installation utilities. Build kernel as image
5657 instead of as elf binary. Use common rules as much as possible.
5658
7dd4a573 56592009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 5660
5661 Correct GPT definition
5662
7dd4a573 5663 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 5664 of "attrib" member
5665
c6c5219f 56662009-04-19 Felix Zielcke <fzielcke@z-51.de>
5667
5668 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
5669
0552ff9f 56702009-04-19 David S. Miller <davem@davemloft.net>
5671
5672 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
5673 (grub_rescue_cmd_linux): Rename to...
5674 (grub_cmd_linux): and fix prototype.
5675 (grub_rescue_cmd_initrd): Rename to...
5676 (grub_cmd_initrd): and fix prototype.
5677 (cmd_linux, cmd_initrd): New.
5678 (GRUB_MOD_INIT(linux)): Use grub_register_command().
5679 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
5680
d1a282fc 56812009-04-17 Pavel Roskin <proski@gnu.org>
5682
07c5039f 5683 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
5684 format.
5685 (grub_ohci_transfer): Likewise.
5686
b012002d 5687 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
5688
1bc09c35 5689 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
5690 return without a value. Fix inconsistent indentation.
5691
e0ff9126 5692 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
5693 match struct grub_fs.
5694
d1a282fc 5695 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
5696 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
5697 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
5698 * commands/lspci.c (grub_lspci_iter): Likewise.
5699
a96df3f2 57002009-04-16 Bean <bean123ch@gmail.com>
5701
5702 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
5703 value.
5704
41bb0fe9 57052009-04-15 Pavel Roskin <proski@gnu.org>
5706
5707 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
5708 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
5709 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
5710 definitions.
5711
596c6970 57122009-04-15 Felix Zielcke <fzielcke@z-51.de>
5713
5714 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 5715 that no multiple data or metadata areas are supported and `Unknown
596c6970 5716 metadata header'.
5717
7dd4a573 57182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 5719
5720 Move loader out of the kernel
5721
5722 * kern/loader.c: moved to ...
5723 * commands/boot.c: ... moved here
5724 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
5725 * commands/boot.c (grub_cmd_boot): moved here. All users updated
5726 * include/grub/kernel.h (grub_machine_fini): export
5727 * include/grub/loader.h (grub_loader_is_loaded): update declaration
5728 (grub_loader_set): likewise
5729 (grub_loader_unset): likewise
5730 (grub_loader_boot): likewise
5731 * conf/common.rmk: new module boot.mod
5732 (pkglib_MODULES): add boot.mod
5733 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
5734 (grub_emu_SOURCES): likewise
5735 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
5736 (grub_emu_SOURCES): likewise
5737 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
5738 (grub_emu_SOURCES): likewise
5739 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
5740 (grub_emu_SOURCES): likewise
5741 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
5742 (grub_emu_SOURCES): likewise
7dd4a573 5743 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
5744 (grub_emu_SOURCES): likewise
0d5d5653 5745 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 5746 (grub_emu_SOURCES): likewise
0d5d5653 5747
7dd4a573 57482009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 5749
5750 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 5751
5999d619 5752 * kern/misc.c (grub_itoa): Removed function
5753 (grub_ltoa): likewise
5754 (grub_vsprintf): use grub_lltoa
5755
7dd4a573 57562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 5757
5758 Restore grub-emu
5759
5760 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
5761 * conf/i386-coreboot.rmk: likewise
5762 * conf/i386-ieee1275.rmk: likewise
5763 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5764
20318222 57652009-04-15 Felix Zielcke <fzielcke@z-51.de>
5766
5767 * INSTALL: Add that `./autogen.sh' needs to be run before
5768 `./configure.'.
5769
d05f0df3 57702009-04-14 Bean <bean123ch@gmail.com>
5771
5772 * Makefile.in (pkglib_DATA): Add handler.lst.
5773 (handler.lst): New rule.
5774
5775 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
5776 * conf/i386-coreboot.rmk: Likewise.
5777 * conf/i386-ieee1275.rmk: Likewise.
5778 * conf/i386-efi.rmk: Likewise.
5779 * conf/x86_64-efi.rmk: Likewise.
5780 * conf/powerpc-ieee1275.rmk: Likewise.
5781 * conf/sparc64-ieee1275.rmk: Likewise.
5782
5783 * genhandlerlist.sh: New file.
5784
5785 * genmk.rb: Add rules to generate handler.lst.
5786
5787 * include/grub/normal.h (grub_file_getline): New function definition.
5788 (read_handler_list): Likewise.
5789 (free_handler_list): Likewise.
5790
5791 * include/grub/term.h (grub_term_register_input): Add name parameter
5792 for auto generation of handler.lst.
5793 (grub_term_register_output): Likewise.
5794
5795 * normal/handler.c: New file.
5796
5797 * normal/main.c (get_line): Renamed to grub_file_getline.
5798 (read_config_file): Use the newly renamed grub_file_getline.
5799 (read_command_list): Likewise.
5800 (read_fs_list): Likewise.
5801 (grub_normal_execute): Call read_handler_list to parse handler.lst.
5802 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
5803
5804 * term/efi/console.c (grub_console_init): Add name parameter for auto
5805 generation of handler.lst.
5806 * term/gfxterm.c: Likewise.
5807 * term/i386/pc/at_keyboard.c: Likewise.
5808 * term/i386/pc/console.c: Likewise.
5809 * term/i386/pc/serial.c: Likewise.
5810 * term/i386/pc/vesafb.c: Likewise.
5811 * term/i386/pc/vga.c: Likewise.
5812 * term/i386/pc/vga_text.c: Likewise.
5813 * term/ieee1275/ofconsole.c: Likewise.
5814 * term/usb_keyboard.c: Likewise.
5815
33c846be 58162009-04-14 Bean <bean123ch@gmail.com>
5817
5818 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
5819 properly with null character.
5820
4484e01e 58212009-04-14 Felix Zielcke <fzielcke@z-51.de>
5822
5823 * configure: Remove.
5824 * config.h.in: Likewise.
f93d668e 5825 * stamp-h.in: Likewise.
4484e01e 5826 * DISTLIST: Likewise.
5827 * conf/common.mk: Likewise.
5828 * conf/i386-coreboot.mk: Likewise.
5829 * conf/i386-efi.mk: Likewise.
5830 * conf/i386-ieee1275.mk: Likewise.
5831 * conf/i386.mk: Likewise.
5832 * conf/i386-pc.mk: Likewise.
5833 * conf/powerpc-ieee1275.mk: Likewise.
5834 * conf/sparc64-ieee1275.mk: Likewise.
5835 * conf/x86_64-efi.mk: Likewise.
5836
5837 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
5838 develop on GRUB.
5839
7dd4a573 58402009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 5841 David S. Miller <davem@davemloft.net>
5842
5843 * util/hostdisk.c (make_device_name): Fix buffer length
5844 calculations.
5845
e25b5a8c 58462009-04-14 Felix Zielcke <fzielcke@z-51.de>
5847
5848 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
5849 <sys/param.h> and <sys/sysctl.h>.
5850 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
5851 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
5852 opening the device and reset them afterwards.
5853
1f1f580c 58542009-04-13 Pavel Roskin <proski@gnu.org>
5855
5856 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
5857 Reported by John Stanley <jpsinthemix@verizon.net>
5858
7ebc2d6b 58592009-04-13 Robert Millan <rmh@aybabtu.com>
5860
5861 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 5862 that name for menuentries when appropriate.
7ebc2d6b 5863
d8ba3667 58642009-04-13 Felix Zielcke <fzielcke@z-51.de>
5865
5866 * util/grub.d/10_freebsd.in: Add a missing `fi'.
5867
cba416eb 58682009-04-13 Robert Millan <rmh@aybabtu.com>
5869
5870 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
5871 to Linux, simply abort telling the user it's no longer supported.
5872
a547a745 58732009-04-13 Felix Zielcke <fzielcke@z-51.de>
5874
5875 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 5876 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 5877 `freebsd_loadenv' only when devices.hints exist.
5878
232a769c 58792009-04-13 Pavel Roskin <proski@gnu.org>
5880
5881 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
5882
c3012039 58832009-04-13 Felix Zielcke <fzielcke@z-51.de>
5884
5885 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
5886 partition number.
5887 (grub_drive): Likewise.
5888
234022fe 58892009-04-13 David S. Miller <davem@davemloft.net>
5890
5891 * kern/sparc64/ieee1275/ieee1275.c: New file.
5892 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
5893 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
5894 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
5895 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
5896 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
5897 grub_ieee1275_alloc_physmem): Declare new exported functions.
5898
d8e1836c 5899 * include/grub/sparc64/ieee1275/loader.h: New file.
5900 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5901 * include/grub/sparc64/kernel.h: Likewise.
5902 * loader/sparc64/ieee1275/linux.c: Likewise.
5903
96bd81ec 5904 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
5905 (grub_fstest_SOURCES): Likewise.
5906
6a4737e5 5907 * util/hostdisk.c (make_device_name): Do not make any assumptions
5908 about the length of drive names.
5909
1d7a72fd 5910 * kern/dl.c (grub_dl_load_file): Close file immediately when
5911 we are done using it.
5912
56bc2471 59132009-04-12 David S. Miller <davem@davemloft.net>
5914
5915 * kern/misc.c (grub_ltoa): Fix cast when handling negative
5916 values. Noticed by Pavel Roskin.
5917
df38d0bb 5918 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
5919 target compiler.
7dd4a573 5920
e382e93a 5921 * genmk.rb: Add more flexible image type specification, also
5922 pass --strip-unneeded to objcopy.
5923 * conf/i386-pc.rmk: Use *_FORMAT.
5924 * conf/i386-pc.mk: Rebuilt.
5925
f5dbbca9 5926 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
5927 (OFDISK_HASH_SZ): Define.
5928 (ofdisk_hash): New hash table.
5929 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
5930 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
5931 instead of device phandle which is not unique.
5932
91c88b12 5933 * kern/sparc64/ieee1275/init.c: Delete, replace with...
5934 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
5935 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
5936 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
5937 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
5938 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
5939 GRUB_KERNEL_MACHINE_DATA_END): Define.
5940 (grub_kernel_image_size, grub_total_module_size): Declare.
5941
5b5d4aa5 59422009-04-12 Pavel Roskin <proski@gnu.org>
5943
7dd4a573 5944 * configure.ac: Change the logic when we check for target tools.
5945 Do it when the target is specified and it's different from the
5946 specified value of the host.
5b5d4aa5 5947
c91e1793 59482009-04-11 Felix Zielcke <fzielcke@z-51.de>
5949
5950 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
5951 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
5952 GNU/kFreeBSD. Check if a device is a character device. Use
5953 DIOCGMEDIASIZE to get the size.
5954 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
5955 support for GNU/kFreeBSD.
5956 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
5957 is a character device instead of a block device. Add support for
5958 FreeBSD device names.
5959
5960 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
5961 is a character device instead of a block device.
5962
5963 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
5964 is a character device instead of a block device.
5965
b1ac8644 59662009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
5967
5968 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
5969 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
5970 FreeBSD. Check if a device is a character device. Use
5971 DIOCGMEDIASIZE to get the size.
5972 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
5973 support for FreeBSD.
5974 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
5975 is a character device instead of a block device. Add support for
5976 FreeBSD device names.
5977
5978 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
5979 a character device instead of a block device.
5980 (grub_util_check_char_device): New function.
5981
5982 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
5983 a character device instead of a block device.
5984
5985 * include/grub/util/getroot.h (grub_util_check_char_device): New
5986 prototype.
5987
a3f7515a 59882009-04-11 David S. Miller <davem@davemloft.net>
5989
5990 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
5991 static libgcc.
5992 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
5993 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
5994 function, if present.
5995 (__bswapdi2): Likewise.
5996
0d44993d 5997 * include/grub/sparc64/ieee1275/boot.h: New file.
5998 * boot/sparc64/ieee1275/boot.S: Likewise.
5999 * boot/sparc64/ieee1275/diskboot.S: Likewise.
6000
ed3d2bc2 6001 * kern/misc.c (grub_ltoa): New function.
6002 (grub_vsprintf): Use it to format 'long' integers.
6003
d3bfb59c 60042009-04-10 David S. Miller <davem@davemloft.net>
6005
6006 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
6007 slots are of type grub_ieee1275_cell_t.
6008 (grub_nand_read): Likewise.
6009 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
6010 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
6011 macros are used to compare values in arg/ret block of the call.
6012 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
6013 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
6014 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
6015 grub_ieee1275_instance_to_path, grub_ieee1275_write,
6016 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
6017 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
6018 grub_ieee1275_close, grub_ieee1275_set_property,
6019 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
6020 grub_ieee1275_cell_t.
6021 * kern/ieee1275/openfw.c (grub_map): Likewise.
6022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
6023 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
6024
450e2238 6025 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
6026 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6027 (grub_devalias_iterate): Likewise.
6028
7dd4a573 60292009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 6030
6031 UFS improvements
6032
6033 * fs/ufs.c (INODE_NBLOCKS): new definition
6034 (struct grub_ufs_dirent): added fields for non-BSD dirents
6035 (grub_ufs_get_file_block): fixed double indirect handling
6036 (grub_ufs_lookup_symlink): use more robust way to determine whether
6037 symlink is inline
6038 (grub_ufs_find_file): support for non-BSD dirents
6039 (grub_ufs_dir): support for non-BSD dirents
6040
e7e6862a 60412009-04-10 Bean <bean123ch@gnail.com>
6042
6043 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
6044 attribute, otherwise the size would be wrong for i386 platform.
6045
6046 * include/grub/pci.h (grub_pci_read_word): New inline function.
6047 (grub_pci_read_byte): Likewise.
6048 (grub_pci_write): Likewise.
6049 (grub_pci_write_word): Likewise.
6050 (grub_pci_write_byte): Likewise.
6051
6052 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
6053
6054 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
6055 (find_framebuf): Scan pci to locate the frame buffer address.
6056
6057 * commands/efi/fixvideo.c: New file.
6058
6059 * commands/efi/loadbios.c: Likewise.
6060
6061 * commands/memrw.c: Likewise.
6062
6063 * util/grub-dumpbios.in: Likewise.
6064
6065 * conf/common.rmk (grub-dumpbios): New utility.
6066 (pkglib_MODULES): New module memrw.mod.
6067 (memrw_mod_SOURCE): New macro.
6068 (memrw_mod_CFLAGS): Likewise.
6069 (memrw_mod_LDFLAGS): Likewise.
6070
7dd4a573 6071 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 6072 fixvideo.mod.
6073 (loadbios_mod_SOURCE): New macro.
6074 (loadbios_mod_CFLAGS): Likewise.
6075 (loadbios_mod_LDFLAGS): Likewise.
6076 (fixvideo_mod_SOURCE): Likewise.
6077 (fixvideo_mod_CFLAGS): Likewise.
6078 (fixvideo_mod_LDFLAGS): Likewise.
6079
7dd4a573 6080 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 6081 fixvideo.mod.
6082 (loadbios_mod_SOURCE): New macro.
6083 (loadbios_mod_CFLAGS): Likewise.
6084 (loadbios_mod_LDFLAGS): Likewise.
6085 (fixvideo_mod_SOURCE): Likewise.
6086 (fixvideo_mod_CFLAGS): Likewise.
6087 (fixvideo_mod_LDFLAGS): Likewise.
6088
af63ada2 60892009-04-08 Felix Zielcke <fzielcke@z-51.de>
6090
6091 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
6092
c2cdde70 60932009-04-07 David S. Miller <davem@davemloft.net>
6094
6095 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
6096 support for R_SPARC_OLO10 relocations. Fix compile warning for
6097 R_SPARC_WDISP30 case.
ea3f72cf 6098 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 6099
761319cf 61002009-04-06 Pavel Roskin <proski@gnu.org>
6101
1007d1f5 6102 * include/grub/misc.h (ARRAY_SIZE): New macro.
6103 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
6104 New macro.
6105 * loader/i386/linux.c (allocate_pages): Use free_pages().
6106 (grub_linux_unload): Don't use free_pages().
6107 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
6108 wrong index. Treat all other modes as text modes.
6109 (grub_cmd_linux): Initialize vid_mode unconditionally to
6110 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
6111
761319cf 6112 * commands/help.c (print_command_help): Use cmd->prio, not
6113 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
6114
ea761d40 61152009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 6116
ea761d40 6117 Parttool
6118
6119 * parttool/pcpart.c: new file
6120 * commands/parttool.c: likewise
6121 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
6122 (parttool_mod_SOURCES): new variable
6123 (parttool_mod_CFLAGS): likewise
6124 (parttool_mod_LDFLAGS): likewise
6125 (pcpart_mod_SOURCES): likewise
6126 (pcpart_mod_CFLAGS): likewise
6127 (pcpart_mod_LDFLAGS): likewise
7dd4a573 6128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 6129 and parttool/pcpart.c
6130 * conf/i386-efi.rmk: likewise
6131 * conf/i386-ieee1275.rmk: likewise
6132 * conf/i386-pc.rmk: likewise
6133 * conf/powerpc-ieee1275.rmk: likewise
6134 * conf/sparc64-ieee1275.rmk: likewise
6135 * conf/x86_64-ieee1275.rmk: likewise
6136
05aaebfb 61372009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 Support for mtime and further expandability of dir command
6140
6141 * include/grub/lib/datetime.h: moved to ...
7dd4a573 6142 * include/grub/datetime.h: ... moved here and added
05aaebfb 6143 declaration of grub_unixtime2datetime. All users updated
7dd4a573 6144 * include/grub/fs.h: new syntax for dir and mtime functions in
6145 struct grub_fs
05aaebfb 6146 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
6147 and GRUB_FSHELP_FLAGS_MASK
6148 * commands/ls.c (grub_ls_list_files): Write mtime in long format
6149 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
6150 (grub_ext2_mtime): new function
6151 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
6152 (grub_hfsplus_mtime): new function
6153 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
6154 (GRUB_UFS_ATTR_FILE): likewise
6155 (GRUB_UFS_ATTR_LNK): likewise
6156 (struct grub_ufs_sblock): new fields mtime
6157 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
6158 all users updated
6159 (grub_ufs_dir): mtime support
6160 (grub_ufs_mtime): new function
6161 * fs/affs.c (grub_affs_dir): use new dir syntax
6162 * fs/afs.c (grub_afs_dir): likewise
6163 * fs/cpio.c (grub_cpio_dir): likewise
6164 * fs/fat.c (grub_fat_find_dir): likewise
6165 * fs/hfs.c (grub_hfs_dir): likewise
6166 * fs/iso9660.c (grub_iso9660_dir): likewise
6167 * fs/jfs.c (grub_jfs_dir): likewise
6168 * fs/minix.c (grub_minix_dir): likewise
6169 * fs/ntfs.c (grub_ntfs_dir): likewise
6170 * fs/reiserfs.c (grub_reiserfs_dir): likewise
6171 * fs/sfs.c (grub_sfs_dir): likewise
6172 * fs/xfs.c (grub_xfs_dir): likewise
6173 * util/hostfs.c (grub_hostfs_dir): likewise
6174 * lib/datetime.c: moved to ...
6175 * normal/datetime.c: ... moved here
6176 (grub_unixtime2datetime): new function
6177 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 6178 * normal/completion.c (iterate_dir): use new dir syntax
6179 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 6180 last modification time of a volume
7dd4a573 6181 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 6182 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 6183 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 6184 (normal_mod_SOURCES): likewise
6185 (datetime_mod_SOURCES): Removed lib/datetime.c
6186 * conf/i386-efi.rmk: likewise
7dd4a573 6187 * conf/i386-ieee1275.rmk: likewise
05aaebfb 6188 * conf/i386-pc.rmk: likewise
6189 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 6190 * conf/sparc64-ieee1275.rmk: likewise
6191 * conf/x86_64-efi.rmk: likewise
05aaebfb 6192
8a7e1a14 61932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 6196
6197 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 6198 on grub_fat_find_dir
6199 (grub_fat_find_dir): use grub_fat_iterate_dir
6200 (grub_fat_label): likewise
6201
04186a9c 62022009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6203
7dd4a573 6204 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 6205 and command.h
6206 remove extraneous kernel_elf_HEADERS
6207
da4c0bb6 62082009-04-04 Bean <bean123ch@gnail.com>
6209
6210 * include/grub/util/misc.h: Add dummy function fsync for mingw.
6211
6212 * util/misc.c: Likewise.
6213
54ad9555 62142009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
6215
6216 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
6217 instead of grub_printf.
6218
7a6bf9f2 62192009-04-03 Robert Millan <rmh@aybabtu.com>
6220
6221 * loader/i386/linux.c (grub_linux_setup_video): Fill
6222 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
6223 values from `mode info' structure instead of hardcoded
6224 values.
6225
3fcc2083 62262009-04-01 Pavel Roskin <proski@gnu.org>
6227
6228 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
6229 unused now.
6230 * genmk.rb: Likewise.
6231 * configure.ac: Likewise.
6232
5ec9740b 62332009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
6234
6235 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
6236 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
6237
5270cec8 62382009-04-01 David S. Miller <davem@davemloft.net>
6239
6240 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 6241 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 6242 (grub_setjmp): Mark with 'returns_twice' attribute.
6243 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
6244 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
6245 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
6246
9c3dd854 62472009-04-01 Robert Millan <rmh@aybabtu.com>
6248
6249 Reapply fix from 2008-07-28 which was accidentally reverted; also
6250 perform the same fix to a similar check in same function.
6251
6252 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
6253 with the same number are found, just use issue a warning with
6254 grub_dprintf(), as this error has been reported to be non-fatal.
6255
0d818b7e 62562009-03-31 Pavel Roskin <proski@gnu.org>
6257
6258 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
6259 for cross-compilation.
6260
95646d92 62612009-03-30 Robert Millan <rmh@aybabtu.com>
6262
6263 Fix i386-ieee1275 build.
6264
6265 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
6266 Remove declaration.
6267
6a003ed1 62682009-03-30 Pavel Roskin <proski@gnu.org>
6269
6270 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
6271 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
6272 zero-terminated, rely only on the strlen value. Fix comparison
6273 of strings differing in length.
6274
92f33540 62752009-03-30 Robert Millan <rmh@aybabtu.com>
6276
6277 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
6278 checking for abi version. Improve error messages on BIOS to notify
6279 user about `linux16' command.
6280
a8c48fd5 62812009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6282
f968172e 6283 Leak fixes
a8c48fd5 6284
f968172e 6285 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
6286 in case of collision
6287 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 6288
9c323f09 62892009-03-29 Robert Millan <rmh@aybabtu.com>
6290
6291 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
6292 set `vid_mode' accordingly.
6293 (grub_linux_boot): Process `vid_mode' and set video mode.
6294
ae68f423 62952009-03-29 Robert Millan <rmh@aybabtu.com>
6296
6297 * util/grub.d/10_linux.in (linux_entry): New function.
6298 Factorize generation of Linux boot entries.
6299
5709cfc4 63002009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
6301
6302 Make the format of Environment Block plain text. The boot loader
6303 part is not tested well yet.
7dd4a573 6304
5709cfc4 6305 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
6306 (buffer): Removed.
6307 (envblk): Likewise.
6308 (usage): Remove "info" and "clear". Add "unset". Update the
6309 description of "set", as this does not delete variables any
6310 longer.
6311 (create_envblk_file): Complete rewrite.
6312 (open_envblk_file): Likewise.
6313 (cmd_info): Removed.
6314 (cmd_list): Likewise.
6315 (cmd_set): Likewise.
6316 (cmd_clear): Likewise.
6317 (list_variables): New function.
6318 (write_envblk): Likewise.
6319 (set_variables): Likewise.
6320 (unset_variables): Likewise.
6321 (main): Complete rewrite.
6322
6323 * commands/loadenv.c (buffer): Removed.
6324 (envblk): Likewise.
6325 (open_envblk_file): New function.
6326 (read_envblk_file): Complete rewrite.
6327 (grub_cmd_load_env): Likewise.
6328 (grub_cmd_list_env): Likewise.
6329 (struct blocklist): New struct.
6330 (free_blocklists): New function.
6331 (check_blocklists): Likewise.
6332 (write_blocklists): Likewise.
6333 (grub_cmd_save_env): Complete rewrite.
6334
6335 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
6336 a plain text signature.
6337 (GRUB_ENVBLK_MAXLEN): Removed.
6338 (struct grub_envblk): Complete rewrite.
6339 (grub_envblk_find): Removed.
6340 (grub_envblk_insert): Likewise.
6341 (grub_envblk_open): New prototype.
6342 (grub_envblk_set): Likewise.
6343 (grub_envblk_delete): Put const to VALUE.
6344 (grub_envblk_iterate): Put const to NAME and VALUE.
6345 (grub_envblk_close): New prototype.
6346 (grub_envblk_buffer): New inline function.
6347 (grub_envblk_size): Likewise.
6348
6349 * lib/envblk.c: Include grub/mm.h.
6350 (grub_env_find): Removed.
6351 (grub_envblk_open): New function.
6352 (grub_envblk_close): Likewise.
6353 (escaped_value_len): Likewise.
6354 (find_next_line): Likewise.
6355 (grub_envblk_insert): Removed.
6356 (grub_envblk_set): New function.
6357 (grub_envblk_delete): Complete rewrite.
6358 (grub_envblk_iterate): Likewise.
6359
a9368fd3 63602009-03-28 Robert Millan <rmh@aybabtu.com>
6361
6362 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
6363 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
6364 variables. Use 16-bit loader.
6365 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
6366 loader.
6367 * kern/i386/loader.S (grub_linux_boot): Rename to ...
6368 (grub_linux16_boot): ... this. Update all users.
6369 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
6370 (grub_linux_boot): ... this. Update all users.
6371
6372 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
6373 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
6374 commands to `linux16' and `initrd16'.
6375 (GRUB_MOD_FINI(linux)): Rename to ...
6376 (GRUB_MOD_FINI(linux16)): ... this.
6377
e4dd5a7e 63782009-03-24 Pavel Roskin <proski@gnu.org>
6379
6380 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
6381 not just for compilation.
6382
c04d6e05 63832009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 Move multiboot helper out of kernel
6386
6387 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
6388 `loader/i386/multiboot_helper.S'.
6389 * conf/i386-coreboot.rmk: Likewise
6390 * conf/i386-ieee1275.rmk: Likewise
6391
6392 * kern/i386/loader.S: Move multiboot helpers from here...
6393 * loader/i386/multiboot_helper.S: ...moved here
6394 * include/grub/i386/loader.h: Move declarations of multiboot
6395 helpers from here...
6396 * include/grub/i386/multiboot.h: ...moved here
6397 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
6398
42a5b3fc 63992009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6400
6401 * kern/env.c (grub_env_context_open): Added an argument to specify
6402 whether a new context inherits exported variables from current
6403 one. This is useful when making a sandbox to interpret a config
6404 file.
6405 All callers updated.
6406
6407 * include/grub/env.h (grub_env_context_open): Updated the prototype.
6408
b28bbc4e 64092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6410
6411 * kern/env.c (grub_env_context_close): Fix memory leaks.
6412
f04f02e4 64132009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6414
6415 * normal/main.c (grub_normal_execute): Added an argument
6416 BATCH to specify if an interactive interface should be provided
6417 after reading a config file.
6418 All callers updated.
6419 (read_command_list): Prevent being executed twice.
6420 (read_fs_list): Likewise.
6421
42a5b3fc 6422 * include/grub/normal.h (grub_normal_execute): Updated the
6423 prototype.
f04f02e4 6424
41473ac2 64252009-03-22 Pavel Roskin <proski@gno.org>
6426
fbc00b0c 6427 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
6428 _start.
6429 * kern/i386/pc/startup.S: Likewise.
6430 * kern/i386/efi/startup.S: Likewise.
6431 * kern/i386/ieee1275/startup.S: Likewise.
6432 * kern/i386/coreboot/startup.S: Likewise.
6433 * kern/x86_64/efi/startup.S: Likewise.
6434
41473ac2 6435 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
6436 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
6437 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
6438
2274cc8f 64392009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 Bugfixes in multiboot for bugs uncovered by solaris kernel.
6442
6443 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
6444 limit detection.
6445 Use vaddr of correct segment for entry_point.
6446
b1b797cb 64472009-03-21 Bean <bean123ch@gmail.com>
6448
6449 * commands/blocklist.c: Add include file <grub/command.h>, remove
6450 <grub/normal.h> and <grub/arg.h>.
6451 (grub_cmd_blocklist): Use the new command interface.
6452 (GRUB_MOD_INIT): Likewise.
6453 (GRUB_MOD_FINI): Likewise.
6454 * commands/boot.c: Likewise.
6455 * commands/cat.c: Likewise.
6456 * commands/cmp.c: Likewise.
6457 * commands/configfile.c: Likewise.
6458 * commands/crc.c: Likewise.
6459 * commands/echo.c: Likewise.
6460 * commands/halt.c: Likewise.
6461 * commands/handler.c: Likewise.
6462 * commands/hdparm.c: Likewise.
6463 * commands/help.c: Likewise.
6464 * commands/hexdump.c: Likewise.
6465 * commands/loadenv.c: Likewise.
6466 * commands/ls.c: Likewise.
6467 * commands/lsmmap.c: Likewise.
6468 * commands/lspci.c: Likewise.
6469 * commands/loadenv.c: Likewise.
6470 * commands/read.c: Likewise.
6471 * commands/reboot.c: Likewise.
6472 * commands/search.c: Likewise.
6473 * commands/sleep.c: Likewise.
6474 * commands/test.c: Likewise.
6475 * commands/usbtest.c: Likewise.
6476 * commands/videotest.c: Likewise.
6477 * commands/i386/cpuid.c: Likewise.
6478 * commands/i386/pc/halt.c: Likewise.
6479 * commands/i386/pc/play.c: Likewise.
6480 * commands/i386/pc/pxecmd.c: Likewise.
6481 * commands/i386/pc/vbeinfo.c: Likewise.
6482 * commands/i386/pc/vbetest.c: Likewise.
6483 * commands/ieee1275/suspend.c: Likewise.
6484 * disk/loopback.c: Likewise.
6485 * font/font_cmd.c: Likewise.
6486 * hello/hello.c: Likewise.
6487 * loader/efi/appleloader.c: Likewise.
6488 * loader/efi/chainloader.c: Likewise.
6489 * loader/i386/bsd.c: Likewise.
6490 * loader/i386/efi/linux.c: Likewise.
6491 * loader/i386/ieee1275/linux.c: Likewise.
6492 * loader/i386/linux.c: Likewise.
6493 * loader/i386/pc/chainloader.c: Likewise.
6494 * loader/i386/pc/linux.c: Likewise.
6495 * loader/powerpc/ieee1275/linux.c: Likewise.
6496 * loader/multiboot_loader.c: Likewise.
6497 * term/gfxterm.c: Likewise.
6498 * term/i386/pc/serial.c: Likewise.
6499 * term/terminfo.c: Likewise.
6500
6501 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
6502 * term/i386/pc/vga.c: Likewise.
6503 * video/readers/jpeg.c: Likewise.
6504 * video/readers/png.c: Likewise.
6505 * video/readers/tga.c: Likewise.
6506
6507 * util/grub-fstest (cmd_loopback): Removed.
6508 (cmd_blocklist): Likewise.
6509 (cmd_ls): Likewise.
6510 (grub_register_command): Likewise.
6511 (grub_unregister_command): Likewise.
6512 (execute_command): Use grub_command_find to locate command and execute
6513 it.
6514
6515 * include/grub/efi/chainloader.h: Removed.
6516 * loader/efi/chainloader_normal.c: Likewise.
6517 * loader/i386/bsd_normal.c: Likewise.
6518 * loader/i386/pc/chainloader_normal.c: Likewise.
6519 * loader/i386/pc/multiboot_normal.c: Likewise.
6520 * loader/linux_normal.c: Likewise.
6521 * loader/multiboot_loader_normal.c: Likewise.
6522 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
6523
6524 * gencmdlist.sh: Scan new registration command grub_register_extcmd
6525 and grub_register_command_p1.
6526
6527 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
6528 kern/command.c, lib/arg.c and commands/extcmd.c.
6529 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
6530 (minicmd_mod_SOURCES): New variable.
6531 (minicmd_mod_CFLAGS): Likewise.
6532 (minicmd_mod_LDFLAGS): Likewise.
6533 (extcmd_mod_SOURCES): Likewise.
6534 (extcmd_mod_CFLAGS): Likewise.
6535 (extcmd_mod_LDFLAGS): Likewise.
6536 (boot_mod_SOURCES): Removed.
6537 (boot_mod_CFLAGS): Likewise.
6538 (boot_mod_LDFLAGS): Likewise.
6539
6540 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
6541 kern/corecmd.c.
6542 (kernel_img_HEADERS): Add command.h.
6543 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
6544 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
6545 and lib/arg.c.
6546 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
6547 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
6548 remove the corresponding normal mode command.
6549 (normal_mod_SOURCES): Remove normal/arg.c.
6550 * conf/i386-coreboot.rmk: Likewise.
6551 * conf/i386-efi.rmk: Likewise.
6552 * conf/i386-ieee1275.rmk: Likewise.
6553 * conf/powerpc-ieee1275.rmk: Likewise.
6554 * conf/x86_64-efi.rmk: Likewise.
6555
6556 * include/grub/arg.h: Move from here ...
6557 * include/grub/lib/arg.h: ... to here.
6558
6559 * normal/arg.c: Move from here ...
6560 * lib/arg.c: ... to here.
6561
6562 * commands/extcmd.c: New file.
6563 * commands/minicmd.c: Likewise.
6564 * include/grub/command.h: Likewise.
6565 * include/grub/extcmd.h: Likewise.
6566 * kern/command.c: Likewise.
6567 * kern/corecmd.c: Likewise.
6568
6569 * kern/list.c (grub_list_iterate): Return int instead of void.
6570 (grub_list_insert): New function.
6571 (grub_prio_list_insert): Likewise.
6572
6573 * kern/rescue.c (grub_rescue_command): Removed.
6574 (grub_rescue_command_list): Likewise.
6575 (grub_rescue_register_command): Likewise.
6576 (grub_rescue_unregister_command): Likewise.
6577 (grub_rescue_cmd_boot): Move to minicmd.c
6578 (grub_rescue_cmd_help): Likewise.
6579 (grub_rescue_cmd_info): Likewise.
6580 (grub_rescue_cmd_boot): Likewise.
6581 (grub_rescue_cmd_testload): Likewise.
6582 (grub_rescue_cmd_dump): Likewise.
6583 (grub_rescue_cmd_rmmod): Likewise.
6584 (grub_rescue_cmd_lsmod): Likewise.
6585 (grub_rescue_cmd_exit): Likewise.
6586 (grub_rescue_print_devices): Moved to corecmd.c.
6587 (grub_rescue_print_files): Likewise.
6588 (grub_rescue_cmd_ls): Likewise.
6589 (grub_rescue_cmd_insmod): Likewise.
6590 (grub_rescue_cmd_set): Likewise.
6591 (grub_rescue_cmd_unset): Likewise.
7d074e3c 6592 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 6593 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 6594 commands, remove grub_rescue_register_command calls.
b1b797cb 6595
7d074e3c 6596 * normal/command.c (grub_register_command): Removed.
b1b797cb 6597 (grub_unregister_command): Likewise.
6598 (grub_command_find): Likewise.
6599 (grub_iterate_commands): Likewise.
6600 (rescue_command): Likewise.
6601 (export_command): Moved to corecmd.c.
6602 (set_command): Removed.
6603 (unset_command): Likewise.
6604 (insmod_command): Likewise.
6605 (rmmod_command): Likewise.
6606 (lsmod_command): Likewise.
6607 (grub_command_init): Likewise.
6608
6609 * normal/completion.c (iterate_command): Use cmd->prio to check for
6610 active command.
6611 (complete_arguments): Use grub_extcmd_t structure to find options.
6612 (grub_normal_do_completion): Change function grub_iterate_commands to
6613 grub_command_iterate.
6614
6615 * normal/execute.c (grub_script_execute_cmd): No need to parse
6616 argument here.
6617
6618 * normal/main.c (grub_dyncmd_dispatcher): New function.
6619 (read_command_list): Register unload commands as dyncmd.
6620 (grub_cmd_normal): Use new command interface, register rescue,
6621 unregister normal at entry, register normal, unregister rescue at exit.
6622
6623 * include/grub/list.h (grub_list_test_t): New type.
6624 (grub_list_iterate): Return int instead of void.
6625 (grub_list_insert): New function.
6626 (GRUB_AS_NAMED_LIST_P): New macro.
6627 (GRUB_AS_PRIO_LIST): Likewise.
6628 (GRUB_AS_PRIO_LIST_P): Likewise.
6629 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
6630 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
6631 (grub_prio_list): New structure.
6632 (grub_prio_list_insert): New function.
6633 (grub_prio_list_remove): New inline function.
6634
6635 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
6636 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
6637 (GRUB_COMMAND_FLAG_MENU): Likewise.
6638 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6639 (GRUB_COMMAND_FLAG_TITLE): Likewise.
6640 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6641 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
6642 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
6643 (grub_command): Likewise.
6644 (grub_register_command): Likewise.
6645 (grub_command_find): Likewise.
6646 (grub_iterate_commands): Likewise.
6647 (grub_command_init): Likewise.
6648 (grub_arg_parse): Likewise.
6649 (grub_arg_show_help): Likewise.
6650
6651 * include/grub/rescue.h (grub_rescue_register_command): Removed.
6652 (grub_rescue_unregister_command): Likewise.
6653
6654 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
6655 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
6656 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
6657
6658 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
6659 grub_rescue_cmd_initrd.
6660 * include/grub/i386/loader.h: Likewise.
6661 * include/grub/x86_64/loader.h: Likewise.
6662
6663 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
6664
1f4147aa 66652009-03-21 Bean <bean123ch@gmail.com>
6666
6667 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
6668 instead of stat in mingw environment.
6669
6670 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
6671
6672 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
6673
6674 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
6675 AC_CONFIG_LINKS.
6676
2156d5ba 66772009-03-21 Bean <bean123ch@gmail.com>
6678
6679 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
6680 out of range error.
6681
177b82ca 66822009-03-18 Michel Dänzer <michel@daenzer.net>
6683
6684 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
6685 checking inode flags for EXT4_EXTENTS_FLAG.
6686
14aad807 66872009-03-18 Robert Millan <rmh@aybabtu.com>
6688
6689 * loader/i386/linux.c: Include `<grub/video.h>' and
6690 `<grub/i386/pc/vbe.h>'..
6691 (grub_linux_setup_video): New function. Loosely based on the EFI one.
6692 (grub_linux32_boot): Attempt to configure video settings with
6693 grub_linux_setup_video().
6694 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
6695 to avoid grub_console_fini() which would step out of graphical mode
6696 unconditionally.
6697
8cf83a27 66982009-03-14 Robert Millan <rmh@aybabtu.com>
6699
6700 Fix build on powerpc.
6701 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
6702
40164e75 67032009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
6706 background image command.
6707
c58bc32a 67082009-03-12 Colin D Bennett <colin@gibibit.com>
6709
6710 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
6711 (grub_gfxterm_putchar): Extract pairs of identical calls to
6712 draw_cursor out of conditional blocks.
6713
5415144a 67142009-03-11 Pavel Roskin <proski@gnu.org>
6715
6716 * fs/hfs.c (grub_hfs_strncasecmp): New function.
6717 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
6718
6394042e 67192009-03-11 Robert Millan <rmh@aybabtu.com>
6720
6721 * loader/i386/multiboot_elfxx.c
6722 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
6723
b7b50e5f 67242009-03-11 Felix Zielcke <fzielcke@z-51.de>
6725
6726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
6727 `kern/handler.c'.
6728
1ca7fc96 67292009-03-11 Robert Millan <rmh@aybabtu.com>
6730
6731 * loader/i386/multiboot.c (code_size): New variable.
6732 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 6733 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 6734 4-byte alignment to MBI and others by increasing
7d074e3c 6735 `boot_loader_name_length' appropriately.
1ca7fc96 6736
6737 * loader/i386/multiboot_elfxx.c
6738 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
6739
a83ea1d2 67402009-03-09 Felix Zielcke <fzielcke@z-51.de>
6741
6742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
6743 `fs/ext2.c'.
6744
aa9f3bff 67452009-03-08 Robert Millan <rmh@aybabtu.com>
6746
6747 Make loader/i386/linux.c usable on i386-pc again.
6748
6749 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
6750 memory to heap.
6751 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
6752 `#error' stanza.
6753
d8b3b60e 67542009-03-07 Bean <bean123ch@gmail.com>
6755
6756 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
6757 allocation.
6758
b362c9e9 67592009-03-06 Robert Millan <rmh@aybabtu.com>
6760
6761 Fix display issue on terminals with screen size other than 80x25
6762 (e.g. gfxterm with resolution higher than 640x480).
6763
6764 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 6765 position relative to the center of the terminal instead of relying
b362c9e9 6766 on a hardcoded offset.
6767
9304eef1 67682009-03-04 Robert Millan <rmh@aybabtu.com>
6769
6770 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
6771 installed.
6772
6773 * Makefile.in (host_kernel): New variable.
6774 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
6775 scripts instead of just the windows one.
6776 * configure.ac: Initialize and AC_SUBST `host_kernel'.
6777
eabc95fb 67782009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 6779
6780 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
6781 `kern/handler.c'.
6782 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6788
ceb1223c 67892009-03-04 Felix Zielcke <fzielcke@z-51.de>
6790
6791 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
6792 or if there's no space for the disk label and print the partition number on a
6793 invalid magic.
6794
4910684a 67952009-03-04 Felix Zielcke <fzielcke@z-51.de>
6796
6797 * util/misc.c: Include <time.h>.
6798 (grub_millisleep): New function.
6799
7e9ca17a 68002009-03-04 Bean <bean123ch@gmail.com>
6801
6802 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
6803 another option -mno-red-zone.
6804
6805 * commands/handler.c: Change module description.
6806
6807 * kern/handler.c: Add missing space at the end of description line.
6808
6809 * kern/list.c: Likewise.
6810
f501677c 68112009-03-03 Robert Millan <rmh@aybabtu.com>
6812
6813 Move more components to the relocation area, and fix mbi pointer
6814 handling to use the destination rather than the origin (thanks to
6815 Vladimir Serbinenko for spotting).
6816
6817 * loader/i386/multiboot.c (mbi_dest): New variable.
6818 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
6819 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
6820 relocation area.
6821
9902d047 68222009-03-01 Bean <bean123ch@gmail.com>
6823
50fb7002 6824 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 6825 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
6826 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
6827 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
6828
6829 * loader/i386/efi/linux.c (acpi_guid): New variable.
6830 (acpi_guid): Likewise.
6831 (EBDA_SEG_ADDR): New constant.
6832 (LOW_MEM_ADDR): Likewise.
6833 (FAKE_EBDA_SEG): Likewise.
6834 (fake_bios_data): New function.
6835 (grub_linux_boot): Call fake_bios_data.
6836
71b9f361 68372009-03-01 Bean <bean123ch@gmail.com>
6838
6839 * commands/terminal.c: Removed.
6840
6841 * commands/handler.c: New file.
6842
6843 * include/grub/list.h: Likewise.
6844
6845 * include/grub/handler.h: Likewise.
6846
6847 * kern/list.c: Likewise.
6848
6849 * kern/handler.c: Likewise.
6850
6851 * kern/term.h: Include header file <grub/handler.h>.
6852 (grub_term_input): Move next field to the beginning.
6853 (grub_term_output): Likewise.
6854 (grub_term_input_class): New variable.
6855 (grub_term_output_class): Likewise.
6856 (grub_term_register_input): Changed to inline function.
6857 (grub_term_register_output): Likewise.
6858 (grub_term_unregister_input): Likewise.
6859 (grub_term_unregister_output): Likewise.
6860 (grub_term_set_current_input): Likewise.
6861 (grub_term_set_current_output): Likewise.
6862 (grub_term_get_current_input): Likewise.
6863 (grub_term_get_current_output): Likewise.
6864 (grub_term_iterate_input): Removed.
6865 (grub_term_iterate_output): Likewise.
6866
6867 * kern/term.c (grub_term_list_input): Removed.
6868 (grub_term_list_output): Likewise.
6869 (grub_term_input_class): New variable.
6870 (grub_term_output_class): Likewise.
50fb7002 6871 (grub_cur_term_input): Change variable as macro.
71b9f361 6872 (grub_cur_term_output): Likewise.
6873 (grub_term_register_input): Removed.
6874 (grub_term_register_output): Likewise.
6875 (grub_term_unregister_input): Likewise.
6876 (grub_term_unregister_output): Likewise.
6877 (grub_term_set_current_input): Likewise.
6878 (grub_term_set_current_output): Likewise.
6879 (grub_term_iterate_input): Likewise.
6880 (grub_term_iterate_output): Likewise.
6881 (grub_term_get_current_input): Likewise.
6882 (grub_term_get_current_output): Likewise.
6883
6884 * util/grub-editenv.c: Include header file <grub/handler.h>.
6885 (grub_term_get_current_input): Removed.
6886 (grub_term_get_current_output): Likewise.
6887 (grub_term_input_class): New variable.
50fb7002 6888 (grub_term_output_class): Likewise.
71b9f361 6889
6890 * util/grub-fstest.c (grub_term_get_current_input): Removed.
6891 (grub_term_get_current_output): Likewise.
6892 (grub_term_input_class): New variable.
50fb7002 6893 (grub_term_output_class): Likewise.
71b9f361 6894
6895 * util/grub-probe.c (grub_term_get_current_input): Removed.
6896 (grub_term_get_current_output): Likewise.
6897 (grub_term_input_class): New variable.
50fb7002 6898 (grub_term_output_class): Likewise.
71b9f361 6899
6900 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
6901 (grub_term_get_current_output): Likewise.
6902 (grub_term_input_class): New variable.
50fb7002 6903 (grub_term_output_class): Likewise.
71b9f361 6904
6905 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
6906 (terminal_mod_SOURCES): Likewise.
6907 (terminal_mod_CFLAGS): Likewise.
6908 (terminal_mod_LDFLAGS): Likewise.
6909
6910 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
6911 handler.c.
6912 (kernel_img_SOURCES): Add list.c and handler.c.
6913 (kernel_img_HEADERS): Add list.h and handler.h.
6914
6915 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
6916 handler.c.
6917 (kernel_mod_SOURCES): Add list.c and handler.c.
6918 (kernel_mod_HEADERS): Add list.h and handler.h.
6919
6920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
6921 handler.c.
6922 (kernel_elf_SOURCES): Add list.c and handler.c.
6923 (kernel_elf_HEADERS): Add list.h and handler.h.
6924
6925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
6926 handler.c.
6927 (kernel_elf_SOURCES): Add list.c and handler.c.
6928 (kernel_elf_HEADERS): Add list.h and handler.h.
6929
6930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
6931 handler.c.
6932 (kernel_mod_SOURCES): Add list.c and handler.c.
6933 (kernel_mod_HEADERS): Add list.h and handler.h.
6934
6935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
6936 handler.c.
6937 (kernel_elf_SOURCES): Add list.c and handler.c.
6938 (kernel_elf_HEADERS): Add list.h and handler.h.
6939
8a31787f 69402009-02-27 Robert Millan <rmh@aybabtu.com>
6941
6942 Factorize elf32 / elf64 code in Multiboot loader. This will
6943 prevent it from getting out of sync again.
6944
6945 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
6946 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
6947 grub_multiboot_load_elf64): Move from here ...
6948 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
6949 grub_multiboot_load_elf): ... to here (new file).
6950
51cd3dfc 69512009-02-27 Robert Millan <rmh@aybabtu.com>
6952
6953 * util/grub.d/10_linux.in: Rename "single-user mode" to
6954 "recovery mode".
6955
6e8c9c3a 69562009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 Don't leak in SCSI code.
6959 * disk/scsi.c (grub_scsi_close): free `scsi'.
6960
4b6bf4f9 69612009-02-27 Robert Millan <rmh@aybabtu.com>
6962
6963 * loader/i386/pc/multiboot.c: Move from here ...
6964 * loader/i386/multiboot.c: ... to here. Update all users.
6965
b9413424 69662009-02-27 Robert Millan <rmh@aybabtu.com>
6967
6968 Patch from Alexandre Bique <bique.alexandre@gmail.com>
6969 * util/i386/pc/grub-setup.c (setup): Fix directory path.
6970
50fb7002 69712009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 6972
6973 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
6974 b-tree.
6975
8cc50345 69762009-02-27 Robert Millan <rmh@aybabtu.com>
6977
6978 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
6979 `0x' qualifier as 0 when base is specified as parameter).
6980
6e09b8b7 69812009-02-24 Bean <bean123ch@gmail.com>
6982
6983 * configure.ac: Check for -mcmodel=large in x86_64 target.
6984
6985 * include/grub/efi/api.h (efi_call_10): New macro.
6986 (efi_wrap_10): New function.
6987
6988 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
6989 (GRUB_PE32_REL_BASED_HIGH): Likewise.
6990 (GRUB_PE32_REL_BASED_LOW): Likewise.
6991 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
6992 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
6993 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
6994 (GRUB_PE32_REL_BASED_SECTION): Likewise.
6995 (GRUB_PE32_REL_BASED_REL): Likewise.
6996 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
6997 (GRUB_PE32_REL_BASED_DIR64): Likewise.
6998 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
6999
7000 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
7001 issue.
7002
7003 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
7004 (efi_wrap_10): New function.
7005
7006 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
7007
7008 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
7009 MB/MBP model (NV chipset).
7010 (devdata_devs): Add devpath_5 to the list.
7011
7012 * load/i386/efi/linux.c (video_base): Remove variable.
7013 (RGB_MASK): New macro.
7014 (RGB_MAGIC): Likewise.
7015 (LINE_MIN): Likewise.
7016 (LINE_MAX): Likewise.
7017 (FBTEST_STEP): Likewise.
7018 (FBTEST_COUNT): Likewise.
7019 (fb_list): New variable.
7020 (grub_find_video_card): Remove function.
7021 (find_framebuf): New function.
7022 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
7023 line length.
7024
7025 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
7026 problem for x86_64.
7027
74b21bee 70282009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
7029
7030 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
7031
7032 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
7033 coding tool name.
7034
a455f472 70352009-02-22 Robert Millan <rmh@aybabtu.com>
7036
7037 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
7038 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
7039 in our relocation, instead of using it directly from heap. Also
7040 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
7041
6374daf3 70422009-02-21 Robert Millan <rmh@aybabtu.com>
7043
7044 Implement USB keyboard support (based on patch by Marco Gerards)
7045
7046 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
7047 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
7048 (usb_keyboard_mod_LDFLAGS): New variables.
7049
7050 * term/usb_keyboard.c: New file.
7051
8fa4ea70 70522009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 Corrected wrong declaration
7055
7056 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
7057
353976ac 70582009-02-14 Christian Franke <franke@computer.org>
7059
7060 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
7061 (grub_lspci_iter): Print class code and programming interface byte.
7062
6aa1169b 70632009-02-14 Christian Franke <franke@computer.org>
7064
7065 * gendistlist.sh: Ignore `.svn' directories.
7066
265372ca 70672009-02-14 Felix Zielcke <fzielcke@z-51.de>
7068
7069 * fs/fat.c: Add 2009 to Copyright line.
7070
9ff516f3 70712009-02-14 Christian Franke <franke@computer.org>
7072
7073 * commands/hdparm.c: New file. Provides `hdparm' command
7074 which sends ATA commands via grub_disk_ata_pass_through ().
7075
7076 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
7077
7078 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
7079 and <grub/cpu/io.h> to include/grub/ata.h.
7080 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
7081 (GRUB_CDROM_SECTOR_SIZE): Remove.
7082 (GRUB_ATA_*): Move to include/grub/ata.h.
7083 (GRUB_ATAPI_*): Likewise.
7084 (enum grub_ata_commands): Likewise.
7085 (enum grub_ata_timeout_milliseconds): Likewise.
7086 (struct grub_ata_device): Likewise.
7087 (grub_ata_regset): Likewise.
7088 (grub_ata_regget): Likewise.
7089 (grub_ata_regset2): Likewise.
7090 (grub_ata_regget2): Likewise.
7091 (grub_ata_check_ready): Likewise.
7092 (grub_ata_wait_not_busy): Remove static, exported in
7093 include/grub/ata.h.
7094 (grub_ata_wait_drq): Likewise.
7095 (grub_ata_pio_read): Likewise.
7096
7097 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
7098 function for hdparm.mod.
7099
7100 * include/grub/ata.h: New file, contains declarations from
7101 disk/ata.c.
7102 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
7103
7104 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
7105 (grub_disk_ata_pass_through): New exported variable.
7106
7107 * kern/disk.c (grub_disk_ata_pass_through): New variable.
7108
772e23da 71092009-02-13 Colin D Bennett <colin@gibibit.com>
7110
7111 Support multiple fallback entries, and provide an API to support
7112 executing default+fallback menu entries. Renamed the `terminal' menu
7113 viewer to `text'.
7114
7115 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
7116 variable declaration.
7117 (grub_menu_execute_callback): New structure declaration.
7118 (grub_menu_execute_callback_t): New typedef.
7119 (grub_menu_execute_with_fallback): New function declaration.
7120 (grub_menu_get_entry): Likewise.
7121 (grub_menu_get_timeout): Likewise.
7122 (grub_menu_set_timeout): Likewise.
7123
7124 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
7125
7126 * normal/menu.c (grub_wait_after_message): Moved to
7127 `normal/menu_text.c'.
7128 (draw_border): Likewise.
7129 (print_message): Likewise.
7130 (print_entry): Likewise.
7131 (print_entries): Likewise.
7132 (grub_menu_init_page): Likewise.
7133 (get_entry_number): Likewise.
7134 (print_timeout): Likewise.
7135 (run_menu): Likewise.
7136 (grub_menu_execute_entry): Likewise.
7137 (show_text_menu): Likewise.
7138 (get_and_remove_first_entry_number): New function.
7139 (grub_menu_execute_with_fallback): Likewise.
7140 (get_entry): Renamed to ...
7141 (grub_menu_get_entry): .. this and made it global.
7142 (get_timeout): Renamed to ...
7143 (grub_menu_get_timeout): ... this and made it global.
7144 (set_timeout): Renamed to ...
7145 (grub_menu_set_timeout): ... this and made it global.
7146 (grub_normal_terminal_menu_viewer): Renamed to ...
7147 (grub_normal_text_menu_viewer): ... this.
7148
7149 * normal/menu_text.c: New file. Extracted text-menu-specific code
7150 from normal/menu.c.
7151
7152 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
7153 (normal_mod_SOURCES): Likewise.
7154
7155 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7156 (normal_mod_SOURCES): Likewise.
7157
7158 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7159 (normal_mod_SOURCES): Likewise.
7160
7161 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
7162 (normal_mod_SOURCES): Likewise.
7163
7164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7165 (normal_mod_SOURCES): Likewise.
7166
7167 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7168 (normal_mod_SOURCES): Likewise.
7169
7170 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7171 (normal_mod_SOURCES): Likewise.
7172
16ac430e 71732009-02-11 Robert Millan <rmh@aybabtu.com>
7174
7175 * util/grub.d/00_header.in: Update old reference to `font' command.
7176
06ff20fc 71772009-02-10 Felix Zielcke <fzielcke@z-51.de>
7178
7179 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
7180
7181 Based on patch from Javier Martín.
7182
96da9407 71832009-02-09 Felix Zielcke <fzielcke@z-51.de>
7184
7185 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 7186 to avoid false positives with FAT.
96da9407 7187 (grub_fstest_SOURCES): Likewise.
7188 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7189 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7194
6dca6fe4 71952009-02-09 Felix Zielcke <fzielcke@z-51.de>
7196
06ff20fc 7197 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 7198 bpb.version_specific.fat12_or_fat16.fstype and
7199 bpb.version_specific.fat32.fstype.
7200
2550c62f 72012009-02-08 Robert Millan <rmh@aybabtu.com>
7202
be110b30 7203 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 7204
56978920 72052009-02-08 Robert Millan <rmh@aybabtu.com>
7206
7207 * Makefile.in (host_os, host_cpu): New variables.
7208 (target_os): Remove. Update all users.
7209
d64399b5 72102009-02-08 Marco Gerards <marco@gnu.org>
7211
7212 * Makefile.in (enable_grub_emu_usb): New variable.
7213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
7214 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
7215 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
7216 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
7217 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
7218 `usbtest.mod' and `usbms.mod'.
7219 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
7220 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
7221 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
7222 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
7223 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
7224 variables.
7225
7226 * disk/usbms.c: New file.
7227
7228 * include/grub/usb.h: Likewise.
7229
7230 * include/grub/usbtrans.h: Likewise.
7231
7232 * include/grub/usbdesc.h: Likewise.
7233
7234 * bus/usb/usbtrans.c: Likewise.
7235
7236 * bus/usb/ohci.c: Likewise.
7237
7238 * bus/usb/uhci.c: Likewise.
7239
7240 * bus/usb/usbhub.c: Likewise.
7241
7242 * bus/usb/usb.c: Likewise.
7243
7244 * commands/usbtest.c: Likewise.
7245
7246 * util/usb.c: Likewise.
50fb7002 7247
d64399b5 7248 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
7249
7250 * configure.ac: Test for libusb presence.
50fb7002 7251
d64399b5 7252 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
7253
2b40d6bb 72542009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
7255
7256 * kern/mm.c: Add more comments.
7257
73a4ce81 72582009-02-08 Robert Millan <rmh@aybabtu.com>
7259
7260 Patch from Javier Martín.
7261 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
7262 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
7263
f821ce59 72642009-02-08 Robert Millan <rmh@aybabtu.com>
7265
7266 * fs/cpio.c: Split tar functionality to ...
7267 * fs/tar.c: ... here (new file). Update all users.
7268
aebfc4b0 72692009-02-07 Robert Millan <rmh@aybabtu.com>
7270
7271 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
7272 backward-incompatible features.
7273
7274 Based on patch from Javier Martín, with some adjustments.
7275
50fb7002 72762009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 7277
7278 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
7279
0bb5115e 72802009-02-07 Robert Millan <rmh@aybabtu.com>
7281
7282 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
7283 position of `disk/lvm.c' to ensure grub_init_all() always picks it
7284 after the RAID stuff.
7285
38a0f8e7 72862009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
7287
50fb7002 7288 Fixes problem when running vbetest command as reported by
38a0f8e7 7289 Vladimir Serbinenko <phcoder@gmail.com>.
7290
7291 * (grub_vbe_set_video_mode): Fixed problem with text modes.
7292
3143cc1c 72932009-02-04 Felix Zielcke <fzielcke@z-51.de>
7294
7295 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
7296 /dev/md/NpN style mdraid devices.
7297
9cba6fce 72982009-02-03 Felix Zielcke <fzielcke@z-51.de>
7299
7300 * util/unifont2pff.rb: Remove.
7301
e507a2c1 73022009-02-03 Felix Zielcke <fzielcke@z-51.de>
7303
7304 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
7305 `#'.
7306
d2c2b4cd 73072009-02-03 Felix Zielcke <fzielcke@z-51.de>
7308
7309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
7310 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7311 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7316
b4315fb0 73172009-02-02 Christian Franke <franke@computer.org>
7318
7319 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
7320
de3aa260 73212009-02-01 Felix Zielcke <fzielcke@z-51.de>
7322
7c3ff286 7323 * INSTALL: Note that we now require at least autoconf 2.59 and
7324 that LZO is optional.
de3aa260 7325
825a182b 73262009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7327
7328 Base on patch on bug #24154 created by Tomas Tintera
7329 <trosos@seznam.cz>.
7330
7331 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
7332
a69ef770 73332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7334
7c3ff286 7335 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 7336 <bero@arklinux.org>.
7337
7338 * normal/parser.y (script_init): Add missing semicolon.
7339
6fa42fa6 73402009-01-31 Colin D Bennett <colin@gibibit.com>
7341
7c3ff286 7342 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 7343 (free_menu_entry_classes): Added.
7344 (grub_normal_menu_addentry): Added class property handling.
7345 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
7346 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
7347
7348 * normal/menu_viewer.c: New file.
7349
7350 * normal/menu.c (run_menu_entry): Renamed to ...
7351 (grub_menu_execute_entry): ... this and made it as global.
7352 (grub_menu_run): Renamed to ...
7353 (show_text_menu): ... this and made it local.
7354 (show_text_menu): Adapt to new function names.
7355 (grub_normal_terminal_menu_viewer): New global variable.
7356
7357 * include/grub/menu.h: New file.
7358
7359 * include/grub/menu_viewer.h: New file.
7360
7361 * include/grub/normal.h: Added include to grub/menu.h.
7362 (grub_menu_entry): Moved to include/grub/menu.h.
7363 (grub_menu_entry_t): Likewise.
7364 (grub_menu): Likewise.
7365 (grub_menu_t): Likewise.
7366 (grub_normal_terminal_menu_viewer): Added.
7367 (grub_menu_execute_entry): Likewise.
7368 (grub_menu_run): Removed.
7369
7370 * DISTLIST: Added include/grub/menu.h.
7371 Added include/grub/menu_viewer.h.
7372 Added normal/menu_viewer.c.
7373
73742009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
7375
7376 * normal/execute.c (grub_script_execute_menuentry): Changed to use
7377 arglist for menutitle arguments.
7378
7379 * normal/main.c (grub_normal_menu_addentry): Likewise.
7380
7381 * normal/parser.y (menuentry): Likewise.
7382
7383 * normal/script.c (grub_script_create_cmdmenu): Likewise.
7384
7385 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
7386 (grub_script_create_cmdmenu): Likewise.
7387
7388 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
7389
7390 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
7391 changes.
7392
7393 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
7394
7395 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
7396
7397 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
7398
7399 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7400
7401 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7402
7403 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7404
56192c23 74052009-01-30 Christian Franke <franke@computer.org>
7406
7407 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
7408 in option help text.
7409
d72521b3 74102009-01-27 Pavel Roskin <proski@gnu.org>
7411
7412 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
7413
994b5e84 74142009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7415
7416 * commands/lsmmap.c: Add include to grub/machine/memory.h.
7417
7418 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
7419
7420 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
7421 unregister function.
7422
6a7eab2c 74232009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7424
7425 * disk/scsi.c (grub_scsi_read): Fix sign problem.
7426
7427 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
7428
7429 * util/grub-mkfont.c (usage): Fix typo.
7430
7431 * util/elf/grub-mkimage.c (load_modules): Fix warning.
7432
1806b56e 74332009-01-26 Daniel Mierswa <impulze@impulze.org>
7434
3fb18f09 7435 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
7436
336e1fb9 7437 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
7438
1806b56e 7439 * kern/misc.c (grub_strcasecmp): New function.
7440 (grub_strcasecmp): Use grub_size_t instead of int for length.
7441 Fix return value.
7442 * include/grub/misc.h: Update function prototypes.
7443
580b2a0f 74442009-01-26 Robert Millan <rmh@aybabtu.com>
7445
7446 * configure.ac: Fix cross-compilation check.
ef257b36 7447
d31c24f1 74482009-01-22 Christian Franke <franke@computer.org>
7449
7450 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
7451 (precision) digit string. Allow `.format2' without `format1' (width).
7452 Limit input chars for `%s' output to `format2' if specified. This is
7453 compatible with standard printf ().
7454
3138b44c 74552009-01-22 Christian Franke <franke@computer.org>
7456
7457 * disk/ata.c (grub_ata_wait_status): Replace by ...
7458 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
7459 other status bits may be invalid while BSY is asserted.
7460 (grub_ata_check_ready): New function.
7461 (grub_ata_cmd): Removed.
7462 (grub_ata_wait_drq): New function.
7463 (grub_ata_strncpy): Remove inline.
7464 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
7465 and error check now done by grub_ata_wait_drq ().
7466 (grub_ata_pio_write): Likewise.
7467 (grub_atapi_identify): Set DEV before check for !BSY. Use
7468 grub_ata_wait_drq () to wait for data.
7469 (grub_ata_device_initialize): Add status register check to
7470 detect missing SATA slave devices. Add debug messages.
7471 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
7472 (grub_atapi_packet): Set DEV before check for !BSY. Replace
7473 transfer loop by grub_ata_pio_write ().
7474 (grub_ata_identify): Set DEV before check for !BSY. Use
7475 grub_ata_wait_drq () to wait for data.
ef257b36 7476 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 7477 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
7478 read/write in one loop. Fix invalid command on write. Fix incomplete
7479 command on (size % batch) == 0. Add missing error check after write of
7480 last block. Add debug messages.
7481 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
7482
59a64ef6 74832009-01-19 Christian Franke <franke@computer.org>
7484
7485 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
7486 (GRUB_ATAPI_IREASON_*): Likewise.
7487 (grub_ata_pio_write): Fix timeout error return.
7488 (grub_atapi_identify): Add grub_ata_wait () after cmd.
7489 (grub_atapi_wait_drq): New function.
7490 (grub_atapi_packet): New parameter `size'.
7491 Use grub_atapi_wait_drq () and direct write instead of
7492 grub_ata_pio_write ().
7493 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
7494 reads the number of bytes requested by the device for each DRQ
7495 assertion.
7496 (grub_atapi_write): Remove old implementation, return not
7497 implemented instead.
7498
1cfe20b3 74992009-01-19 Christian Franke <franke@computer.org>
7500
7501 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
7502 of 512 to calculate data size.
7503 (grub_scsi_read12): Likewise.
7504 (grub_scsi_write10): Likewise.
7505 (grub_scsi_write12): Likewise.
7506 (grub_scsi_read): Adjust size according to blocksize.
7507 Add checks for invalid blocksize and unaligned transfer.
7508
bee5fe5d 75092009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
7510
7511 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
7512
ef257b36 7513 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 7514 width glyphs.
7515
3e643f8c 75162009-01-19 Robert Millan <rmh@aybabtu.com>
7517
7518 * config.guess: Update to latest version from config git.
7519 * config.sub: Likewise.
7520
4fa80998 75212009-01-17 Felix Zielcke <fzielcke@z-51.de>
7522
7523 * Makefile.in: Change font compilation to use new grub-mkfont instead
7524 of java version.
7525
7526 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
7527 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
7528 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7529 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7530 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
7531 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
7532 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
7533 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
7534 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7535
7086085b 75362009-01-16 Christian Franke <franke@computer.org>
7537
7538 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
7539 (enum grub_ata_timeout_milliseconds): New enum.
7540 (grub_ata_wait_status): Add parameter milliseconds.
7541 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
7542 recovery from timed-out commands.
7543 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
7544 return grub_errno instead of REG_ERROR.
7545 (grub_ata_pio_write): Add parameter milliseconds.
7546 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
7547 Pass milliseconds to grub_ata_wait_status () and
7548 grub_ata_pio_read ().
7549 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
7550 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
7551 grub_ata_wait_status (). Fix IDENTIFY timeout check.
7552 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
7553 It is not suitable for device detection, because DEV bit is ignored,
7554 the command may run too long, and not all devices set the signature
7555 properly.
7556 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
7557 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
7558 Fix device selection, DEV bit must be set first to address the registers
7559 of the correct device.
7560 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
7561 grub_ata_pio_read/write ().
7562 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
7563 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
7564
4a412913 75652009-01-13 Carles Pina i Estany <carles@pina.cat>
7566
7567 * util/grub-editenv.c (main): Use fseeko(), not fseek().
7568
7795c55e 75692009-01-13 Bean <bean123ch@gmail.com>
d913988c 7570
7571 * util/grub-mkfont.c (write_font): forget to remove some debug code.
7572
7795c55e 75732009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 7574
7575 * Makefile.in: (enable_grub_mkfont): New variable.
7576 (freetype_cflags): Likewise.
7577 (freetype_libs): Likewise.
7578
7579 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
7580 (grub_mkfont_SOURCES): New variable.
7581 (grub_mkfont_CFLAGS): Likewise.
7582 (grub_mkfont_LDFLAGS): Likewise.
7583
7584 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
7585 library if `--enable-grub-mkfont' is requested.
7586 (enable_grub_mkfont): New variable.
7587 (freetype_cflags): Likewise.
7588 (freetype_libs): Likewise.
7589
7590 * util/grub-mkfont.c: New file.
7591
093af1fe 75922009-01-12 Christian Franke <franke@computer.org>
7593
7594 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
7595 mode check. Fix setting of compat_use[].
7596
f36cc108 75972009-01-10 Robert Millan <rmh@aybabtu.com>
7598
7599 Update a few copyright years which we forgot to do in 2008 (only for
7600 files whose changes made in 2008 were copyright-significant)
7601
7602 * Makefile.in: Add 2008 to Copyright line.
7603 * disk/ieee1275/ofdisk.c: Likewise.
7604 * disk/efi/efidisk.c: Likewise.
7605 * kern/dl.c: Likewise.
7606 * kern/sparc64/ieee1275/init.c: Likewise.
7607 * kern/mm.c: Likewise.
7608 * kern/efi/mm.c: Likewise.
7609 * boot/i386/pc/boot.S: Likewise.
7610 * genfslist.sh: Likewise.
7611 * fs/iso9660.c: Likewise.
7612 * fs/hfs.c: Likewise.
7613 * fs/jfs.c: Likewise.
7614 * fs/minix.c: Likewise.
7615 * fs/ufs.c: Likewise.
7616 * gensymlist.sh.in: Likewise.
7617 * genkernsyms.sh.in: Likewise.
7618 * include/grub/misc.h: Likewise.
7619 * include/grub/types.h: Likewise.
7620 * include/grub/symbol.h: Likewise.
7621 * include/grub/elf.h: Likewise.
7622 * include/grub/kernel.h: Likewise.
7623 * include/grub/disk.h: Likewise.
7624 * include/grub/dl.h: Likewise.
7625 * include/grub/i386/linux.h: Likewise.
7626 * include/grub/i386/pc/biosdisk.h: Likewise.
7627 * include/grub/efi/api.h: Likewise.
7628 * include/grub/efi/pe32.h: Likewise.
7629 * include/grub/util/misc.h: Likewise.
7630 * normal/execute.c: Likewise.
7631 * normal/arg.c: Likewise.
7632 * normal/completion.c: Likewise.
7633 * normal/lexer.c: Likewise.
7634 * normal/parser.y: Likewise.
7635 * normal/misc.c: Likewise.
7636 * commands/i386/pc/vbeinfo.c: Likewise.
7637 * commands/hexdump.c: Likewise.
7638 * commands/terminal.c: Likewise.
7639 * commands/ls.c: Likewise.
7640 * commands/help.c: Likewise.
7641 * partmap/pc.c: Likewise.
7642 * loader/efi/chainloader.c: Likewise.
7643 * loader/multiboot_loader.c: Likewise.
7644 * loader/i386/pc/multiboot2.c: Likewise.
7645 * term/efi/console.c: Likewise.
7646 * term/i386/pc/serial.c: Likewise.
7647 * util/lvm.c: Likewise.
7648 * util/console.c: Likewise.
7649 * util/i386/efi/grub-mkimage.c: Likewise.
7650 * util/raid.c: Likewise.
7651
7f02114b 76522009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
7653
7654 * commands/videotest.c: Removed include to grub/machine/memory.h.
7655
7656 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
7657 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
7658 (video_mod_SOURCES): Removed.
7659 (video_mod_CFLAGS): Likewise.
7660 (video_mod_LDFLAGS): Likewise.
7661 (gfxterm_mod_SOURCES): Likewise.
7662 (gfxterm_mod_CFLAGS): Likewise.
7663 (gfxterm_mod_LDFLAGS): Likewise.
7664 (videotest_mod_SOURCES): Likewise.
7665 (videotest_mod_CFLAGS): Likewise.
7666 (videotest_mod_LDFLAGS): Likewise.
7667 (bitmap_mod_SOURCES): Likewise.
7668 (bitmap_mod_CFLAGS): Likewise.
7669 (bitmap_mod_LDFLAGS): Likewise.
7670 (tga_mod_SOURCES): Likewise.
7671 (tga_mod_CFLAGS): Likewise.
7672 (tga_mod_LDFLAGS): Likewise.
7673 (jpeg_mod_SOURCES): Likewise.
7674 (jpeg_mod_CFLAGS): Likewise.
7675 (jpeg_mod_LDFLAGS): Likewise.
7676 (png_mod_SOURCES): Likewise.
7677 (png_mod_CFLAGS): Likewise.
7678 (png_mod_LDFLAGS): Likewise.
7679
7680 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
7681 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
7682 (video_mod_SOURCES): Added.
7683 (video_mod_CFLAGS): Likewise.
7684 (video_mod_LDFLAGS): Likewise.
7685 (videotest_mod_SOURCES): Likewise.
7686 (videotest_mod_CFLAGS): Likewise.
7687 (videotest_mod_LDFLAGS): Likewise.
7688 (bitmap_mod_SOURCES): Likewise.
7689 (bitmap_mod_CFLAGS): Likewise.
7690 (bitmap_mod_LDFLAGS): Likewise.
7691 (tga_mod_SOURCES): Likewise.
7692 (tga_mod_CFLAGS): Likewise.
7693 (tga_mod_LDFLAGS): Likewise.
7694 (jpeg_mod_SOURCES): Likewise.
7695 (jpeg_mod_CFLAGS): Likewise.
7696 (jpeg_mod_LDFLAGS): Likewise.
7697 (png_mod_SOURCES): Likewise.
7698 (png_mod_CFLAGS): Likewise.
7699 (png_mod_LDFLAGS): Likewise.
7700 (gfxterm_mod_SOURCES): Likewise.
7701 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 7702 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 7703
7704 * term/gfxterm.c: Removed include to grub/machine/memory.h,
7705 grub/machine/console.h.
7706
644fff97 77072009-01-04 Jerone Young <jerone@gmail.com>
7708
7709 Make on screen instructions clearer
7710
7711 Based on patch created by Jidanni <jidanni@jidanni.org>
7712
7713 * normal/menu.c: print clearer instructions on the screen
7714
1e901a75 77152009-01-02 Colin D Bennett <colin@gibibit.com>
7716
7717 New font engine.
34c44600 7718
1e901a75 7719 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
7720 build system and fixed gfxterm.c to work with different sized fonts.
7721
7722 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 7723
1e901a75 7724 * configure: Re-generated.
34c44600 7725
1e901a75 7726 * DISTLIST: Removed font/manager.c.
7727 Added font/font.c.
7728 Added font/font_cmd.c.
34c44600 7729
1e901a75 7730 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
7731 compilation.
34c44600 7732
1e901a75 7733 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 7734
7735 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 7736
7737 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 7738
1e901a75 7739 * normal/menu.c: Likewise.
34c44600 7740
1e901a75 7741 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
7742 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 7743
1e901a75 7744 * include/grub/font.h: Replaced with new file.
34c44600 7745
1e901a75 7746 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
7747 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
7748 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
7749 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
7750 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 7751 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 7752 fg_red, fg_green, fg_blue, fg_alpha.
7753 (grub_video_adapter): Removed blit_glyph.
34c44600 7754 (grub_video_blit_glyph): Removed.
7755
1e901a75 7756 * font/manager.c: Removed file.
34c44600 7757
7758 * font/font.c: New file.
7759
1e901a75 7760 * font/font_cmd.c: Likewise.
34c44600 7761
1e901a75 7762 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 7763
1e901a75 7764 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
7765 (grub_video_vbe_map_rgba): Likewise.
7766 (grub_video_vbe_unmap_color_int): Likewise.
7767 (grub_video_vbe_blit_glyph): Removed.
7768 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 7769
1e901a75 7770 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
7771 (get_pixel): Likewise.
34c44600 7772 (set_pixel): Likewise.
7773
1e901a75 7774 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 7775
1e901a75 7776 * term/gfxterm.c: Adapted to new font engine.
34c44600 7777
1e901a75 7778 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 7779
1e901a75 7780 * term/i386/pc/vga.c: Likewise.
34c44600 7781
1e901a75 7782 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 7783
1e901a75 7784 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 7785
1e901a75 7786 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7787
1e901a75 7788 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7789
1e901a75 7790 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 7791
1e901a75 7792 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 7793
1e901a75 7794 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 7795
1e901a75 7796 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 7797
1e901a75 7798 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7799
7800 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 7801
1e901a75 7802 * util/grub-mkconfig_lib.in: Changed font extension.
7803
278922e8 78042008-12-28 Felix Zielcke <fzielcke@z-51.de>
7805
7806 * util/getroot.c (grub_util_get_grub_dev): Add support for
7807 /dev/md/dNNpNN style partitionable mdraid devices.
7808
3ced05cf 78092008-12-12 Alex Smith <alex@alex-smith.me.uk>
7810
7811 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
7812 at a time limit of the PXE TFTP API correctly.
7813 (grub_pxefs_close): Likewise.
7814
7fd0ee30 78152008-11-29 Robert Millan <rmh@aybabtu.com>
7816
34c44600 7817 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 7818 grub_ata_device_initialize() calls.
7819
34c44600 78202008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 7821
7822 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
7823 iteration failed.
7824 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
7825
89313780 78262008-11-28 Robert Millan <rmh@aybabtu.com>
7827
7828 Fix build on powerpc-ieee1275. Based on patch created by
7829 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
7830 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7831 `kern/ieee1275/mmap.c'.
7832 * include/grub/powerpc/ieee1275/memory.h: New file.
7833
15257703 7834 Provide grub-install on coreboot.
7835 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
7836 (grub_install_SOURCES): New variable.
7837 * util/i386/pc/grub-install.in: Add a few condition checks to make it
7838 usable on coreboot.
7839
9fc5388a 78402008-11-25 Felix Zielcke <fzielcke@z-51.de>
7841
7842 * util/grub-fstest.c (grub_term_get_current_input): Change return type
7843 to `grub_term_input_t'.
7844 (grub_term_get_current_output): Change return type to
7845 `grub_term_output_t'.
7846
bc3a2f31 78472008-11-22 Robert Millan <rmh@aybabtu.com>
7848
34c44600 7849 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 7850 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
7851 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
7852 grub_vga_text_cls().
7853
80fc88f2 7854 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 7855 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 7856
cbf36fd3 7857 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
7858 to 0x200000 (avoids trouble with some OFW implementations, and matches
7859 with the one in Yaboot).
7860 Reported by Manoel Abranches
7861
73e8e268 78622008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 7863
7864 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
7865 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
7866
73e8e268 7867 * util/grub-mkconfig_lib.in (grub_warn): New function.
7868 (convert_system_path_to_grub_path): Use grub_warn() when issuing
7869 warnings, to obtain consistent formatting.
7870 * util/grub.d/00_header.in: Likewise.
7871 * util/update-grub_lib.in: Likewise.
7872
e94045a1 7873 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 7874 Move comment text to `#error' stanza.
e94045a1 7875
79d29fd7 7876 Harmonize ieee1275's grub_available_iterate() with the generic
7877 grub_machine_mmap_iterate() interface (fixes a recently-introduced
7878 build problem on i386-ieee1275):
7879 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
7880 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
7881 parameter `type'. Update all users of this function.
7882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
7883 `kern/ieee1275/mmap.c'.
7884 * kern/ieee1275/init.c
7885 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
7886 with ...
7887 (grub_machine_mmap_iterate): ... this.
7888 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
7889 return type to `grub_err_t'. Update all implementations of this
7890 function prototype.
7891 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
7892 Likewise.
7893
60d6b16e 7894 Add `lsmmap' command (lists firmware-provided memory map):
7895 * commands/lsmmap.c: New file.
7896 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
7897 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
7898 variables.
7899 * conf/powerpc-ieee1275.rmk: Likewise.
7900 * conf/i386-coreboot.rmk: Likewise.
7901 * conf/i386-ieee1275.rmk: Likewise.
7902
ebaaf49b 79032008-11-19 Robert Millan <rmh@aybabtu.com>
7904
7905 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 7906 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
7907 constraints to initrd allocation (based on code from
7908 loader/i386/pc/linux.c). Without them, initrd was allocated too high
7909 for Linux to find it.
ebaaf49b 7910
dfab719f 79112008-11-14 Robert Millan <rmh@aybabtu.com>
7912
7913 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
7914 order to cope with duplicate slashes.
7915
10fc3eb9 79162008-11-14 Robert Millan <rmh@aybabtu.com>
7917
7918 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
7919 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
7920 don't want to mess with lower memory, because it is used in the Linux
7921 loader.
7922
7923 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 7924 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 7925 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
7926 is in our heap (probably as a result of it being corrupted during
2f2a3442 7927 decompression). Add #error instance with comment to explain why this
7928 loader isn't currently usable on PC/BIOS.
10fc3eb9 7929
e2e07847 79302008-11-14 Robert Millan <rmh@aybabtu.com>
7931
7932 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 7933 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 7934
fe8e8d69 79352008-11-12 Robert Millan <rmh@aybabtu.com>
7936
7937 Make loader/i386/linux.c buildable on i386-pc (although disabled).
7938
7939 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
7940 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
7941 from here ...
7942 * include/grub/i386/pc/memory.h: ... to here.
7943
976b07d0 79442008-11-12 Robert Millan <rmh@aybabtu.com>
7945
7946 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
7947 split).
7948
7949 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
7950 (grub_console_cur_color, grub_console_real_putchar)
7951 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
7952 (grub_console_setcolorstate, grub_console_setcolor)
7953 (grub_console_getcolor): Move from here ...
7954 * include/grub/i386/vga_common.h: ... to here (new file).
7955
7956 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
7957 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
7958 `<grub/i386/io.h>'.
7959 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
7960 `<grub/i386/vga_common.h>'.
7961
76679cd3 79622008-11-12 Robert Millan <rmh@aybabtu.com>
7963
7964 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
7965 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
7966 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
7967 variables.
7968 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
7969 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
7970
7971 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
7972 grub_console_init() with call to grub_vga_text_init().
7973 (grub_machine_fini): Replace call to
7974 grub_console_fini() with call to grub_vga_text_fini() and
7975 grub_at_keyboard_fini().
7976
7977 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
7978 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
7979 (grub_console_setcolorstate, grub_console_setcolor)
7980 (grub_console_getcolor): New function prototypes.
7981
7982 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
7983 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
7984 (grub_vga_text_setcursor): Static-ize.
7985 (grub_vga_text_term): New structure.
7986 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
7987
7988 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
7989 (grub_console_cur_color, grub_console_standard_color)
7990 (grub_console_normal_color, grub_console_highlight_color)
7991 (map_char, grub_console_putchar, grub_console_getcharwidth)
7992 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
7993 (grub_console_getcolor): Move from here ...
7994 * term/i386/vga_common.c: ... to here (same function names).
7995
95b841d3 79962008-11-12 Robert Millan <rmh@aybabtu.com>
7997
7998 Use newly-added Multiboot support in coreboot.
7999
8000 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
8001 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
8002
8003 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
8004 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
8005 (codestart): Store the MBI in `startup_multiboot_info' when we're
8006 being loaded using Multiboot.
8007
8008 * kern/i386/coreboot/init.c (grub_machine_init): Move
8009 grub_at_keyboard_init() call to beginning of function (useful for
8010 debugging). Call grub_machine_mmap_init() before attempting to use
8011 grub_machine_mmap_iterate().
8012 (grub_lower_mem, grub_upper_mem): Move from here ...
8013 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
8014 here (new file).
8015
8016 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
8017 function prototype.
8018
761ca975 80192008-11-12 Robert Millan <rmh@aybabtu.com>
8020
8021 Fix a regression introduced by the at_keyboard.mod split. Because
8022 some terminals are default on some platforms and non-default on
8023 others, the first terminal being registered determines which is
8024 going to be default.
8025
8026 * kern/term.c (grub_term_register_input): If this is the first
8027 terminal being registered, set it as the current one.
8028 (grub_term_register_output): Likewise.
8029
8030 * term/efi/console.c (grub_console_init): Do not call
8031 grub_term_set_current_output() or grub_term_set_current_input().
8032 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
8033 * term/i386/pc/console.c (grub_console_init): Likewise.
8034 (grub_console_fini): Do not call grub_term_set_current_input()
8035 (but leave grub_term_set_current_output() to restore text mode).
8036
6c529df7 80372008-11-10 Robert Millan <rmh@aybabtu.com>
8038
8039 * util/grub.d/00_header.in: Add backward compatibility check for
8040 versions of terminal.mod that don't understand `terminal_input' or
8041 `terminal_output'.
8042
132e4113 80432008-11-09 Robert Millan <rmh@aybabtu.com>
8044
8045 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
8046 `terminal_input' / `terminal_output', not `terminal'.
8047
ac293d50 80482008-11-08 Robert Millan <rmh@aybabtu.com>
8049
8050 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 8051 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 8052
0025933a 80532008-11-08 Robert Millan <rmh@aybabtu.com>
8054
8055 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 8056 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 8057 members. Update all users.
8058 * util/console.c (grub_ncurses_term): Split in ...
8059 (grub_ncurses_term_input): ... this, and ...
8060 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 8061 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 8062
37c86336 80632008-11-08 Robert Millan <rmh@aybabtu.com>
8064
8065 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
8066 (PKGDATA): Add $(pkgdata_SRCDIR).
8067 (pkglib_BUILDDIR): New variable.
8068 (pkgdata_SRCDIR): New variable.
8069 (build_env.mk): New target.
8070 (include_DATA): New variable.
8071 (install-local): Install $(include_DATA) files in $(includedir).
8072
b6c15a2d 80732008-11-07 Pavel Roskin <proski@gnu.org>
8074
d99d46f1 8075 * gendistlist.sh: Use C locale for sorting to ensure consistent
8076 output on all systems.
8077
b6c15a2d 8078 * util/grub.d/00_header.in: Remove incorrect space before
8079 "serial".
8080
c32ee8c9 80812008-11-07 Robert Millan <rmh@aybabtu.com>
8082
8083 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
8084 per specification.
8085 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
8086 * loader/multiboot_loader.c (find_multi_boot2_header): New function
8087 (based on find_multi_boot1_header).
8088 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
8089 using find_multi_boot2_header(), and abort if neither Multiboot or
8090 Multiboot headers were found.
8091
651c29b7 80922008-11-07 Robert Millan <rmh@aybabtu.com>
8093
8094 Modularize at_keyboard.mod:
8095
8096 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
8097 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8098 (at_keyboard_mod_LDFLAGS): New variables.
8099
8100 Actual terminal split:
8101
8102 * include/grub/term.h (struct grub_term): Split in ...
8103 (struct grub_term_input): ... this, and ...
8104 (struct grub_term_output): ... this. Update all users.
8105 (grub_term_set_current): Split in ...
8106 (grub_term_set_current_input): ... this, and ...
8107 (grub_term_set_current_output): ... this.
8108 (grub_term_get_current): Split in ...
8109 (grub_term_get_current_input): ... this, and ...
8110 (grub_term_get_current_output): ... this.
8111 (grub_term_register): Split in ...
8112 (grub_term_register_input): ... this, and ...
8113 (grub_term_register_output): ... this.
8114 (grub_term_unregister): Split in ...
8115 (grub_term_unregister_input): ... this, and ...
8116 (grub_term_unregister_output): ... this.
8117 (grub_term_iterate): Split in ...
8118 (grub_term_iterate_input): ... this, and ...
8119 (grub_term_iterate_output): ... this.
8120
8121 * kern/term.c (grub_term_list): Split in ...
8122 (grub_term_list_input): ... this, and ...
8123 (grub_term_list_output): ... this. Update all users.
8124 (grub_cur_term): Split in ...
8125 (grub_cur_term_input): ... this, and ...
8126 (grub_cur_term_output): ... this. Update all users.
8127 (grub_term_set_current): Split in ...
8128 (grub_term_set_current_input): ... this, and ...
8129 (grub_term_set_current_output): ... this.
8130 (grub_term_get_current): Split in ...
8131 (grub_term_get_current_input): ... this, and ...
8132 (grub_term_get_current_output): ... this.
8133 (grub_term_register): Split in ...
8134 (grub_term_register_input): ... this, and ...
8135 (grub_term_register_output): ... this.
8136 (grub_term_unregister): Split in ...
8137 (grub_term_unregister_input): ... this, and ...
8138 (grub_term_unregister_output): ... this.
8139 (grub_term_iterate): Split in ...
8140 (grub_term_iterate_input): ... this, and ...
8141 (grub_term_iterate_output): ... this.
8142
8143 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
8144 a check for input and one for output (and only attempt to get keys
8145 from user when input works).
8146
8147 * util/grub-probe.c (grub_term_get_current): Split in ...
8148 (grub_term_get_current_input): ... this, and ...
8149 (grub_term_get_current_output): ... this.
8150 * util/grub-fstest.c: Likewise.
8151 * util/i386/pc/grub-setup.c: Likewise.
8152 * util/grub-editenv.c: Likewise.
8153
8154 Portability adjustments:
8155
8156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
8157 `term/i386/pc/at_keyboard.c'.
8158 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
8159 grub_keyboard_controller_init() (now handled by terminal .init).
8160 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
8161 grub_at_keyboard_init().
8162 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
8163 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
8164 at_keyboard.mod via input terminal interface).
8165 * include/grub/i386/coreboot/console.h: Convert into a stub for
8166 `<grub/i386/pc/console.h>'.
8167
8168 Migrate full terminals to new API:
8169
8170 * term/efi/console.c (grub_console_term): Split into ...
8171 (grub_console_term_input): ... this, and ...
8172 (grub_console_term_output): ... this. Update all users.
8173 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
8174 (grub_ofconsole_init): Split into ...
8175 (grub_ofconsole_init_input): ... this, and ...
8176 (grub_ofconsole_init_output): ... this.
8177 (grub_ofconsole_term): Split into ...
8178 (grub_ofconsole_term_input): ... this, and ...
8179 (grub_ofconsole_term_output): ... this. Update all users.
8180 * term/i386/pc/serial.c (grub_serial_term): Split into ...
8181 (grub_serial_term_input): ... this, and ...
8182 (grub_serial_term_output): ... this. Update all users.
8183 * term/i386/pc/console.c (grub_console_term): Split into ...
8184 (grub_console_term_input): ... this, and ...
8185 (grub_console_term_output): ... this. Update all users.
8186 (grub_console_term_input): Only enable it on PC/BIOS platform.
8187 (grub_console_init): Remove grub_keyboard_controller_init() call.
8188
8189 Migrate input terminals to new API:
8190
8191 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
8192 `i386' and `i386/pc' to enable build on x86_64 (this driver is
8193 i386-specific anyway).
8194 (grub_console_checkkey): Rename to ...
8195 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
8196 users.
8197 (grub_keyboard_controller_orig): New variable.
8198 (grub_console_getkey): Rename to ...
8199 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
8200 users.
8201 (grub_keyboard_controller_init): Static-ize. Save original
8202 controller value so that it can be restored ...
8203 (grub_keyboard_controller_fini): ... here (new function).
8204 (grub_at_keyboard_term): New structure.
8205 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
8206 functions.
8207
8208 Migrate output terminals to new API:
8209
8210 * term/i386/pc/vga.c (grub_vga_term): Change type to
8211 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8212 members. Update all users.
8213 * term/gfxterm.c (grub_video_term): Change type to
8214 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8215 members. Update all users.
8216 * include/grub/i386/pc/console.h (grub_console_checkkey)
8217 (grub_console_getkey): Do not export (no longer needed by gfxterm,
8218 etc).
8219
8220 Migrate `terminal' command and userland tools to new API:
8221
8222 * commands/terminal.c (grub_cmd_terminal): Split into ...
8223 (grub_cmd_terminal_input): ... this, and ...
8224 (grub_cmd_terminal_output): ... this.
8225 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
8226 `terminal_input' and `terminal_output'.
8227 * util/grub.d/00_header.in: Adjust `terminal' calls to new
8228 `terminal_input' / `terminal_output' API.
8229 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
8230 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
8231 provided ${GRUB_TERMINAL}, convert it).
8232
96e5d876 82332008-11-04 Robert Millan <rmh@aybabtu.com>
8234
8235 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
8236 for FreeBSD.
8237 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
8238
556f3775 82392008-11-03 Bean <bean123ch@gmail.com>
8240
8241 * kern/elf.c (grub_elf32_load): Revert to previous code.
8242 (grub_elf64_load): Likewise.
8243
8244 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
8245
926b9823 82462008-11-01 Robert Millan <rmh@aybabtu.com>
8247
8248 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
8249 (TARGET_CPPFLAGS): Likewise.
8250 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
8251
1432e958 82522008-11-01 Carles Pina i Estany <carles@pina.cat>
8253
8254 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
8255
dba3f844 82562008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 8257
8258 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
8259 addition of objects until the code is not going to be able to fail.
8260
dba3f844 82612008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 8262
8263 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
8264 (add a missing NULL check, and correct them by moving the pointer
8265 operations after the actual check).
8266
7ab28c21 82672008-10-29 Robert Millan <rmh@aybabtu.com>
8268
8269 * util/i386/pc/grub-install.in: Handle empty string as output from
8270 make_system_path_relative_to_its_root().
8271
1b7748eb 82722008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
8273
8274 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
8275 circular metadata worst case scenario. If the metadata is circular
8276 then copy the wrap in place.
8277 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
8278 project lib/format_text/layout.h
8279 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
8280
c9618ab2 82812008-10-03 Felix Zielcke <fzielcke@z-51.de>
8282
7a36edca 8283 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 8284
bf981c62 82852008-10-03 Felix Zielcke <fzielcke@z-51.de>
8286
8287 * util/update-grub_lib.in: Mention filename in warning message.
8288
6d994591 82892008-09-29 Felix Zielcke <fzielcke@z-51.de>
8290
8291 * NEWS: Update for rename of update-grub to grub-mkconfig.
8292
18ade780 82932008-09-29 Felix Zielcke <fzielcke@z-51.de>
8294
8295 * util/update-grub_lib.in: Copy to ...
8296 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 8297 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 8298 * util/update-grub.in: Rename to ...
8299 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
8300 option. Add `--output' option to allow users to specify the generated
8301 configuration file. Default to stdout.
8302 (update_grub_dir): Rename to ...
8303 (grub_mkconfig_dir): ... this.
8304 (grub_cfg): Default to an empty string.
8305 * conf/common.rmk (update-grub): Rename to ...
8306 (grub-mkconfig): ... this.
8307 (update-grub_lib): Copy to ...
8308 (grub-mkconfig_lib): ... this.
8309 (update-grub_SCRIPTS): Copy to ...
8310 (grub-mkconfig_SCRIPTS): ... this. Update all users.
8311 (update-grub_DATA): Rename to ...
8312 (grub-mkconfig_DATA): ... this.
8313
556ce6ac 83142008-09-28 Robert Millan <rmh@aybabtu.com>
8315
8316 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
8317 to `modified'. Add the real `created' field.
8318 (grub_iso9660_uuid): Use `modified' rather than `created' for
8319 constructing the UUID.
8320
83212008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 8322
8323 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
8324 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
8325
92274e85 83262008-09-28 Bean <bean123ch@gmail.com>
8327
8328 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
8329 Thanks to Christian Franke for finding this bug.
8330
add6f17a 83312008-09-25 Robert Millan <rmh@aybabtu.com>
8332
8333 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
8334 instances of grub_util_get_disk_name() (see previous commit).
8335
d2a367b8 83362008-09-25 Robert Millan <rmh@aybabtu.com>
8337
8338 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
8339 `util/i386/get_disk_name.c'.
8340 * conf/i386-efi.rmk: Likewise.
8341 * conf/x86_64-efi.rmk: Likewise.
8342 * conf/i386-coreboot.rmk: Likewise.
8343 * conf/i386-ieee1275.rmk: Likewise.
8344 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
8345 `util/ieee1275/get_disk_name.c'.
8346 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
8347 * util/ieee1275/get_disk_name.c: Remove file.
8348 * util/i386/get_disk_name.c: Remove file.
8349 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
8350 "hd%d" for device.map entries, rather than using
8351 grub_util_get_disk_name().
8352
81a06771 83532008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 8354
8355 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
8356 warning.
8357 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
8358
5a004279 83592008-09-24 Carles Pina i Estany <carles@pina.cat>
8360
8361 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
8362 Changed to 0x5100.
8363 (GRUB_TERM_PPAGE): Changed to 0x4900.
8364
397093d3 83652008-09-24 Robert Millan <rmh@aybabtu.com>
8366
8367 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
8368 macros (they were i386-pc specific).
8369 * include/grub/sparc64/ieee1275/console.h: Likewise.
8370 * include/grub/efi/console.h: Likewise.
8371
a91b6c7c 83722008-09-22 Bean <bean123ch@gmail.com>
8373
8374 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
8375 resident and in attribute list.
8376
8377 * include/grub/ntfs.h (BMP_LEN): Removed.
8378
c40fd116 83792008-09-22 Bean <bean123ch@gmail.com>
8380
81a06771 8381 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 8382 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
8383
8384 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
8385 error occurs, as grub_disk_open will call grub_disk_close, which will
8386 call p->close (scsi).
8387
81a06771 83882008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 8389
8390 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
8391 (AC_PREREQ): Bumped to 2.59.
8392 (AC_TRY_COMPILE): Replace obsolete macro with ...
8393 (AC_COMPILE_IFELSE): ... this.
8394 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
8395 (AC_LINK_IFELSE): ... this.
8396
5dc43410 83972008-09-21 Felix Zielcke <fzielcke@z-51.de>
8398
8399 * autogen.sh: Add a call to `gendistlist.sh'.
8400
9035dce4 84012008-09-19 Christian Franke <franke@computer.org>
8402
8403 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
8404 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
8405 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
8406 Export __enable_execute_stack() to modules.
8407 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
8408 New function.
8409
7fd75377 84102008-09-09 Felix Zielcke <fzielcke@z-51.de>
8411
040030b3 8412 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
8413 Sort the list.
8414
84152008-09-09 Felix Zielcke <fzielcke@z-51.de>
8416
8417 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 8418 #include <grub/util/hostdisk.h>.
8419
89d5ffcf 84202008-09-08 Robert Millan <rmh@aybabtu.com>
8421
8422 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
8423 segments when their filesz is zero (grub_file_read() interprets
81a06771 8424 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 8425 Use `lowest_segment' rather than 0 for calculating the current
8426 segment load address.
8427
40da438f 84282008-09-08 Robert Millan <rmh@aybabtu.com>
8429
8430 * util/hostdisk.c (open_device): Replace a grub_util_info() call
8431 with grub_dprintf("hostdisk", ...), as it was so verbose that it
8432 clobbered useful information.
8433
ddbf5556 84342008-09-08 Robert Millan <rmh@aybabtu.com>
8435
8436 * include/grub/util/biosdisk.h: Move to ...
8437 * include/grub/util/hostdisk.h: ... here. Update all users.
8438 * util/biosdisk.c: Move to ...
8439 * util/hostdisk.c: ... here. Update all users.
8440
783d0f48 84412008-09-07 Robert Millan <rmh@aybabtu.com>
8442
8443 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
8444 variables.
8445 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
8446 and length can be stored directly in the `mbi->mmap_addr' and
8447 `mbi->mmap_length' struct fields.
8448
548e2ea5 84492008-09-07 Robert Millan <rmh@aybabtu.com>
8450
8451 * conf/i386.rmk: New file. Provides declaration for building
8452 `cpuid.mod'.
8453 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
8454 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
8455 variables.
8456 Include `conf/i386.mk'.
8457 * conf/i386-efi.rmk: Likewise.
8458 * conf/x86_64-efi.rmk: Likewise.
8459 * conf/i386-coreboot.rmk: Likewise.
8460 * conf/i386-ieee1275.rmk: Likewise.
8461
0ea85a37 84622008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
8463
8464 Based on patch created by Colin D Bennett <colin@gibibit.com>.
8465 Adds optimization support for BGR based modes.
8466
8467 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
8468 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8469 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8470 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8471 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8472 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8473 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8475 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8476 (grub_video_i386_vbeblit_index_index): Likewise.
8477 (grub_video_i386_vbeblit_replace_directN): Added.
8478 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8479 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8480 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8481 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8482 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8483 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 8484 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 8485 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8486 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8487 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8488 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8489 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8490 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
8491
8492 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
8493 (grub_video_i386_vbefill_R8G8B8): Likewise.
8494 (grub_video_i386_vbefill_index): Likewise.
8495 (grub_video_i386_vbefill_direct32): Added.
8496 (grub_video_i386_vbefill_direct24): Likewise.
8497 (grub_video_i386_vbefill_direct16): Likewise.
8498 (grub_video_i386_vbefill_direct8): Likewise.
8499
81a06771 8500 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 8501 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
8502 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
8503 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
8504 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
8505 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 8506
0ea85a37 8507 * video/video.c (grub_video_get_blit_format): Updated to use new
8508 blit formats. Added handling for 16 bit color modes.
81a06771 8509
8510 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 8511 fillers.
8512 (common_blitter): Updated to use new blitters.
8513
8514 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
8515 Removed.
8516 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8518 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8519 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8520 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8521 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8523 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8524 (grub_video_i386_vbeblit_index_index): Likewise.
8525 (grub_video_i386_vbeblit_replace_directN): Added.
8526 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8527 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8528 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8529 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8530 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8531 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
8532 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
8533 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8534 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8535 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8536 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8537 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8538 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 8539
0ea85a37 8540 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
8541 (grub_video_i386_vbefill_R8G8B8): Likewise.
8542 (grub_video_i386_vbefill_index): Likewise.
8543 (grub_video_i386_vbefill_direct32): Added.
8544 (grub_video_i386_vbefill_direct24): Likewise.
8545 (grub_video_i386_vbefill_direct16): Likewise.
8546 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 8547
0ea85a37 8548 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
8549 types.
81a06771 8550
0ea85a37 8551 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
8552 types.
81a06771 8553
0ea85a37 8554 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
8555 blitter types.
81a06771 8556
0ea85a37 8557 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
8558 types.
8559
e8a83df6 85602008-09-06 Felix Zielcke <fzielcke@z-51.de>
8561
8562 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
8563 RAID level 1.
8564
6bcd8ee5 85652008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 8566
6bcd8ee5 8567 * fs/iso9660.c (grub_iso9660_date): New structure.
8568 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
8569 (grub_iso9660_uuid): New function.
c375ae58 8570
59261157 85712008-09-05 Bean <bean123ch@gmail.com>
8572
8573 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
8574
8575 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
8576 insensitive bit for names in Win32 and Win32 & DOS namespace.
8577
8578 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
8579
8580 * include/grub/types.h (LONG_MAX): Likewise.
8581
58b6645a 85822008-09-04 Felix Zielcke <fzielcke@z-51.de>
8583
4ee55921 8584 * util/getroot.c: Include <config.h>.
8585 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
8586 add support for /dev/md/N devices and handle LVM double dash escaping.
8587
85882008-09-04 Felix Zielcke <fzielcke@z-51.de>
8589
8590 * config.guess: Update to latest version from config git.
8591 * config.sub: Likewise.
58b6645a 8592
9124f65d 85932008-09-03 Robert Millan <rmh@aybabtu.com>
8594
8595 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
8596 `disk->total_sectors'.
8597
81a06771 85982008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 8599
8600 * include/grub/normal.h: Fixed incorrect comment for
8601 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
8602
81a06771 86032008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 8604
8605 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
8606 values with defines.
8607
8608 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
8609 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
8610 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
8611 (GRUB_VBE_MODEATTR_COLOR): Likewise.
8612 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
8613 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
8614 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
8615 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
8616 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
8617 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
8618 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
8619 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
8620 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
8621 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
8622 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
8623 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
8624 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
8625 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
8626 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
8627
93d5cbf8 86282008-08-31 Robert Millan <rmh@aybabtu.com>
8629
8630 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
8631 declaration.
8632 (grub_multiboot): Fix a few warnings.
8633
21751d50 86342008-08-31 Robert Millan <rmh@aybabtu.com>
8635
8636 * loader/i386/pc/multiboot.c: Update comment not to say that
8637 boot_device support is unimplemented.
8638
e27a75c5 86392008-08-31 Robert Millan <rmh@aybabtu.com>
8640
8641 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
8642 or memory map support are unimplemented.
8643
81a06771 86442008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 8645
8646 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
8647
81a06771 86482008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 8649
8650 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
8651 total video memory in 'vbeinfo' output; show color format details for
8652 each video mode.
8653
7c5d8d95 86542008-08-30 Pavel Roskin <proski@gnu.org>
8655
8656 * util/genmoddep.c: Remove for real this time.
8657 * DISTLIST: Remove util/genmoddep.c.
8658
4cebd25a 86592008-08-30 Robert Millan <rmh@aybabtu.com>
8660
8661 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
8662 as required by Multiboot spec (it was already 4-byte aligned, but
8663 only by chance).
8664
b497a269 86652008-08-29 Pavel Roskin <proski@gnu.org>
8666
e3925185 8667 * kern/powerpc/ieee1275/crt0.S: Rename to ...
8668 * kern/powerpc/ieee1275/startup.S: ... this.
8669 * conf/powerpc-ieee1275.rmk: Adjust for the above.
8670 * DISTLIST: Likewise.
8671
b497a269 8672 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
8673 grub/cpu/kernel.h. Add start label for consistency with other
8674 platforms. Add grub_prefix immediately after start. Add jump
8675 to the code after grub_prefix.
8676 * include/grub/powerpc/kernel.h: Provide valid values for
8677 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
8678
6e5a42fe 86792008-08-29 Bean <bean123ch@gmail.com>
8680
8681 * configure.ac: Change host_os to cygwin for mingw.
8682 (asprintf): New check for function.
8683
8684 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
8685 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
8686
8687 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 8688 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 8689 sync, sleep and grub_util_get_disk_size for mingw.
8690
8691 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
8692 to get size in mingw.
8693 (open_device): Use flag O_BINARY if it's defined.
8694 (find_root_device): Add dummy code for mingw.
8695
8696 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
8697 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
8698 (get_scsi_disk_name): Return 0 for mingw.
8699
8700 * util/hostfs.c: #include <grub/util/misc.h>.
8701 (grub_hostfs_open): Use "rb" flag to open file, use
8702 grub_util_get_disk_size to get disk size for mingw.
8703
8704 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
8705 (asprintf): New function if HAVE_ASPRINTF is not set.
8706 (sync): New function for mingw.
8707 (sleep): Likewise.
8708 (grub_util_get_disk_size): Likewise.
8709
ab3f2673 87102008-08-28 Pavel Roskin <proski@gnu.org>
8711
8712 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8713 kern/time.c.
8714
1c282483 87152008-08-28 Robert Millan <rmh@aybabtu.com>
8716
8717 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
8718
678e849c 87192008-08-28 Robert Millan <rmh@aybabtu.com>
8720
8721 Change find_grub_drive() syntax so it doesn't prevent it from
8722 detecting NULL names as errors.
8723
8724 * util/biosdisk.c (find_grub_drive): Move free slot search code
8725 from here ...
8726 (find_free_slot): ... to here.
8727 (read_device_map): Use find_free_slot() to search for free slots.
8728
965c75ca 87292008-08-27 Marco Gerards <marco@gnu.org>
8730
8731 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
8732 (scsi_mod_SOURCES): New variable.
8733 (scsi_mod_CFLAGS): Likewise
8734 (scsi_mod_LDFLAGS): Likewise.
8735
8736 * disk/scsi.c: New file.
8737
8738 * include/grub/scsi.h: Likewise.
8739
8740 * include/grub/scsicmd.h: Likewise.
8741
8742 * disk/ata.c: Include <grub/scsi.h>.
8743 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
8744 instead.
8745 (grub_ata_iterate): Skip ATAPI devices.
8746 (grub_ata_open): Only handle ATAPI devices.
8747 (struct grub_atapi_read): Removed.
8748 (grub_atapi_readsector): Likewise.
8749 (grub_ata_read): No longer handle ATAPI devices.
8750 (grub_ata_write): Likewise.
8751 (grub_atapi_iterate): New function.
8752 (grub_atapi_read): Likewise.
8753 (grub_atapi_write): Likewise.
8754 (grub_atapi_open): Likewise.
8755 (grub_atapi_close): Likewise.
8756 (grub_atapi_dev): New variable.
8757 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
8758 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
8759
8760 * include/grub/disk.h (enum grub_disk_dev_id): Add
8761 `GRUB_DISK_DEVICE_SCSI_ID'.
8762
c07ae501 87632008-08-26 Robert Millan <rmh@aybabtu.com>
8764
8765 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
8766 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
8767 descriptive.
8768
5ed20adc 87692008-08-23 Bean <bean123ch@gmail.com>
8770
8771 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
8772 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8773 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
8774 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
8775 dm_nv.mod.
8776 (raid5rec_mod_SOURCES): New macro.
8777 (raid5rec_mod_CFLAGS): Likewise.
8778 (raid5rec_mod_LDFLAGS): Likewise.
8779 (raid6rec_mod_SOURCES): Likewise.
8780 (raid6rec_mod_CFLAGS): Likewise.
8781 (raid6rec_mod_LDFLAGS): Likewise.
8782 (mdraid_mod_SOURCES): Likewise.
8783 (mdraid_mod_CFLAGS): Likewise.
8784 (mdraid_mod_LDFLAGS): Likewise.
8785 (dm_nv_mod_SOURCES): Likewise.
8786 (dm_nv_mod_CFLAGS): Likewise.
8787 (dm_nv_mod_LDFLAGS): Likewise.
8788
8789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
8790 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8791 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8792
8793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
8794 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8795
8796 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8797
8798 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8799
8800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8801
8802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8803
8804 * disk/raid5_recover.c: New file.
8805
8806 * disk/raid6_recover.c: Likewise.
8807
8808 * disk/mdraid_linux.c: Likewise.
8809
8810 * disk/dmraid_nvidia.c: Likewise.
8811
8812 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
8813 ULONG_MAX.
8814
8815 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
8816 calculate the size of raid device.
8817 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
8818 different layout of raid5.
8819 (grub_raid_scan_device): Remove code specific to mdraid.
8820 (grub_raid_list): New variable.
8821 (free_array): New function.
8822 (grub_raid_register): Likewise.
8823 (grub_raid_unregister): Likewise.
8824 (grub_raid_rescan): Likewise.
8825 (GRUB_MOD_INIT): Don't iterate device here.
8826 (GRUB_MOD_FINI): Use free_array to release resource.
8827
8828 * include/grub/raid.h: Remove macro and structure specific to mdraid.
8829 (grub_raid5_recover_func_t): New function variable type.
8830 (grub_raid6_recover_func_t): Likewise.
8831 (grub_raid5_recover_func): New variable.
8832 (grub_raid6_recover_func): Likewise.
8833 (grub_raid_register): New function.
8834 (grub_raid_unregister): Likewise.
8835 (grub_raid_rescan): Likewise.
8836 (grub_raid_block_xor): Likewise.
8837
8838 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
8839 (CMD_CRC): New macro.
8840 (part): Removed.
8841 (read_file): Handle device as well as file.
8842 (cmd_crc): New function.
8843 (fstest): Handle multiple disks.
8844 (options): Remove part, raw and long, add root and diskcount.
8845 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 8846 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 8847 add handling for the new options, support multiple disks.
8848
8849 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
8850
29c18915 88512008-08-23 Bean <bean123ch@gmail.com>
8852
8853 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
8854
8855 * genfslist.sh: Ignore kernel.mod.
8856
8857 * genpartmaplist.sh: Likewise.
8858
8415f261 88592008-08-23 Robert Millan <rmh@aybabtu.com>
8860
8861 * util/getroot.c (find_root_device): Skip anything that starts with
8862 a dot, not just directories. This avoids things like /dev/.tmp.md0.
8863
d5a7dc5b 88642008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 8865
d5a7dc5b 8866 * util/update-grub.in (GRUB_GFXMODE): Export variable.
8867 * util/grub.d/00_header.in: Allow the administrator to change default
8868 gfxmode via ${GRUB_GFXMODE}.
8869
380cfbb4 88702008-08-21 Felix Zielcke <fzielcke@z-51.de>
8871
8872 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
8873
c9baafe7 88742008-08-21 Robert Millan <rmh@aybabtu.com>
8875
8876 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
8877 loader.
8878 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
8879 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
8880
e290bef2 88812008-08-20 Carles Pina i Estany <carles@pina.cat>
8882
8883 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
8884 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
8885
f9dbfc96 88862008-08-19 Robert Millan <rmh@aybabtu.com>
8887
8888 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
8889 (struct grub_virtual_screen): Remove `cursor_color'.
8890 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
8891 initialization.
8892 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
8893
dd6bd6ab 88942008-08-18 Robert Millan <rmh@aybabtu.com>
8895
8896 Unify (identical) linux_normal.c files.
8897 * loader/i386/efi/linux_normal.c: Move from here ...
8898 * loader/linux_normal.c: ... to here. Update all users.
8899 * loader/i386/pc/linux_normal.c: Delete. Update all users.
8900 * loader/i386/ieee1275/linux_normal.c: Likewise.
8901
7f42f83e 89022008-08-18 Robert Millan <rmh@aybabtu.com>
8903
8904 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
8905 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
8906 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
8907 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
8908 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
8909 New macros.
8910 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
8911 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
8912 (GRUB_LINUX_CL_END_OFFSET): ... to here.
8913 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
8914 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
8915 (GRUB_EFI_CL_END_OFFSET): Rename to ...
8916 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
8917 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
8918 Initialize `params->video_cursor_x' and `params->video_cursor_y'
8919 portably using grub_getxy().
8920 Replace `-EFI' with `-bzImage' in boot message.
8921
38487ddb 89222008-08-17 Robert Millan <rmh@aybabtu.com>
8923
8924 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
8925
deceb3ec 89262008-08-17 Robert Millan <rmh@aybabtu.com>
8927
8928 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
8929
8930 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
8931 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
8932 (grub_machine_mmap_iterate): New function declaration.
8933 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
8934 structure.
8935 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
8936 macros.
8937
8938 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
8939 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
8940 Move e820 parsing from here ...
8941 * kern/i386/pc/mmap.c: New file.
8942 (grub_machine_mmap_iterate): ... to here.
8943
8944 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
8945 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
8946 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
8947 (grub_available_iterate): Redeclare to return `void', and redeclare
8948 its hook to use grub_uint64_t as addr and size parameters, and rename
8949 to ...
8950 (grub_machine_mmap_iterate): ... this. Update all users.
8951
8952 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
8953 to make it more readable. Rename to ...
8954 (grub_machine_mmap_iterate): ... this.
8955
8956 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
8957 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
8958 (grub_multiboot): Allocate an extra region after the payload, and fill
8959 it with a Multiboot memory map. Adjust a.out loader to calculate size
8960 with the extra space.
8961 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
8962 with the extra space.
8963
f8aa0f43 89642008-08-17 Carles Pina i Estany <carles@pina.cat>
8965
9807deb9 8966 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 8967
605f5bb6 89682008-08-17 Felix Zielcke <fzielcke@z-51.de>
8969
8970 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
8971 mdate-sh to the list `find' searches for.
8972 * DISTLIST: Regenerated.
8973
210db6c6 89742008-08-16 Felix Zielcke <fzielcke@z-51.de>
8975
8976 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
8977 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 8978 genmoddep.awk, gensymlist.sh.in.
8979 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 8980 * DISTLIST: Regenerated.
48cdbfd4 8981 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 8982
1082b929 89832008-08-16 Robert Millan <rmh@aybabtu.com>
8984
8985 * disk/raid.c (grub_raid_init): Handle/report errors set by
8986 grub_device_iterate().
8987 * disk/lvm.c (grub_lvm_init): Likewise.
8988
42ce5170 89892008-08-15 Bean <bean123ch@gmail.com>
8990
8991 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8992 and datehook.mod.
8993 (datetime_mod_SOURCES): New macro.
8994 (datetime_mod_CFLAGS): Likewise.
8995 (datetime_mod_LDFLAGS): Likewise.
8996 (date_mod_SOURCES): Likewise.
8997 (date_mod_CFLAGS): Likewise.
8998 (date_mod_LDFLAGS): Likewise.
8999 (datehook_mod_SOURCES): Likewise.
9000 (datehook_mod_CFLAGS): Likewise.
9001 (datehook_mod_LDFLAGS): Likewise.
9002
9003 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9004 and datehook.mod.
9005 (datetime_mod_SOURCES): New macro.
9006 (datetime_mod_CFLAGS): Likewise.
9007 (datetime_mod_LDFLAGS): Likewise.
9008 (date_mod_SOURCES): Likewise.
9009 (date_mod_CFLAGS): Likewise.
9010 (date_mod_LDFLAGS): Likewise.
9011 (datehook_mod_SOURCES): Likewise.
9012 (datehook_mod_CFLAGS): Likewise.
9013 (datehook_mod_LDFLAGS): Likewise.
9014
9015 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9016 and datehook.mod.
9017 (datetime_mod_SOURCES): New macro.
9018 (datetime_mod_CFLAGS): Likewise.
9019 (datetime_mod_LDFLAGS): Likewise.
9020 (date_mod_SOURCES): Likewise.
9021 (date_mod_CFLAGS): Likewise.
9022 (date_mod_LDFLAGS): Likewise.
9023 (datehook_mod_SOURCES): Likewise.
9024 (datehook_mod_CFLAGS): Likewise.
9025 (datehook_mod_LDFLAGS): Likewise.
9026
9027 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9028 and datehook.mod.
9029 (datetime_mod_SOURCES): New macro.
9030 (datetime_mod_CFLAGS): Likewise.
9031 (datetime_mod_LDFLAGS): Likewise.
9032 (date_mod_SOURCES): Likewise.
9033 (date_mod_CFLAGS): Likewise.
9034 (date_mod_LDFLAGS): Likewise.
9035 (datehook_mod_SOURCES): Likewise.
9036 (datehook_mod_CFLAGS): Likewise.
9037 (datehook_mod_LDFLAGS): Likewise.
9038
9039 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9040 and datehook.mod.
9041 (datetime_mod_SOURCES): New macro.
9042 (datetime_mod_CFLAGS): Likewise.
9043 (datetime_mod_LDFLAGS): Likewise.
9044 (date_mod_SOURCES): Likewise.
9045 (date_mod_CFLAGS): Likewise.
9046 (date_mod_LDFLAGS): Likewise.
9047 (datehook_mod_SOURCES): Likewise.
9048 (datehook_mod_CFLAGS): Likewise.
9049 (datehook_mod_LDFLAGS): Likewise.
9050
9051 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
9052
9053 * commands/date.c: New file.
9054
9055 * hook/datehook.c: Likewise.
9056
9057 * include/grub/lib/datetime.h: Likewise.
9058
9059 * include/grub/i386/cmos.h: Likewise.
9060
9061 * lib/datetime.c: Likewise.
9062
9063 * lib/i386/datetime.c: Likewise.
9064
9065 * lib/efi/datetime.c: Likewise.
9066
0e9242da 90672008-08-14 Robert Millan <rmh@aybabtu.com>
9068
9069 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
9070 (grub_mkelfimage_SOURCES): New variable.
9071 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
9072
9073 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
9074 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
9075 * conf/powerpc-ieee1275.rmk: Likewise.
9076 * conf/i386-ieee1275.rmk: Likewise.
9077
9078 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
9079 * kern/i386/coreboot/init.c: Likewise.
9080
9081 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
9082 with `<grub/cpu/kernel.h>'.
9083 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
9084 to ...
9085 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
9086 * kern/i386/coreboot/startup.S: Likewise.
9087
9088 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
9089 (GRUB_MOD_GAP): Remove.
9090 * include/grub/powerpc/kernel.h: New file.
9091 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
9092 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
9093 * include/grub/i386/kernel.h: New file.
9094 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
9095 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
9096 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
9097
9098 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
9099 `grub-mkelfimage'.
9100 Use --directory when invoking grub_mkimage.
9101
9102 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
9103 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
9104 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
9105 and GRUB_KERNEL_CPU_PREFIX.
9106
b86408f8 91072008-08-14 Felix Zielcke <fzielcke@z-51.de>
9108
d5e619ca 9109 * include/grub/err.h (grub_err_printf): New function prototype.
9110 * util/misc.c (grub_err_printf): New function.
9111 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
9112 grub_printf.
9113 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 9114
7161f0e0 91152008-08-13 Robert Millan <rmh@aybabtu.com>
9116
9117 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
9118
a1967522 91192008-08-13 Robert Millan <rmh@aybabtu.com>
9120
9121 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
9122 boot entry.
9123
371458b5 91242008-08-12 Robert Millan <rmh@aybabtu.com>
9125
9126 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
9127 of the relocation code from here ...
9128 (grub_multiboot): ... to here.
9129 (forward_relocator, backward_relocator): Move from here ...
9130 * kern/i386/loader.S (grub_multiboot_forward_relocator)
9131 (grub_multiboot_backward_relocator): ... to here.
9132 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
9133 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
9134 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
9135 (grub_multiboot_forward_relocator_end)
9136 (grub_multiboot_backward_relocator)
9137 (grub_multiboot_backward_relocator_end): New variables.
9138
05f9452b 91392008-08-12 Bean <bean123ch@gmail.com>
9140
9141 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
9142
20024ab0 91432008-08-11 Robert Millan <rmh@aybabtu.com>
9144
9145 * kern/i386/linuxbios/startup.S: Move from here ...
9146 * kern/i386/coreboot/startup.S: ... to here.
9147
9148 * kern/i386/linuxbios/init.c: Move from here ...
9149 * kern/i386/coreboot/init.c: ... to here.
9150
9151 * kern/i386/linuxbios/table.c: Move from here ...
9152 * kern/i386/coreboot/mmap.c: ... to here.
9153
9154 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
9155
e352e9cd 91562008-08-11 Robert Millan <rmh@aybabtu.com>
9157
9158 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
9159 errors. Leave it to the upper layer to handle them.
9160
2d05bc6a 91612008-08-09 Christian Franke <franke@computer.org>
9162
9163 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
9164 * conf/common.rmk: Install `grub-pe2elf' only if requested.
9165 Install `grub.d/10_windows' only on Cygwin.
9166 * configure.ac: Add subst of `target_os'.
9167 Check `target_os' also before setting TARGET_OBJ2ELF.
9168 Add `--enable-grub-pe2elf'.
9169
042bd419 91702008-08-08 Robert Millan <rmh@aybabtu.com>
9171
9172 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9173 (grub_last_time): Change type to grub_uint64_t.
9174 (grub_disk_open): Migrate code from to using grub_get_time_ms().
9175 (grub_disk_close): Likewise.
9176
9177 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9178 (run_menu): Migrate code from to using grub_get_time_ms().
9179
9180 * util/misc.c (grub_get_time_ms): New function.
9181
7f280db5 91822008-08-08 Marco Gerards <marco@gnu.org>
9183
9184 * disk/ata.c (grub_ata_regget): Change return type to
9185 `grub_uint8_t'.
9186 (grub_ata_regget2): Likewise.
9187 (grub_ata_wait_status): New function.
9188 (grub_ata_wait_busy): Removed function, updated all users to use
9189 `grub_ata_wait_status'.
9190 (grub_ata_wait_drq): Likewise.
9191 (grub_ata_cmd): New function.
9192 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
9193 error handling.
9194 (grub_ata_pio_write): Add error handling.
9195 (grub_atapi_identify): Likewise.
9196 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
9197 handling.
9198 (grub_ata_identify): Use `grub_ata_cmd' and improve error
9199 handling. Actually use the detected registers. Reorder the
9200 detection logic such that it is easier to read.
9201 (grub_ata_pciinit): Do not assign the same ID to each controller.
9202 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
9203 handling.
9204 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
9205
9206 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
9207
1fbc5e66 92082008-08-08 Marco Gerards <marco@gnu.org>
9209
9210 * NEWS: Update.
9211
819ce6c0 92122008-08-07 Bean <bean123ch@gmail.com>
9213
9214 * include/grub/x86_64/pci.h: New file.
9215
5c41d44d 92162008-08-07 Christian Franke <franke@computer.org>
9217
9218 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
9219 (TIMER2_GATE): Likewise.
9220 (grub_pit_wait): Add enable/disable of the timer2 gate
9221 bit of port 0x61. This fixes a possible infinite loop.
9222
5ebc275d 92232008-08-07 Bean <bean123ch@gmail.com>
9224
9225 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
9226 kern/i386/tsc.c and kern/i386/pit.c.
9227
9228 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
9229 x86_64 platform.
9230
9231 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
9232 <grub/i386/tsc.h>.
9233
9234 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
9235
e383b3d0 92362008-08-07 Bean <bean123ch@gmail.com>
9237
9238 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
9239
9240 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
9241
9242 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
9243 multiple inclusion. Add #include <grub/types.h>.
9244
1cbb58ac 92452008-08-06 Christian Franke <franke@computer.org>
9246
9247 * conf/common.rmk: Build and install `10_windows'.
9248 * util/grub.d/10_windows.in: New script.
9249
337f5a1e 92502008-08-06 Pavel Roskin <proski@gnu.org>
9251
9252 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
9253
057bc4ac 92542008-08-06 Robert Millan <rmh@aybabtu.com>
9255
9256 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
9257 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
9258
2b99f123 92592008-08-06 Bean <bean123ch@gmail.com>
9260
9261 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
9262 (grub_pxefs_fs_int): Remove dummy definition.
9263 (grub_pxefs_open): Use data->block_size to store the current block
9264 size setting.
9265 (grub_pxefs_read): Use block size stored in data->block_size. As the
9266 value of grub_pxe_blksize can be changed after the file is opened.
9267
9f0234cb 92682008-08-06 Bean <bean123ch@gmail.com>
9269
9270 * fs/i386/pc/pxe.c (curr_file): new variable.
9271 (grub_pxefs_open): Simply the handling of pxe file system. Don't
9272 require the dummy internal file system anymore.
9273 (grub_pxefs_read): Removed.
9274 (grub_pxefs_close): Likewise.
9275 (grub_pxefs_fs_int): Likewise.
9276 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
9277 connection when we switch file.
9278 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
9279
a55d42e0 92802008-08-06 Robert Millan <rmh@aybabtu.com>
9281
9282 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
9283 `halt.mod'.
9284 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
9285 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
9286
9287 * kern/i386/halt.c: New file.
9288 * kern/i386/reboot.c: Likewise.
9289 * include/grub/i386/reboot.h: Likewise.
9290 * include/grub/i386/halt.h: Likewise.
9291
9292 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
9293 Include `<grub/cpu/halt.h>'.
9294 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
9295 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
9296
9297 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
9298 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
9299 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
9300 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
9301 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
9302 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
9303 from here ...
9304 * include/grub/i386/at_keyboard.h: ... to here.
9305
24371d26 93062008-08-05 Robert Millan <rmh@aybabtu.com>
9307
9308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
9309 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
9310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
9311 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9312 `kern/generic/millisleep.c'.
9313
9314 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
9315 instead of grub_get_rtc().
9316 (grub_tsc_init): Initialize `tsc_boot_time'.
9317
9318 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
9319 (grub_machine_init): Use grub_tsc_init() rather than
9320 installing an RTC-based handler via grub_install_get_time_ms().
9321
9322 * kern/i386/pit.c: New file.
9323 * include/grub/i386/pit.h: Likewise.
9324
9e7007b3 93252008-08-05 Bean <bean123ch@gmail.com>
9326
9327 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
9328
9329 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
9330 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
9331 (pxe_mod_SOURCES): New macro.
9332 (pxe_mod_CFLAGS): Likewise.
9333 (pxe_mod_LDFLAGS): Likewise.
9334 (pxecmd_mod_SOURCES): Likewise.
9335 (pxecmd_mod_CFLAGS): Likewise.
9336 (pxecmd_mod_LDFLAGS): Likewise.
9337
9338 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
9339 (grub_pxe_call): Likewise.
9340
9341 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
9342
9343 * commands/i386/pc/pxecmd.c: New file.
9344
9f0234cb 9345 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 9346
9347 * include/grub/i386/pc/pxe.h: Likewise.
9348
6977d49f 93492008-08-05 Bean <bean123ch@gmail.com>
9350
9351 * util/console.c (grub_console_cur_color): New variable.
9352 (grub_console_standard_color): Likewise.
9353 (grub_console_normal_color): Likewise.
9354 (grub_console_highlight_color): Likewise.
9355 (color_map): Likewise.
9356 (use_color): Likewise.
9357 (NUM_COLORS): New macro.
9358 (grub_ncurses_setcolorstate): Handle color properly.
9359 (grub_ncurses_setcolor): Don't change color here, just remember the
9360 settings, color will be set in grub_ncurses_setcolorstate.
9361 (grub_ncurses_getcolor): New function.
9362 (grub_ncurses_init): Initialize color pairs.
9363 (grub_ncurses_term): New member grub_ncurses_getcolor.
9364
9c2ff3ee 93652008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 9366
9c2ff3ee 9367 High resolution timer support. Implemented for x86 CPUs using TSC.
9368 Extracted generic grub_millisleep() so it's linked in only as needed.
9369 This requires a Pentium compatible CPU; if the RDTSC instruction is
9370 not supported, then it falls back on the generic grub_get_time_ms()
9371 implementation that uses the machine's RTC.
9372
9373 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
9374 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9375 `kern/generic/millisleep.c'.
9376
9377 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
9378 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
9379
9380 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
9381 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
9382
9383 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9384
9385 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9386 `kern/generic/millisleep.c'.
9387
9388 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9389
9390 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
9391
9392 * kern/generic/rtc_get_time_ms.c: New file.
9393
9394 * kern/generic/millisleep.c: New file.
337f5a1e 9395
9c2ff3ee 9396 * kern/misc.c: Don't include
9397 <kern/time.h> anymore.
9398 (grub_millisleep_generic): Removed.
9399
9400 * commands/sleep.c (grub_interruptible_millisleep): Uses
9401 grub_get_time_ms() instead of grub_get_rtc().
9402
9403 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
9404 function.
9405 (grub_cpu_is_cpuid_supported): New inline function.
9406 (grub_cpu_is_tsc_supported): New inline function.
9407 (grub_tsc_init): New function prototype.
9408 (grub_tsc_get_time_ms): New function prototype.
9409
9410 * kern/i386/tsc.c (grub_get_time_ms): New file.
9411
9412 * include/grub/time.h: Include <grub/types.h.
9413 (grub_millisleep_generic): Removed.
9414 (grub_get_time_ms): New prototype.
9415 (grub_install_get_time_ms): New prototype.
9416 (grub_rtc_get_time_ms): New prototype.
9417
9418 * kern/time.c (grub_get_time_ms): New function.
9419 (grub_install_get_time_ms): New function.
9420
9421 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
9422 <grub/time.h> anymore.
9423 (grub_millisleep): Removed.
9424 (grub_machine_init): Call grub_tsc_init.
9425
9426 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
9427 get_time_ms() implementation.
9428
9429 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
9430 (ieee1275_get_time_ms): New function.
9431 (grub_machine_init): Install get_time_ms() implementation.
9432
9433 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
9434 (grub_machine_init): Call grub_tsc_init().
9435 (grub_millisleep): Removed.
bf06a93f 9436
9c2ff3ee 9437 * kern/ieee1275/init.c (grub_millisleep): Removed.
9438 (grub_machine_init): Install ieee1275_get_time_ms()
9439 implementation.
9440 (ieee1275_get_time_ms): New function.
9441 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
9442 real work.
9443
9ec92aaf 94442008-08-05 Marco Gerards <marco@gnu.org>
9445
9446 * disk/ata.c: Include <grub/pci.h>.
9447 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
9448 (grub_ata_initialize): Rewritten.
9449 (grub_ata_device_initialize): New function.
9450
8d23f507 94512008-08-04 Pavel Roskin <proski@gnu.org>
9452
9453 * kern/main.c: Include grub/mm.h.
9454
5e15ee3d 94552008-08-04 Robert Millan <rmh@aybabtu.com>
9456
9457 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
9458 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
9459 corruption problem).
9460
a9053f8f 94612008-08-04 Robert Millan <rmh@aybabtu.com>
9462
9463 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
9464 warnings introduced in my last commit.
9465
dd19c7d7 94662008-08-03 Robert Millan <rmh@aybabtu.com>
9467
9468 Make PCI available on all i386 architectures.
9469
9470 * include/grub/i386/pc/pci.h: Move from here ...
9471 * include/grub/i386/pci.h: ... to here.
9472
9473 * include/grub/i386/pc/pci.h: Remove.
9474 * include/grub/i386/efi/pci.h: Remove.
9475 * include/grub/x86_64/efi/pci.h: Remove.
9476
9477 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
9478 `<grub/cpu/pci.h>'.
9479
9480 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
9481 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
9482 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
9483
9484 * conf/i386-ieee1275.rmk: Likewise.
9485
e14a6184 94862008-08-03 Robert Millan <rmh@aybabtu.com>
9487
9488 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
9489 (grub_console_setcursor): Make it possible to set cursor off.
9490
52768e37 94912008-08-03 Robert Millan <rmh@aybabtu.com>
9492
9493 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
9494 of modules instead of assuming which platform provides what.
9495 * util/update-grub.in: Likewise.
9496
2d52f57f 94972008-08-03 Robert Millan <rmh@aybabtu.com>
9498
9499 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
9500 instead of `grub_install_dos_part' to determine whether a drive needs
9501 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 9502 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 9503
2a5cd121 95042008-08-02 Robert Millan <rmh@aybabtu.com>
9505
9506 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
9507
93808428 95082008-08-02 Robert Millan <rmh@aybabtu.com>
9509
9510 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
9511 of informational grub_dprintf() calls.
9512
3bd0a12a 95132008-08-02 Robert Millan <rmh@aybabtu.com>
9514
9515 * disk/memdisk.c (memdisk_size): Don't initialize.
9516 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
9517
9518 * include/grub/i386/pc/kernel.h
9519 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
9520 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
9521 (grub_memdisk_image_size, grub_arch_memdisk_addr)
9522 (grub_arch_memdisk_size): Remove.
9523
9524 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
9525 field (was only used to transfer a constant). Add `type' field to
9526 support multiple module types.
9527 (grub_module_iterate): New function.
9528
9529 * kern/device.c (grub_device_open): Do not hide error messages
9530 when grub_disk_open() fails. Use grub_print_error() instead.
9531
9532 * kern/i386/pc/init.c (grub_arch_modules_addr)
9533 (grub_arch_memdisk_size): Remove functions.
9534 (grub_arch_modules_addr): Return the module address in high memory
9535 (now that it isn't copied anymore).
9536
9537 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
9538 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
9539 decompression routine (grub_total_module_size already includes that
9540 now). Don't copy modules back to low memory.
9541
9542 * kern/main.c: Include `<grub/mm.h>'.
9543 (grub_load_modules): Split out (and use) ...
9544 (grub_module_iterate): ... this function, which iterates through
9545 module objects and runs a hook.
9546 Comment out grub_mm_init_region() call, as it would cause non-ELF
9547 modules to be overwritten.
9548
9549 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
9550 the memdisk image in its own region, make it part of the module list.
9551 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
9552 (main): Parse --memdisk|-m option, and pass user-provided path as
9553 parameter to generate_image().
9554 (add_segments): Pass `memdisk_path' down to load_modules().
9555 (load_modules): Embed memdisk image in module section when requested.
9556 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
9557 `header.type' instead of `header.offset'.
9558
9559 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
9560 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
9561 (memdisk_mod_LDFLAGS): New variables.
9562 * conf/i386-coreboot.rmk: Likewise.
9563 * conf/i386-ieee1275.rmk: Likewise.
9564
a927cc73 95652008-08-02 Robert Millan <rmh@aybabtu.com>
9566
9567 * loader/i386/pc/multiboot.c (playground, forward_relocator)
9568 (backward_relocator): New variables. Used to allocate and relocate
9569 the payload, respectively.
9570 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 9571 address, install the appropriate relocator code in each bound of
a927cc73 9572 the payload, and set the entry point such that
9573 grub_multiboot_real_boot() will jump to one of them.
9574
9575 * kern/i386/loader.S (grub_multiboot_payload_size)
9576 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9577 (grub_multiboot_payload_entry_offset): New variables.
9578 (grub_multiboot_real_boot): Set cpu context to what the relocator
9579 expects, and jump to the relocator instead of the payload.
9580
9581 * include/grub/i386/loader.h (grub_multiboot_payload_size)
9582 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9583 (grub_multiboot_payload_entry_offset): Export.
9584
b15d8a0c 95852008-08-01 Bean <bean123ch@gmail.com>
9586
9587 * normal/menu_entry.c (editor_getline): Don't return the original
9588 string as result, as it will be released by lexer once it has done
9589 using it.
9590
cdfb3d22 95912008-08-01 Robert Millan <rmh@aybabtu.com>
9592
9593 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
9594 within menuentries, not before them.
9595 util/grub.d/10_hurd.in: Likewise.
9596
9175e93d 95972008-08-01 Bean <bean123ch@gmail.com>
9598
9599 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
9600 (bufio_mod_SOURCES): New macro.
9601 (bufio_mod_CFLAGS): Likewise.
9602 (bufio_mod_LDFLAGS): Likewise.
9603
9604 * include/grub/bufio.h: New file.
9605
9606 * io/bufio.c: Likewise.
9607
9608 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
9609 (grub_video_reader_png): Use grub_buffile_open to open file.
9610
9611 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
9612 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
9613
9614 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
9615 (grub_video_reader_tga): Use grub_buffile_open to open file.
9616
9617 * font/manager.c: Include <grub/bufio.h>.
9618 (add_font): Use grub_buffile_open to open file.
9619
3d8383e7 96202008-07-31 Robert Millan <rmh@aybabtu.com>
9621
9622 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
9623 ELF segments, use a macro for arbitrarily accessing any of them instead
9624 of preparing a pointer that allows access to one at a time.
9625 (grub_multiboot_load_elf64): Likewise.
9626
16e641b6 96272008-07-31 Bean <bean123ch@gmail.com>
9628
9629 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
9630 GRUB_KERNEL_MACHINE_DATA_END.
9631
59198b72 96322008-07-30 Robert Millan <rmh@aybabtu.com>
9633
9634 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
9635 Increase from 0x50 to 0x60.
9636 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
9637 use UUIDs to identify the root drive for them. If that's not
9638 possible, abort.
9639 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
9640 check, for cross-disk installs.
9641
ae88bca3 96422008-07-30 Robert Millan <rmh@aybabtu.com>
9643
9644 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
9645 is non-empty, use it to set the `prefix' environment variable instead
9646 of the usual approach.
9647 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
9648 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
9649 environment variable instead of dummy make_install_device().
9650
9651 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
9652 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 9653 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 9654
9655 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
9656 New variable reference.
9657 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
9658 New macro. Defines offset of `grub_prefix' within startup.S (relative
9659 to `start').
9660 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
9661 section within startup.S (relative to `start').
9662 * include/grub/i386/coreboot/kernel.h: Likewise.
9663
9664 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
9665 Overwrite grub_prefix with its contents, at the beginning of the
9666 first segment.
9667 (main): Understand -p|--prefix.
9668
14f41dd1 96692008-07-30 Robert Millan <rmh@aybabtu.com>
9670
9671 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
9672
4ca049a3 96732008-07-30 Robert Millan <rmh@aybabtu.com>
9674
9675 * term/i386/pc/vga_text.c (grub_console_cls): Use
9676 grub_console_gotoxy() to go back to beginning of the screen.
9677 Found by Patrick Georgi <patrick.georgi@coresystems.de>
9678
2921d337 96792008-07-29 Christian Franke <franke@computer.org>
9680
9681 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
9682 Add conversion of emulated mount points on Cygwin.
9683
b609876d 96842008-07-29 Christian Franke <franke@computer.org>
9685
9686 * util/update-grub.in: Add a check for admin
9687 group on Cygwin.
9688 Remove old `grub.cfg.new' before creation.
9689 Add `-f' to `mv' to handle the different filesystem
9690 semantics of Windows.
9691
e93e4679 96922008-07-29 Bean <bean123ch@gmail.com>
9693
9694 * normal/main.c (get_line): Fix buffer overflow bug.
9695
41694fd0 96962008-07-28 Robert Millan <rmh@aybabtu.com>
9697
9698 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
9699 (struct grub_apple_header): New struct. Describes the layout of
9700 the partmap header.
9701 (apple_partition_map_iterate): Check the header magic as well as the
9702 partition magic (which was already being checked).
9703
cfd0b4e6 97042008-07-28 Pavel Roskin <proski@gnu.org>
9705
9706 * genmk.rb: Add a warning to the beginning of the output that
9707 it's a generated file and should not be edited.
9708
93cce016 97092008-07-28 Robert Millan <rmh@aybabtu.com>
9710
9711 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9712 with the same number are found, just use issue a warning with
9713 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 9714
cd1df915 97152008-07-27 Robert Millan <rmh@aybabtu.com>
9716
9717 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
9718 information.
9719
b70a8427 97202008-07-27 Bean <bean123ch@gmail.com>
9721
9722 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
9723 (grub_fat_find_dir): Ignore case when comparing filename.
9724
8f5e379f 97252008-07-27 Bean <bean123ch@gmail.com>
9726
9727 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
9728 smallino, as it's more descriptive, and i8count can be confused with
9729 the other field count.
9730 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
9731 inode type.
9732
a85cd5a0 97332008-07-27 Bean <bean123ch@gmail.com>
9734
9735 * commands/crc.c: New file.
9736
9737 * lib/crc.c: Likewise.
9738
9739 * include/grub/lib/crc.h: Likewise.
9740
9741 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
9742
9743 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
9744 (hexdump): Move this function to ...
9745
9746 * lib/hexdump.c: ... here.
9747
9748 * include/grub/hexdump.h: Renamed to ...
9749
9750 * include/grub/lib/hexdump.h: ... this.
9751
9752 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
9753
9754 * util/grub-editenv.c: Likewise.
9755
9756 * include/envblk.h: Renamed to ...
9757
9758 * include/lib/envblk.h: ... this.
9759
9760 * util/envblk.c: Renamed to ...
9761
9762 * lib/envblk.c: ... this.
9763
9764 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
9765 lib/hexdump.c.
9766 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
9767 (pkglib_MODULES): Add crc.mod.
9768 (hexdump_mod_SOURCES): Add lib/hexdump.c.
9769 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
9770 (crc_mod_SOURCES): New macro.
9771 (crc_mod_CFLAGS): Likewise.
9772 (crc_mod_LDFLAGS): Likewise.
9773
9774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
9775
9776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9777
9778 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9779
9780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9781
9782 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9783
c298def0 97842008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 9785
9786 * commands/help.c: Include <grub/term.h>.
9787 (TERM_WIDTH): Removed. Updated all users.
9788
cc349fb3 97892008-07-27 Pavel Roskin <proski@gnu.org>
9790
9791 * util/getroot.c (find_root_device): Rephrase a comment to avoid
9792 spurious warnings about a comment within a comment.
9793
9051607e 97942008-07-25 Robert Millan <rmh@aybabtu.com>
9795
9796 * util/getroot.c (find_root_device): Skip devices that match
9797 /dev/dm-[0-9]. This lets the real device be found for any type of
9798 abstraction (LVM, EVMS, RAID..).
9799 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
9800 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
9801 device is found first, find_root_device() will now skip it.
9802
01453bfc 98032008-07-24 Pavel Roskin <proski@gnu.org>
9804
9805 * include/grub/types.h: Use __builtin_bswap32() and
9806 __builtin_bswap64() with gcc 4.3 and newer.
9807
6af9849f 98082008-07-24 Christian Franke <franke@computer.org>
9809
3a0fa256 9810 * util/i386/pc/grub-install.in: If `--debug' is specified,
9811 pass `--verbose' to grub-setup.
9812 Abort script if make_system_path_relative_to_its_root() fails.
9813
7810e747 98142008-07-24 Bean <bean123ch@gmail.com>
9815
9816 * configure.ac: Fixed a bug caused by the previous cygwin patch,
9817 variable `target_platform' should be `platform'.
9818
42290e17 98192008-07-24 Bean <bean123ch@gmail.com>
9820
51cc5193 9821 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 9822 (grub_png_init_fixed_block): New function.
9823 (grub_png_decode_image_data): Handle fixed huffman code compression.
9824
2a8a80e4 98252008-07-24 Bean <bean123ch@gmail.com>
9826
9827 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
9828 (grub_pe2elf_SOURCES): New macro.
9829 (CLEANFILES): Add grub-pe2elf.
9830
9831 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
9832 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
9833 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
9834 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
9835 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
9836 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
9837 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
9838 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
9839 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
9840 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
9841 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
9842 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
9843 (GRUB_PE32_DT_FUNCTION): Likewise.
9844 (GRUB_PE32_REL_I386_DIR32): Likewise.
9845 (GRUB_PE32_REL_I386_REL32): Likewise.
9846 (grub_pe32_symbol): New structure.
9847 (grub_pe32_reloc): Likewise.
9848
9849 * util/grub-pe2elf.c: New file.
9850
9851 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
9852 start symbol in non pc platform.
9853
9854 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
9855
9856 The following patches are from Christian Franke.
9857
9858 * include/grub/dl.h: Remove .previous, gas supports this only
9859 for ELF format.
9860
9861 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
9862 Remove .type, gas supports this only for ELF format.
9863
9864 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
9865 nullbytes in symbol table. This fixes an infinite loop if table is
9866 zero filled.
9867
9868 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
9869 TARGET_IMG_LDFLAGS and EXEEXT.
9870
9871 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
9872 TARGET_IMG_LDFLAGS_AC.
9873 (grub_CHECK_STACK_ARG_PROBE): New function.
9874
9875 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
9876
9877 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
9878
9879 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
9880 to set TARGET_IMG_LD* accordingly.
9881 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
9882 Add call to grub_CHECK_STACK_ARG_PROBE.
9883 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
9884
9885 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
9886
9887 * genmk.rb: Add EXEEXT to CLEANFILES.
9888
12ccdb75 98892008-07-23 Robert Millan <rmh@aybabtu.com>
9890
9891 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
9892 define the codes for arrows and lines used for the menu).
9893 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
9894 as well.
9895
9896 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
9897 fonts, because the latter are too slow.
9898
18eeaf04 98992008-07-21 Bean <bean123ch@gmail.com>
9900
9901 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
9902 a20. Run keyboard test last, as it will cause macbook to halt.
9903
b095e2ad 99042008-07-18 Pavel Roskin <proski@gnu.org>
9905
9906 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
9907 load foreign architecture modules correctly anyway. Keep
9908 support for loading host architecture modules, whether we
9909 compile them or not.
9910
737feb35 99112008-07-17 Pavel Roskin <proski@gnu.org>
9912
3f4ce737 9913 * configure.ac: Use -m32 or -m64 regardless of whether we had to
9914 change target_cpu. The compiler default can mismatch target_cpu
9915 in any case.
9916
4ad2d049 9917 * disk/efi/efidisk.c: Fix format warnings on x86_64.
9918 * kern/efi/efi.c: Likewise.
9919
f6130a12 9920 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
9921 target compiler is functional.
9922 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
9923 are set up.
9924
58393a2d 9925 * configure.ac: Default to efi platform for x86_64-apple. Allow
9926 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
9927 adjustments from the rest, only do them if target is not
9928 explicitly given. Merge other adjustments with the final sanity
9929 check. Remove an extraneous check for supported CPU. Be
9930 specific which CPU and which platform is not supported.
9931
737feb35 9932 * configure.ac: Default to pc platform for x86_64.
9933
546f966a 99342008-07-17 Robert Millan <rmh@aybabtu.com>
9935
9936 Partial LinuxBIOS -> Coreboot rename.
9937
9938 * conf/i386-linuxbios.rmk: Renamed to ...
9939 * conf/i386-coreboot.rmk: ... this.
9940 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
9941 * configure.ac: Accept "coreboot" as input platform (but maintain
9942 compatibility with "linuxbios").
9943 * include/grub/i386/linuxbios: Renamed to ...
9944 * include/grub/i386/coreboot: ... this.
9945
20011694 99462008-07-17 Bean <bean123ch@gmail.com>
9947
9948 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 9949 (appleldr_mod_SOURCE): New variable.
20011694 9950 (appleldr_mod_CFLAGS): Likewise.
9951 (appleldr_mod_LDFLAGS): Likewise.
9952 (pci_mod_SOURCES): Likewise.
9953 (pci_mod_CFLAGS): Likewise.
9954 (pci_mod_LDFLAGS): Likewise.
9955 (lspci_mod_SOURCES): Likewise.
9956 (lspci_mod_CFLAGS): Likewise.
9957 (lspci_mod_LDFLAGS): Likewise.
9958
9959 * conf/x86_64-efi.rmk: New file.
9960
9961 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
9962 macro.
9963 (grub_efidisk_write): Likewise.
9964
9965 * include/efi/api.h (efi_call_0): New macro.
9966 (efi_call_1): Likewise.
9967 (efi_call_2): Likewise.
9968 (efi_call_3): Likewise.
9969 (efi_call_4): Likewise.
9970 (efi_call_5): Likewise.
9971 (efi_call_6): Likewise.
9972
9973 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
9974 grub_rescue_cmd_chainloader.
9975
9976 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
9977 (grub_pe32_optional_header): Change some fields based on i386 or
9978 x86_64 platform.
9979 (GRUB_PE32_PE32_MAGIC): Likewise.
9980
9981 * include/grub/efi/uga_draw.h: New file.
9982
9983 * include/grub/elf.h (STN_ABS): New constant.
9984 (R_X86_64_NONE): Relocation constant for x86_64.
9985 (R_X86_64_64): Likewise.
9986 (R_X86_64_PC32): Likewise.
9987 (R_X86_64_GOT32): Likewise.
9988 (R_X86_64_PLT32): Likewise.
9989 (R_X86_64_COPY): Likewise.
9990 (R_X86_64_GLOB_DAT): Likewise.
9991 (R_X86_64_JUMP_SLOT): Likewise.
9992 (R_X86_64_RELATIVE): Likewise.
9993 (R_X86_64_GOTPCREL): Likewise.
9994 (R_X86_64_32): Likewise.
9995 (R_X86_64_32S): Likewise.
9996 (R_X86_64_16): Likewise.
9997 (R_X86_64_PC16): Likewise.
9998 (R_X86_64_8): Likewise.
9999 (R_X86_64_PC8): Likewise.
10000
10001 * include/grub/i386/efi/pci.h: New file.
10002
10003 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
10004 Change it value based on platform.
10005 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
10006 (GRUB_E820_RAM): Likewise.
10007 (GRUB_E820_RESERVED): Likewise.
10008 (GRUB_E820_ACPI): Likewise.
10009 (GRUB_E820_NVS): Likewise.
10010 (GRUB_E820_EXEC_CODE): Likewise.
10011 (GRUB_E820_MAX_ENTRY): Likewise.
10012 (grub_e820_mmap): New structure.
10013 (linux_kernel_header): Change the efi field according to different
10014 kernel version, also field from linux_kernel_header.
10015
10016 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
10017
10018 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
10019 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
10020 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
10021 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
10022 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
10023 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
10024 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
10025 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
10026 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
10027 (GRUB_PCI_ADDR_IO_MASK): Likewise.
10028
10029 * include/grub/x86_64/efi/kernel.h: New file.
10030
10031 * include/grub/x86_64/efi/loader.h: Likewise.
10032
10033 * include/grub/x86_64/efi/machine.h: Likewise.
10034
10035 * include/grub/x86_64/efi/pci.h: Likewise.
10036
10037 * include/grub/x86_64/efi/time.h: Likewise.
10038
10039 * include/grub/x86_64/linux.h: Likewise.
10040
10041 * include/grub/x86_64/setjmp.h: Likewise.
10042
10043 * include/grub/x86_64/time.h: Likewise.
10044
10045 * include/grub/x86_64/types.h: Likewise.
10046
10047 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
10048 GRUB_TARGET_SIZEOF_VOID_P.
10049
10050 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
10051 (grub_efi_locate_handle): Likewise.
10052 (grub_efi_open_protocol): Likewise.
10053 (grub_efi_set_text_mode): Likewise.
10054 (grub_efi_stall): Likewise.
10055 (grub_exit): Likewise.
10056 (grub_reboot): Likewise.
10057 (grub_halt): Likewise.
10058 (grub_efi_exit_boot_services): Likewise.
10059 (grub_get_rtc): Likewise.
10060
10061 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
10062 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
10063 (grub_efi_allocate_pages): Wrap efi calls.
10064 (grub_efi_free_pages): Wrap efi calls.
10065 (grub_efi_get_memory_map): Wrap efi calls.
10066
10067 * kern/x86_64/dl.c: New file.
10068
10069 * kern/x86_64/efi/callwrap.S: Likewise.
10070
10071 * kern/x86_64/efi/startup.S: Likewise.
10072
10073 * loader/efi/appleloader.c: Likewise.
10074
10075 * loader/efi/chainloader.c (cmdline): New variable.
10076 (grub_chainloader_unload): Wrap efi calls.
10077 (grub_chainloader_boot): Likewise.
10078 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
10079 command line.
10080
10081 * loader/efi/chainloader_normal.c (chainloader_command):
10082 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
10083 command line.
10084
10085 * loader/i386/efi/linux.c (allocate_pages): Change allocation
10086 method.
10087 (grub_e820_add_region): New function.
10088 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
10089 booting.
10090 (grub_find_video_card): New function.
10091 (grub_linux_setup_video): New function.
10092 (grub_rescue_cmd_linux): Probe for video information.
10093
10094 * normal/x86_64/setjmp.S: New file.
10095
10096 * term/efi/console.c (map_char): New function.
10097 (grub_console_putchar): Map unicode char.
10098 (grub_console_checkkey): Wrap efi calls.
10099 (grub_console_getkey): Likewise.
10100 (grub_console_getwh): Likewise.
10101 (grub_console_gotoxy): Likewise.
10102 (grub_console_cls): Likewise.
10103 (grub_console_setcolorstate): Likewise.
10104 (grub_console_setcursor): Likewise.
10105
10106 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
10107
59652a20 101082008-07-16 Pavel Roskin <proski@gnu.org>
10109
ef294055 10110 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
10111 format strings.
10112
59652a20 10113 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
10114 pointer, not an integer. This fixes a warning and prevents
10115 precision loss on 64-bit systems.
10116 (relocate_addresses): Remove unneeded cast.
10117
afc3b5d7 101182008-07-15 Pavel Roskin <proski@gnu.org>
10119
506b2b3e 10120 * kern/i386/ieee1275/init.c: Include grub/cache.h.
10121
62ead89c 10122 * term/ieee1275/ofconsole.c: Disable code unused on i386.
10123
c4cd51d7 10124 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
10125 Fix comparison between signed and unsigned.
10126
0d3d8f28 10127 * include/grub/i386/ieee1275/console.h: Declare
10128 grub_console_init() and grub_console_fini().
10129
8804b286 10130 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
10131 It's empty and unused.
10132
ee01cf35 10133 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
10134 beginning to avoid warnings with some compilers.
10135
afc3b5d7 10136 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
10137 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
10138
e4e8eaa5 101392008-07-14 Pavel Roskin <proski@gnu.org>
10140
407aceb4 10141 * kern/env.c (grub_register_variable_hook): Don't copy empty
10142 string, it leaks memory. Pass "" to grub_env_set(), it should
10143 handle constant strings.
10144
e4e8eaa5 10145 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
10146 * commands/cmp.c (grub_cmd_cmp): Likewise.
10147 * kern/dl.c (grub_dl_flush_cache): Likewise.
10148 (grub_dl_load_core): Likewise.
10149 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
10150 (grub_elf64_load_phdrs): Likewise.
10151
d4e2dad3 101522008-07-13 Pavel Roskin <proski@gnu.org>
10153
10154 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
10155 between signed and unsigned.
10156 (LzmaEnc_Finish): Fix warning about an unused parameter.
10157
aa24b516 101582008-07-13 Bean <bean123ch@gmail.com>
10159
10160 * Makefile.in (enable_lzo): New rule.
10161
10162 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
10163
10164 * configure.ac (ENABLE_LZO): New option --enable-lzo.
10165
10166 * boot/i386/pc/lnxboot.S: #include <config.h>.
10167
10168 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 10169 its value according to the compression algorithm used, lzo or lzma.
aa24b516 10170
10171 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
10172 compression algorithm according to configure macro.
10173
10174 * kern/i386/pc/startup.S (codestart): Likewise.
10175
10176 * kern/i386/pc/lzma_decode.S: New file.
10177
10178 * include/grub/lib/LzFind.h: Likewise.
10179
10180 * include/grub/lib/LzHash.h: Likewise.
10181
10182 * include/grub/lib/LzmaDec.h: Likewise.
10183
10184 * include/grub/lib/LzmaEnc.h: Likewise.
10185
10186 * include/grub/lib/LzmaTypes.h: Likewise.
10187
10188 * lib/LzFind.c: Likewise.
10189
10190 * lib/LzmaDec.c: Likewise.
10191
10192 * lib/LzmaEnc.c: Likewise.
10193
4ae821ac 101942008-07-13 Bean <bean123ch@gmail.com>
10195
10196 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
10197 (grub_ext4_extent_header): New structure.
10198 (grub_ext4_extent): Likewise.
10199 (grub_ext4_extent_idx): Likewise.
10200 (grub_ext4_find_leaf): New function.
10201 (grub_ext2_read_block): Handle extents.
10202
9a745147 102032008-07-12 Robert Millan <rmh@aybabtu.com>
10204
10205 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
10206
d49a4cf6 102072008-07-11 Robert Millan <rmh@aybabtu.com>
10208
10209 * util/grub.d/40_custom.in: New file. Example on how to add custom
10210 entries to /etc/grub.d.
10211 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
10212 40_custom (implicitly, by merging all the grub.d rules).
10213
947414b4 102142008-07-11 Pavel Roskin <proski@gnu.org>
10215
0059cf6f 10216 * commands/read.c (grub_getline): Fix invalid memory access.
10217 Don't add newline to the variable value.
10218
947414b4 10219 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
10220 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
10221 (serial_hw_get_port): Check validity of the port number.
10222 (grub_cmd_serial): Check return value of serial_hw_get_port().
10223
62a02d00 102242008-07-07 Pavel Roskin <proski@gnu.org>
10225
10226 * boot/i386/pc/diskboot.S (notification_string): Replace
10227 "Loading kernel" with just "loading". This is shorter, less
10228 confusing and saves a few bytes for possible future changes.
10229
3e5581b0 102302008-07-05 Pavel Roskin <proski@gnu.org>
10231
ea387a48 10232 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
10233 size for ATAPI devices, they are undefined. Output sector
10234 number in decimal form.
10235
3e5581b0 10236 * disk/ata.c: Use named constants for status bits.
10237
fdecb8fd 102382008-07-04 Pavel Roskin <proski@gnu.org>
10239
bcd35b90 10240 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
10241 grub_addr_t before casting it to the void pointer to fix a
10242 warning. Non-addressable regions are discarded earlier.
10243 (grub_arch_modules_addr): Cast _end to grub_addr_t.
10244 * kern/i386/linuxbios/table.c: Include grub/misc.h.
10245 (check_signature): Don't shadow table_header.
10246 (grub_linuxbios_table_iterate): Cast numeric constants to
10247 grub_linuxbios_table_header_t.
10248 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
10249 grub_stop().
10250
af58ab3d 10251 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
10252 prevent warnings.
10253
1759aa57 10254 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
10255 pointer, which can cause warnings. Support 64-bit addresses.
10256
fdecb8fd 10257 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
10258 of sizeof(long). This fixes PowerPC image generation on x86_64.
10259
8516d2a8 102602008-07-04 Robert Millan <rmh@aybabtu.com>
10261
10262 This fixes a performance issue when pc & gpt partmap iterators
10263 didn't abort iteration even after our hook found what it was
fe987087 10264 looking for (often causing expensive probes of non-existent drives).
8516d2a8 10265
10266 Some callers relied on previous buggy behaviour, since they would
34c44600 10267 raise an error when their own hooks caused early abortion of its
8516d2a8 10268 iteration.
10269
10270 * kern/device.c (grub_device_open): Improve error message.
10271 * disk/lvm.c (grub_lvm_open): Likewise.
10272 * disk/raid.c (grub_raid_open): Likewise.
10273
10274 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
10275 when hook requests it, independently of grub_errno.
10276 (pc_partition_map_probe): Do not fail when find_func() caused
10277 early abortion of pc_partition_map_iterate().
10278
10279 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
10280 when hook requests it, independently of grub_errno.
10281 (gpt_partition_map_probe): Do not fail when find_func() caused
10282 early abortion of gpt_partition_map_iterate().
10283
10284 * kern/partition.c (grub_partition_iterate): Abort parent iteration
10285 when hook requests it, independently of grub_errno. Do not fail when
10286 part_map_iterate_hook() caused early abortion of p->iterate().
10287
10288 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
10289 when grub_partition_iterate() returned with non-zero.
10290
277d0de9 102912008-07-03 Pavel Roskin <proski@gnu.org>
10292
10293 * disk/ata.c (grub_ata_pio_write): Check status before writing,
10294 like we do in grub_ata_pio_read().
10295 (grub_ata_readwrite): Always write individual sectors. Fix the
10296 sector count for the remainder.
10297 (grub_ata_write): Enable writing to ATA devices. Correctly
10298 report error for ATAPI devices.
10299
d4c9b428 103002008-07-02 Pavel Roskin <proski@gnu.org>
10301
e43fc690 10302 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
10303 warning.
10304
f707af42 10305 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
10306 for every read sector, we already increment it for the whole
10307 batch. This fixes reading more than 256 sectors at once.
10308
11e16b15 10309 * util/grub-editenv.c (cmd_info): Cast argument to long
10310 explicitly. ptrdiff_t reduces to int on i386.
10311
cbabfdd4 10312 * util/grub-editenv.c (main): Be specific which parameter is
10313 missing.
10314
b8fbce0a 10315 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
10316 (memdisk): Make memdisk_orig_addr a pointer.
10317
c9c8e606 10318 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
10319 for file offsets, use grub_off_t instead. Fix printf format
10320 warnings.
10321
ca62e598 10322 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
10323 there. Real unexpected warnings should not drown in the noise
10324 about known problems.
10325
ce8d1766 10326 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
10327 grub_disk_addr_t for memory addresses.
10328
00c7a56a 10329 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
10330 explicitly to fix a warning.
10331
08d3ef09 10332 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
10333
cb71ba20 10334 * Makefile.in (MODULE_LDFLAGS): New variable.
10335 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
10336 the linker accepts --build-id=none.
10337 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
10338 MODULE_LDFLAGS.
10339 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
10340
d4c9b428 10341 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
10342 those in Linux XFS code. Provide a way to access 64-bit parent
10343 inode.
10344 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
10345 the end of struct grub_xfs_dir_header.
10346
d4156eee 103472008-07-02 Bean <bean123ch@gmail.com>
10348
10349 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
10350 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10351 and GRUB_IEEE1275_FLAG_NO_ANSI.
10352
10353 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
10354 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10355 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
10356
10357 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
10358 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
10359
10360 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
10361 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
10362
10363 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
10364 esc sequence on non ANSI terminal.
10365 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
10366
10367 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
10368 beginning of file.
10369
2270f77b 103702008-07-02 Bean <bean123ch@gmail.com>
10371
10372 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
10373 (grub_editenv_SOURCES): New variable.
10374 (pkglib_MODULES): Add loadenv.mod.
10375 (loadenv_mod_SOURCES): New variable.
10376 (loadenv_mod_CFLAGS): Likewise.
10377 (loadenv_mod_LDFLAGS): Likewise.
10378
10379 * include/grub/envblk.h: New file.
10380
10381 * util/envblk.c: New file.
10382
10383 * util/grub-editenv.c: New file.
10384
10385 * commands/loadenv.c: New file.
10386
0e9e51ec 103872008-07-01 Pavel Roskin <proski@gnu.org>
10388
d89b7634 10389 * include/multiboot2.h (struct multiboot_tag_module): Use char,
10390 not unsigned char. This fixes warnings and is consistent with
10391 other tags.
10392
bf1835b1 10393 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
10394
8222a04b 10395 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
10396
6a42d99d 10397 * term/tparm.c (analyze): Always set *popcount.
10398
10b159d1 10399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
10400 cast to fix a warning.
10401
b8789f6c 10402 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
10403 cast to suppress a warning.
10404
29d7e38a 10405 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
10406 grub_fshelp_read_file() expects.
10407
f341f669 10408 * fs/fat.c: Fix UUID calculation on big-endian systems. We
10409 write uuid as a 32-bit value in CPU byte order, so declare and
10410 use it as such.
10411
0e9e51ec 10412 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
10413 long if the format specifier expects it.
10414 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
10415 * partmap/pc.c (pc_partition_map_iterate): Likewise.
10416 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
10417 long to fix a warning.
10418 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
10419 grub_dprintf() arguments to fix warnings.
10420
3aefa857 104212008-06-30 Pavel Roskin <proski@gnu.org>
10422
56c7668b 10423 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
10424 install_bsd_part immediately before core.img is embedded or
10425 modified on disk. This fixes core.img verification if core.img
10426 cannot be embedded.
10427
3aefa857 10428 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
10429 core_path to calculate the blocklist.
10430 Patch from Javier Martín <lordhabbit@gmail.com>
10431
5444088d 104322008-06-29 Robert Millan <rmh@aybabtu.com>
10433
10434 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
10435 block to disk block.
10436 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
10437 Patch from Niels Böhm <bitbucket@arcor.de>
10438
674835c8 104392008-06-29 Robert Millan <rmh@aybabtu.com>
10440
10441 * util/update-grub_lib.in (font_path): Search for fonts in
10442 /boot/grub first, which is more likely to be readable (we aren't
10443 deciding where fonts live, just looking for them).
10444
f527dbc8 104452008-06-26 Pavel Roskin <proski@gnu.org>
10446
6c2d8df6 10447 * util/biosdisk.c (read_device_map): Don't leave dead map
10448 entries for devices failing stat() check.
10449
f527dbc8 10450 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
10451 core_path_dev for the core.img path on the target device.
10452
aebe3d13 104532008-06-26 Robert Millan <rmh@aybabtu.com>
10454
10455 * disk/fs_uuid.c: New file.
10456 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
10457 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
10458 (fs_uuid_mod_LDFLAGS): New variables.
10459 * include/grub/disk.h (grub_disk_dev_id): Add
10460 `GRUB_DISK_DEVICE_UUID_ID'.
10461 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
10462 implement iterate().
10463
37aaf354 104642008-06-26 Robert Millan <rmh@aybabtu.com>
10465
10466 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
10467 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
10468 Linux image includes no initrd.
10469
25ff262a 104702008-06-21 Javier Martín <lordhabbit@gmail.com>
10471
10472 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
10473 call to resolve the core image location that effectively appended the
10474 name twice.
10475
76a2bd44 104762008-06-21 Robert Millan <rmh@aybabtu.com>
10477
10478 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
10479 call from here ...
10480
10481 * util/grub.d/10_hurd.in: ... to here ...
10482 * util/grub.d/10_linux.in: ... and here.
10483
650e1c79 104842008-06-19 Robert Millan <rmh@aybabtu.com>
10485
fe987087 10486 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 10487 after it has been set by grub_machine_set_prefix().
10488
6ce63911 104892008-06-19 Robert Millan <rmh@aybabtu.com>
10490
10491 * commands/search.c (search_label, search_fs_uuid, search_file): Print
10492 search result when not saving to variable, not the other way around.
10493 When saving to variable, abort iteration as soon as a match is found.
10494
73940cec 104952008-06-19 Robert Millan <rmh@aybabtu.com>
10496
10497 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
10498 check for partition that provides /boot/grub. Its logic is flawed,
10499 as it prevents prepare_grub_to_access_device() from being called
10500 multiple times.
10501
3c62a39d 105022008-06-19 Robert Millan <rmh@aybabtu.com>
10503
10504 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
10505 "insmod" command directly when abstraction modules are needed,
fe987087 10506 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 10507 since it had already been processed).
10508
47395a42 105092008-06-19 Pavel Roskin <proski@gnu.org>
10510
10511 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
10512 changed. This is needed in case GRUB_LIBDIR changes.
10513 * conf/i386-ieee1275.rmk: Likewise.
10514 * conf/i386-linuxbios.rmk: Likewise.
10515 * conf/i386-pc.rmk: Likewise.
10516 * conf/powerpc-ieee1275.rmk: Likewise.
10517
a145ac2d 105182008-06-18 Pavel Roskin <proski@gnu.org>
10519
10520 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
10521 kernel_elf_symlist.c to symlist.c for consistency with other
10522 architectures. Update all users.
10523 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10524
7847c51e 105252008-06-18 Robert Millan <rmh@aybabtu.com>
10526
10527 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
10528 it in prefix.
10529
10530 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
10531 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
10532 a RAID device, run setup() for all members independently on whether
10533 LVM abstraction is being used.
10534 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
10535 If grub-mkimage has set `*install_dos_part == -2', don't override this
10536 value.
10537 Perform *install_dos_part adjustments independently on whether
10538 we're embedding or not.
10539 Clarify error message when image is too big for embedding.
10540 Remove duplicate *install_dos_part stanza.
10541
b23e5644 105422008-06-17 Robert Millan <rmh@aybabtu.com>
10543
10544 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
10545 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
10546 variables.
10547 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
10548 values in grub_ofconsole_normal_color and
10549 grub_ofconsole_highlight_color (they're not directly related to
10550 background and foreground).
10551 (grub_ofconsole_setcolorstate): Extract background and foreground
10552 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
10553
0aac2f79 105542008-06-17 Robert Millan <rmh@aybabtu.com>
10555
10556 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
10557 /boot/grub for the check in last commit, not /boot (they could be
10558 different partitions).
10559
3cca7ef3 105602008-06-16 Robert Millan <rmh@aybabtu.com>
10561
10562 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
10563 asked to setup access for the same partition that provides /boot,
10564 don't bother using UUIDs since our root already has the value we
10565 want.
10566
347396d8 105672008-06-16 Robert Millan <rmh@aybabtu.com>
10568
10569 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
10570 I2O devices.
10571 Patch from Sven Mueller <sven@debian.org>.
10572
991477f8 105732008-06-16 Robert Millan <rmh@aybabtu.com>
10574
10575 * util/update-grub.in: Check for $EUID instead of $UID.
10576 Reported by Vincent Zweije.
10577
d31a32a1 105782008-06-16 Bean <bean123ch@gmail.com>
10579
fe987087 10580 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 10581 (grub_ext2_read_block): Likewise.
10582 (grub_ext2_read_inode): Likewise.
10583 (grub_ext2_mount): Likewise.
10584 (grub_ext2_close): Likewise.
10585 (grub_ext3_get_journal): Removed.
10586
fe987087 10587 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 10588 (grub_reiserfs_read_symlink): Likewise.
10589 (grub_reiserfs_mount): Likewise.
10590 (grub_reiserfs_open): Likewise.
10591 (grub_reiserfs_read): Likewise.
10592 (grub_reiserfs_close): Likewise.
10593 (grub_reiserfs_get_journal): Removed.
10594
10595 * fs/fshelp.c (grub_fshelp_read): Removed.
10596 (grub_fshelp_map_block): Likewise.
10597
10598 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
10599 (grub_fshelp_journal): Likewise.
10600 (grub_fshelp_read): Likewise.
10601 (grub_fshelp_map_block): Likewise.
10602
3540a760 106032008-06-16 Pavel Roskin <proski@gnu.org>
10604
10605 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
10606 floating point anymore.
10607 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
10608
95614c84 106092008-06-15 Pavel Roskin <proski@gnu.org>
10610
10611 * commands/ls.c (grub_ls_list_files): Use integer calculations
10612 for human readable format, avoid floating point use.
10613 * kern/misc.c (grub_ftoa): Remove.
10614 (grub_vsprintf): Remove floating point support.
10615
50465dd6 106162008-06-15 Robert Millan <rmh@aybabtu.com>
10617
fe6b695a 10618 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 10619 devices.
10620 Reported by Max Vozeler.
10621
a9207284 106222008-06-15 Robert Millan <rmh@aybabtu.com>
10623
10624 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
10625 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
10626 skipped later.
10627 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
10628 the beginning of the prefix.
10629
10630 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
10631 It is assumed that if we have a memdisk, grub-mkimage has set
10632 grub_prefix to include the "(memdisk)" drive in it.
10633
a7cbd45a 106342008-06-15 Robert Millan <rmh@aybabtu.com>
10635
10636 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
10637 Initialize keyboard controller after registering the terminal, so that
10638 grub_printf() can be called from grub_keyboard_controller_init().
10639
21cf716a 106402008-06-15 Robert Millan <rmh@aybabtu.com>
10641
10642 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
10643 extent-btree which is written as big endian on disk.
10644 Reported by Alain Greppin <al@chilibi.org>.
10645
23a64d8e 106462008-06-14 Robert Millan <rmh@aybabtu.com>
10647
10648 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
10649 * util/i386/pc/grub-install.in (modules): Likewise.
10650
d687651c 106512008-06-13 Pavel Roskin <proski@gnu.org>
10652
10653 * commands/ls.c (grub_ls_list_files): Fix format warnings.
10654
dfe9ddd4 106552008-06-13 Bean <bean123ch@gmail.com>
10656
10657 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
10658
10659 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
10660
10661 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
10662 to indicate sparse block.
10663
16ae7781 106642008-06-12 Pavel Roskin <proski@gnu.org>
10665
e6d1a308 10666 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
10667 number, grub_fshelp_read() does it for us.
10668
16ae7781 10669 * fs/fshelp.c (grub_fshelp_read): New function. Implement
10670 linear disk read with journal translation.
10671 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
10672 * include/grub/fshelp.h: Declare grub_fshelp_read().
10673
40fd3a2b 106742008-06-09 Pavel Roskin <proski@gnu.org>
10675
10676 * fs/minix.c (grub_minix_mount): Handle error reading
10677 superblock.
10678
f5679726 106792008-06-08 Robert Millan <rmh@aybabtu.com>
10680
10681 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
10682 don't append the RAID prefix afterwards.
10683 Reported by Clint Adams.
10684
ce525529 106852008-06-08 Robert Millan <rmh@aybabtu.com>
10686
10687 Based on description from Pavel:
10688 * kern/disk.c (grub_disk_check_range): Rename to ...
10689 (grub_disk_adjust_range): ... this. Add a comment explaining the
10690 tasks performed by this function.
10691
ad4936a0 106922008-06-08 Robert Millan <rmh@aybabtu.com>
10693
10694 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
10695 `num_serial' (for consistency with other variables).
10696 (struct grub_ntfs_data): Add `uuid' member.
10697 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
10698 (grub_ntfs_uuid): New function.
10699 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
10700
dc20b0f9 107012008-06-07 Pavel Roskin <proski@gnu.org>
10702
10703 * util/biosdisk.c (open_device): Revert last change to the
10704 function, it broke installation. The sector needs to be
10705 different dependent on which device is opened.
10706
c5e3cfba 107072008-06-06 Robert Millan <rmh@aybabtu.com>
10708
10709 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
10710 rest of GRUB, and breakage doesn't happen if its value were modified.
10711
10712 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10713 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
10714 a constant (same value).
10715 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
10716 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
10717
26a1f8c4 107182008-06-06 Robert Millan <rmh@aybabtu.com>
10719
10720 * util/biosdisk.c (open_device): Do not modify sector offset when
10721 accessing a partition. kern/disk.c already handles this for us.
10722
25d6b327 107232008-06-06 Robert Millan <rmh@aybabtu.com>
10724
10725 * util/grub-emu.c (grub_machine_init): Move code in this function from
10726 here ...
10727 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
10728 segfault in case grub_printf() is called).
10729
10730 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
10731 grub_probe. Update all users not to explicitly add it again.
10732 (grub_device): New variable; contains corresponding device for grubdir.
10733 (fs_module, partmap_module, devabstraction_module): Pass
10734 `--device ${grub_device}' to grub_probe to avoid traversing /dev
10735 every time.
10736
9ece62fb 107372008-06-05 Robert Millan <rmh@aybabtu.com>
10738
10739 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
10740 is found, print it (same layout as with labels).
10741
1ad36d37 107422008-06-04 Robert Millan <rmh@aybabtu.com>
10743
10744 * util/biosdisk.c (get_drive): Rename to ...
10745 (find_grub_drive): ... this. Update all users.
10746
10747 (get_os_disk): Rename to ...
10748 (convert_system_partition_to_system_disk): ... this. Update all users.
10749
10750 (find_drive): Rename to ...
10751 (find_system_device): ... this. Update all users.
10752
e6a30859 107532008-06-04 Robert Millan <rmh@aybabtu.com>
10754
10755 * util/biosdisk.c (get_os_disk): Handle IDA devices.
10756 * util/grub-mkdevicemap.c (get_mmc_disk_name)
10757 (make_device_map): Likewise.
10758
00c108a4 107592008-06-01 Robert Millan <rmh@aybabtu.com>
10760
10761 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
10762 before dereferencing it.
10763
10764 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
10765 union with fat12/fat16-specific ones. Add some new fields, including
10766 `num_serial' for both versions.
10767 (struct grub_fat_data): Add `uuid' member.
10768 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
10769 names. Initialize `data->uuid' using `num_serial'.
10770 (grub_fat_uuid): New function.
10771 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
10772
10773 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
10774 (grub_reiserfs_uuid): New function.
10775 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
10776 member.
10777
10778 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
10779 (grub_xfs_uuid): New function.
10780 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
10781
1385c5bb 107822008-06-01 Robert Millan <rmh@aybabtu.com>
10783
10784 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
10785 code that is backward compatible with pre-uuid search command.
10786
c682dfd7 107872008-05-31 Robert Millan <rmh@aybabtu.com>
10788
10789 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
10790 floppies after everything else, to ensure floppy drive isn't accessed
10791 unnecessarily (patch from Bean).
10792
b7db5d47 107932008-05-31 Robert Millan <rmh@aybabtu.com>
10794
10795 * commands/search.c (search_label, search_fs_uuid, search_file): Do
10796 not print device names when we were asked to set a variable.
10797
6e037aa9 107982008-05-31 Robert Millan <rmh@aybabtu.com>
10799
10800 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
10801 using "cursor-on" and "cursor-off" commands (understood at least by
10802 the Open Firmware flavour on OLPC).
10803
41305bc8 108042008-05-31 Michael Gorven <michael@gorven.za.net>
10805
10806 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
10807 on and off sequences.
10808
69ba137e 108092008-05-31 Robert Millan <rmh@aybabtu.com>
10810
10811 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
10812 * util/update-grub.in: Likewise.
10813
520ae21b 108142008-05-30 Pavel Roskin <proski@gnu.org>
10815
10816 * util/biosdisk.c (linux_find_partition): Simplify logic and
10817 make the code more universal. Keep special processing for
10818 devfs, but use a simple rule for all other devices. If the
10819 device ends with a number, append 'p' and the partition number.
10820 Otherwise, append only the partition number.
10821
5786569b 108222008-05-30 Robert Millan <rmh@aybabtu.com>
10823
10824 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
10825 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
10826 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
10827 the `root' parameter to Linux.
10828
51500452 108292008-05-30 Robert Millan <rmh@aybabtu.com>
10830
10831 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
10832 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
10833 --fs_uuid with --fs-uuid.
10834 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
10835 all filesystems support them).
10836
811d3878 108372008-05-30 Robert Millan <rmh@aybabtu.com>
10838
10839 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 10840 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 10841
cab63c95 108422008-05-30 Robert Millan <rmh@aybabtu.com>
10843
10844 * util/grub.d/00_header.in: Remove obsolete comment referencing
10845 convert_system_path_to_grub_path().
10846 * util/update-grub.in: Likewise.
10847 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
10848 (convert_system_path_to_grub_path): Add a warning message explaining
10849 that this function is deprecated. Rely on is_path_readable_by_grub()
10850 for the readability checks.
10851 (font_path): Use is_path_readable_by_grub() for the readability
10852 check rather than convert_system_path_to_grub_path().
10853
972e2f7a 108542008-05-30 Robert Millan <rmh@aybabtu.com>
10855
10856 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
10857 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
10858 converting it first.
10859 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
10860 grub.cfg for access to font file, and afterwards call it again to set
10861 the root device.
10862
62191274 108632008-05-30 Robert Millan <rmh@aybabtu.com>
10864
10865 * commands/search.c (options): Add --fs_uuid option.
10866 (search_fs_uuid): New function.
10867 (grub_cmd_search): Fix --set argument passing.
10868 Use search_fs_uuid() when requested via --fs_uuid.
10869 (grub_search_init): Update help message.
10870 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
10871 and redeclare it as an array of 16-bit words.
10872 (grub_ext2_uuid): New function.
10873 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
10874 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
10875 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
10876 (GRUB_DEVICE_BOOT_UUID): New variables.
10877 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
10878 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
10879 whenever possible.
10880 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
10881 just assume `root' variable has the right value.
10882 * util/grub.d/10_linux.in: Likewise.
10883 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
10884 via PRINT_FS_UUID.
10885 (main): Recognise `-t fs_uuid' argument.
10886
01b73ec8 108872008-05-30 Robert Millan <rmh@aybabtu.com>
10888
10889 * util/biosdisk.c (map): Redefine structure to hold information
10890 about GRUB drive name.
fe6b695a 10891 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 10892 drive names.
10893 (call_hook): Remove.
10894 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
10895 member. Assume drive has partitions.
10896 (grub_util_biosdisk_open): Access device names via `.device' struct
10897 member.
10898 (open_device): Likewise.
10899 (find_drive): Likewise.
10900 (read_device_map): Adjust map[] usage to match the new struct
10901 definition. Don't check for duplicates (still possible, but not cheap
10902 anymore).
10903 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
10904 (make_device_name): Remove assumption of BIOS-like drive names.
10905
22f16596 109062008-05-30 Pavel Roskin <proski@gnu.org>
10907
10908 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
10909 compiling execute.c doesn't need grub_script.tab.h anymore.
10910 (normal/command.c_DEPENDENCIES): Likewise.
10911 (normal/function.c_DEPENDENCIES): Likewise.
10912 * conf/i386-ieee1275.rmk: Likewise.
10913 * conf/i386-linuxbios.rmk: Likewise.
10914 * conf/i386-pc.rmk: Likewise.
10915 * conf/powerpc-ieee1275.rmk: Likewise.
10916 * conf/sparc64-ieee1275.rmk: Likewise.
10917
528ad8f2 109182008-05-29 Pavel Roskin <proski@gnu.org>
10919
d1dff95d 10920 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
10921 when scanning metadata for volume group name.
10922
528ad8f2 10923 * include/grub/script.h: Don't include grub_script.tab.h. It's
10924 a generated file, which may only be included from the files with
10925 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
10926 use union YYSTYPE, as the later allows forward declaration.
10927 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
10928
47248e08 109292008-05-29 Robert Millan <rmh@aybabtu.com>
10930
10931 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
10932 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
10933 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
10934 (grub_console_checkkey): Add grub_dprintf() call to report unknown
10935 scan codes.
10936
ee632529 109372008-05-29 Robert Millan <rmh@aybabtu.com>
10938
10939 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
10940 control key combinations.
10941
eee96e08 109422008-05-29 Robert Millan <rmh@aybabtu.com>
10943
10944 * util/powerpc/ieee1275/grub-install.in: Move from here ...
10945 * util/ieee1275/grub-install.in: ... to here.
10946 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
10947 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
10948 (grub_install_SOURCES): Likewise.
10949
da9a6a94 109502008-05-29 Robert Millan <rmh@aybabtu.com>
10951
10952 * fs/affs.c: Update copyright year.
10953 * fs/ext2.c: Likewise.
10954 * fs/fshelp.c: Likewise.
10955 * fs/hfsplus.c: Likewise.
10956 * fs/ntfs.c: Likewise.
10957 * fs/xfs.c: Likewise.
10958 * include/grub/fshelp.h: Likewise.
10959 * util/grub-mkdevicemap.c: Likewise.
10960
12e65f3a 109612008-05-28 Robert Millan <rmh@aybabtu.com>
10962
10963 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
10964 might need to be fatfs to support some firmware implementations
10965 (e.g. OFW or EFI).
10966
23023641 109672008-05-28 Robert Millan <rmh@aybabtu.com>
10968
10969 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
10970 devices.
10971 * util/grub-mkdevicemap.c (get_mmc_disk_name)
10972 (make_device_map): Likewise.
10973
887d2619 109742008-05-20 Bean <bean123ch@gmail.com>
10975
10976 * fs/fshelp.c (grub_fshelp_map_block): New function.
10977 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
10978 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
10979
10980 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
10981 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
10982 (grub_fshelp_journal): New structure.
10983 (grub_fshelp_map_block): New function prototype.
10984 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
10985 (grub_fshelp_map_block): Likewise.
10986
10987 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
10988 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
10989 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
10990 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
10991 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
10992 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
10993 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
10994 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
10995 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
10996 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
10997 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
10998 (grub_ext2_sblock): New members for journal support.
10999 (grub_ext3_journal_header): New structure.
11000 (grub_ext3_journal_revoke_header): Likewise.
11001 (grub_ext3_journal_block_tag): Likewise.
11002 (grub_ext3_journal_sblock): Likewise.
11003 (grub_fshelp_node): New members logfile and journal.
11004 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
11005 grub_fshelp_map_block to get real block number.
11006 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
11007 number.
11008 (grub_ext2_read_inode): Likewise.
11009 (grub_ext3_get_journal): New function.
11010 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
11011 (grub_ext2_close): Release memory used by journal.
11012
11013 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
11014 (REISERFS_MAGIC_DESC_BLOCK): New macro.
11015 (grub_reiserfs_transaction_header): Renamed to
11016 grub_reiserfs_description_block, replace field data with real_blocks.
11017 (grub_reiserfs_commit_block): New structure.
11018 (grub_reiserfs_data): New member journal.
11019 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
11020 number.
11021 (grub_reiserfs_read_symlink): Likewise.
11022 (grub_reiserfs_iterate_dir): Likewise.
11023 (grub_reiserfs_open): Likewise.
11024 (grub_reiserfs_read): Likewise.
11025 (grub_reiserfs_get_journal): New function.
11026 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
11027 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
11028 using grub_reiserfs_get_journal.
11029 (grub_reiserfs_close): Release memory used by journal.
11030
11031 * fs/affs.c (grub_affs_read_block): Change block type to
11032 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
11033
11034 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
11035
11036 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
11037
11038 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
11039
11040 * fs/udf.c (grub_udf_read_block): Change block type to
11041 grub_disk_addr_t. Use type cast to avoid warning.
11042
11043 * fs/xfs.c (grub_xfs_read_block): Likewise.
11044
b7c6bed5 110452008-05-16 Christian Franke <franke@computer.org>
11046
11047 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
11048 to ensure that break with ESC will always work.
11049 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
11050 Remove ESC from keyboard queue.
11051
eedf167f 110522008-05-16 Christian Franke <franke@computer.org>
11053
11054 * util/biosdisk.c: [__CYGWIN__] Add includes.
11055 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
11056 (get_os_disk): Move variable declarations to OS specific
11057 parts to avoid warning.
11058 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
11059 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
11060 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
11061 Cygwin.
11062 * util/getroot.c: [__CYGWIN__] Add includes.
11063 (strip_extra_slashes): Fix "/" case.
11064 [__CYGWIN__] (get_win32_path): New function.
11065 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
11066 [__CYGWIN__] (find_root_device): Disable.
11067 [__CYGWIN__] (get_bootsec_serial): New function.
11068 [__CYGWIN__] (find_cygwin_root_device): Likewise.
11069 [__linux__] (grub_guess_root_device): Add early returns to simplify
11070 structure.
11071 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
11072 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
11073 check for Linux only.
11074
a079699e 110752008-05-15 Bean <bean123ch@gmail.com>
11076
11077 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
11078 keyboard hang problem in apple's intel mac.
11079
1cf4059a 110802008-05-09 Robert Millan <rmh@aybabtu.com>
11081
11082 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
11083 devices.
11084 * util/grub-mkdevicemap.c (get_virtio_disk_name)
11085 (make_device_map): Likewise.
11086 Reported by Aurelien Jarno <aurel32@debian.org>
11087
ed759390 110882008-05-07 Ian Campbell <ijc@hellion.org.uk>
11089
11090 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
11091 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
11092 (make_device_map): Output entries for xvd type disks.
11093
b56c4eaa 110942008-05-07 Robert Millan <rmh@aybabtu.com>
11095
11096 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
11097 devices.
11098 * util/grub-mkdevicemap.c (get_cciss_disk_name)
11099 (make_device_map): Likewise.
11100 Reported by Roland Dreier <rdreier@cisco.com>
11101
7f8866ed 111022008-05-07 Robert Millan <rmh@aybabtu.com>
11103
11104 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
11105 grub_strstr() call. Correct a few mistakes in failure path handling.
11106
b0346e0f 111072008-05-06 Robert Millan <rmh@aybabtu.com>
11108
11109 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
11110 Do not print a trailing slash (therefore, the root directory is an
11111 empty string).
11112 (convert_system_path_to_grub_path): Do not remove trailing slash
11113 from make_system_path_relative_to_its_root() output.
11114
11115 * util/i386/pc/grub-install.in: Add trailing slash to output from
11116 make_system_path_relative_to_its_root().
11117
6cf12cbd 111182008-05-06 Robert Millan <rmh@aybabtu.com>
11119
11120 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
11121 ensures that output lines aren't intermangled with those sent to
11122 stderr (via grub_util_info()).
11123 * util/grub-probe.c (grub_refresh): Likewise.
11124 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
11125
0fbb3117 111262008-05-05 Christian Franke <franke@computer.org>
11127
11128 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
11129 Add Cygwin device names.
11130 (get_ide_disk_name) [__CYGWIN__]: Likewise.
11131 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
11132 (check_device): Return error instead of success on empty name.
11133 (make_device_map): Move label inside linux specific code to
11134 prevent compiler warning.
11135
8124cdb7 111362008-04-30 Robert Millan <rmh@aybabtu.com>
11137
11138 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
11139 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
11140 first boot option.
11141 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
11142
094c01d0 111432008-04-29 Robert Millan <rmh@aybabtu.com>
11144
11145 * docs/grub.cfg: New file (example GRUB configuration).
11146
f4b1fc02 111472008-04-26 Robert Millan <rmh@aybabtu.com>
11148
329ce2a5 11149 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
11150 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
11151 and `disk/ieee1275/nand.c'.
f4b1fc02 11152
25f16ec1 111532008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 11154
25f16ec1 11155 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
11156 i386-linuxbios.
11157
11158 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
11159 change the buffer size to 4096 for cdrom device.
11160
11161 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
11162 and nand.mod.
11163 (_linux_mod_SOURCES): New variable.
11164 (_linux_mod_CFLAGS): Likewise.
11165 (_linux_mod_LDFLAGS): Likewise.
11166 (linux_mod_SOURCES): Likewise.
11167 (linux_mod_CFLAGS): Likewise.
11168 (linux_mod_LDFLAGS): Likewise.
11169 (nand_mod_SOURCES): Likewise.
11170 (nand_mod_CFLAGS): Likewise.
11171 (nand_mod_LDFLAGS): Likewise.
11172
11173 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
11174 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
11175 type property. (nand device in olpc don't have this property)
11176
11177 * include/grub/disk.h (grub_disk_dev_id): New macro
11178 GRUB_DISK_DEVICE_NAND_ID.
11179
11180 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
11181 function prototype.
11182 (grub_rescue_cmd_initrd): Likewise.
11183
11184 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
11185 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
11186 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 11187
25f16ec1 11188 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
11189 GRUB_MACHINE_IEEE1275 is defined.
11190
11191 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
11192 Use NESTED_FUNC_ATTR attribute on the hook parameter.
11193
11194 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
11195 on nested function heap_init.
11196 (grub_upper_mem): New variable for i386-ieee1275.
11197 (grub_get_extended_memory): New function for i386-ieee1275.
11198 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
11199
11200 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
11201 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
11202 property.
f19dbdb7 11203
25f16ec1 11204 * loader/i386/ieee1275/linux.c: New file.
11205
11206 * loader/i386/ieee1275/linux_normal.c: New file.
11207
11208 * disk/ieee1275/nand.c: New file.
11209
e89d61e9 112102008-04-18 Thomas Schwinge <tschwinge@gnu.org>
11211
11212 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
11213 value.
11214 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
11215
602566f6 112162008-04-18 Robert Millan <rmh@aybabtu.com>
11217
11218 Restructures early code path on ieee1275 to unify grub_main() as
11219 the first C function that is executed in every platform.
11220
11221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
11222 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
11223 cmain().
11224 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
11225 * kern/ieee1275/cmain.c (cmain): Rename to ...
11226 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
11227 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
11228 at the beginning.
11229
57490c2b 112302008-04-18 Robert Millan <rmh@aybabtu.com>
11231
11232 * util/update-grub.in: Fix syntax error when setting
11233 `GRUB_PRELOAD_MODULES'.
11234 Reported by Stephane Chazelas <stephane@artesyncp.com>
11235
1977517d 112362008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
11237
11238 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
11239 section into account, newer toolchains generate unique build ids
11240 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 11241 we want build ids to be preserved
1977517d 11242 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
11243 far from other sections don't cause the raw binary images grow
11244 size
11245
bfb1f1a2 112462008-04-15 Robert Millan <rmh@aybabtu.com>
11247
11248 * disk/lvm.c: Update copyright year.
11249 * kern/misc.c: Likewise.
11250
01979850 112512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11252
11253 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 11254 there is no memory left for physical volume name.
01979850 11255
0a1150e2 112562008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11257
11258 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
11259 volume name mapping to support bigger than 9 character names properly.
11260
82ead3fe 112612008-04-13 Robert Millan <rmh@aybabtu.com>
11262
11263 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
11264 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
11265
e54a72f5 112662008-04-13 Christian Franke <franke@computer.org>
11267
11268 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
11269 to create a floppy emulation boot CD when non emulation mode
11270 does not work.
11271 Enable Joliet CD filesystem extension.
11272
9fe86034 112732008-04-13 Robert Millan <rmh@aybabtu.com>
11274
11275 * kern/misc.c (grub_strncat): Fix off-by-one error.
11276 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
11277
11278 * kern/env.c (grub_env_context_close): Clear current context, not
11279 previous one.
11280 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
11281
11282 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
11283
7ceeee39 112842008-04-13 Robert Millan <rmh@aybabtu.com>
11285
11286 Improve robustness when handling LVM.
11287
11288 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 11289 (and leave `*p' unmodified).
7ceeee39 11290 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
11291 through it.
11292 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
11293 iterating through it.
11294 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
11295 through it.
fe6b695a 11296 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 11297 when due) on each grub_lvm_getvalue() or grub_strstr() call.
11298 Don't assume `vg->pvs != NULL' when iterating through it.
11299
58cd3d85 113002008-04-13 Robert Millan <rmh@aybabtu.com>
11301
11302 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
11303 * genmk.rb (partmap): New variable.
11304 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
11305 (#{partmap}): New target rule.
11306 * genpartmaplist.sh: New file.
11307 * Makefile.in (pkglib_DATA): Add partmap.lst.
11308 (partmap.lst): New target rule.
11309 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
11310 modules (including all partition maps), instead of preloading them.
11311
78b51059 113122007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
11313
11314 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
11315 `linux-boot-prober' (if installed) to detect other operating
11316 systems which are installed on the computer and add them to
11317 the boot menu.
11318 * conf/common.rmk: Build and install 30_os-prober.
11319
a91627b4 113202008-04-12 Robert Millan <rmh@aybabtu.com>
11321
11322 * kern/powerpc/ieee1275/init.c: Move from here ...
11323 * kern/ieee1275/init.c: ... to here. Update all users.
11324
11325 * kern/powerpc/ieee1275/cmain.c: Move from here ...
11326 * kern/ieee1275/cmain.c: ... to here. Update all users.
11327
11328 * kern/powerpc/ieee1275/openfw.c: Move from here ...
11329 * kern/ieee1275/openfw.c: ... to here. Update all users.
11330
11331 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
11332 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
11333
322562ea 113342008-04-10 Pavel Roskin <proski@gnu.org>
11335
11336 * configure.ac: Always use "_cv_" in cache variables for
11337 compatibility with Autoconf 2.62.
11338
a02a73c5 113392008-04-07 Robert Millan <rmh@aybabtu.com>
11340
11341 Revert grub/machine/init.h addition by Pavel (since it breaks on
11342 i386-ieee1275 and others):
11343 * util/i386/pc/misc.c: Remove grub/machine/init.h.
11344 * util/powerpc/ieee1275/misc.c: Likewise.
11345
25c024b1 113462008-04-07 Robert Millan <rmh@aybabtu.com>
11347
11348 * util/grub-probe.c (probe): Improve error message.
11349
3cbd2f98 113502008-04-07 Robert Millan <rmh@aybabtu.com>
11351
11352 * util/biosdisk.c (read_device_map): Skip devices that don't exist
11353 (this prevents the presence of a bogus entry from ruining the whole
11354 thing).
11355
87a297bf 113562008-04-06 Pavel Roskin <proski@gnu.org>
11357
36747a62 11358 * util/biosdisk.c: Include grub/util/biosdisk.h.
11359 * util/grub-fstest.c (execute_command): Make static.
11360 * util/grub-mkdevicemap.c (check_device): Likewise.
11361 * util/i386/pc/misc.c: Include grub/machine/init.h.
11362 * util/powerpc/ieee1275/misc.c: Likewise.
11363 * util/lvm.c: Include grub/util/lvm.h.
11364 * util/misc.c: Include grub/kernel.h, grub/misc.h and
11365 grub/cache.h.
11366 * util/raid.c: Include grub/util/raid.h.
11367 (grub_util_getdiskname): Make static.
11368
87a297bf 11369 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
11370 grub_hostfs_fini(), as they are called from grub_init_all() and
11371 grub_fini_all() respectively. This fixes an infinite loop in
11372 grub-fstest due to double registration of hostfs.
11373 Reported by Christian Franke <Christian.Franke@t-online.de>
11374
f6ce7629 113752008-04-05 Pavel Roskin <proski@gnu.org>
11376
11377 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
11378 all 8 functions. Otherwise, probe function 0 only.
11379
070e49e4 113802008-04-04 Pavel Roskin <proski@gnu.org>
11381
8b088a4c 11382 * commands/lspci.c (grub_lspci_iter): Print the bus number
11383 correctly.
11384
4f657021 11385 * commands/lspci.c (grub_pci_classes): Fix typos.
11386 (grub_lspci_iter): Don't print func twice. Print vendor ID
11387 before device ID, as it's normally done.
11388
070e49e4 11389 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
11390 Fix signedness warnings.
11391 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
11392 Likewise.
11393 * util/ieee1275/get_disk_name.c: Include config.h so that
11394 _GNU_SOURCE is defined and getline() is declared. Mark an
11395 unused argument as such. Fix a signedness warning.
11396
ba7328dc 113972008-04-02 Pavel Roskin <proski@gnu.org>
11398
26887f22 11399 * genkernsyms.sh.in: Use more robust assignments for CC and
11400 srcdir. Quote srcdir.
11401 * gensymlist.sh.in: Likewise. Assert at the compile time that
11402 the symbol table is not empty.
11403
ba7328dc 11404 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
11405 * fs/cpio.c (grub_cpio_read): Likewise.
11406
0f582c6b 114072008-04-01 Pavel Roskin <proski@gnu.org>
11408
4b6e1995 11409 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
11410 * disk/host.c (grub_host_open): Likewise.
11411 * disk/loopback.c (grub_loopback_open): Likewise.
11412 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
11413 disk->id as in disk/host.c, not a multi-character constant.
11414
828a2768 11415 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
11416 later is obsolete, potentially dangerous and sets a bad example.
11417 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
11418 * util/misc.c (grub_util_get_image_size): Likewise.
11419
2bb4fb47 11420 * disk/loopback.c (options): Improve help for "--partitions".
11421
0f582c6b 11422 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
11423 options to align them with the short options, e.g. "echo -e".
11424
a33224e0 114252008-03-31 Bean <bean123ch@gmail.com>
11426
11427 * video/reader/png.c (grub_png_data): New member is_16bit and
11428 image_data.
11429 (grub_png_decode_image_header): Detect 16 bit png image.
11430 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
11431 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
11432 (grub_video_reader_png): Release memory occupied by image_data.
11433
11434 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
11435 4096 bytes.
11436 (grub_nfs_mount): Skip the test for sector per cluster.
11437
11438 * include/grub/ntfs.h (MAX_SPC): Removed.
11439
86cb4f54 114402008-03-31 Bean <bean123ch@gmail.com>
11441
11442 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
11443 (grub_probe_SOURCES): Add fs/afs.c.
11444 (grub_fstest_SOURCES): Likewise.
11445 (afs_mod_SOURCES): New variable.
11446 (afs_mod_CFLAGS): Likewise.
11447 (afs_mod_LDFLAGS): Likewise.
11448
11449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
11450 (grub_emu_SOURCES): Likewise.
11451
11452 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11453
11454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11455
11456 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11457
11458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11459
11460 * fs/afs.c: New file.
11461
17c74c21 114622008-03-30 Pavel Roskin <proski@gnu.org>
11463
4cb68e89 11464 * disk/host.c: Include grub/misc.h to fix a warning.
11465 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
11466 warnings about implicit declarations.
11467
8790bb04 11468 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
11469 variable.
11470 * include/grub/i386/loader.h: Change declaration of
11471 grub_linux_boot() to match what grub_loader_set() expects.
11472 * util/getroot.c (grub_guess_root_device): Return const char* to
11473 fix a warning.
11474 * util/grub-probe.c (probe): Fix a warning about uninitialized
11475 abstraction_name variable.
11476 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
11477 second argument as unused to fix a warning.
11478
9a3f3296 11479 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
11480 missing grub_error() call.
11481
0ecef90d 11482 * util/update-grub_lib.in: Define datarootdir, since Autoconf
11483 2.60 and newer uses it to define datadir.
11484
0bf6d401 11485 * commands/sleep.c: Fix warning about implicit declaration.
11486 * disk/memdisk.c: Likewise.
11487 * loader/aout.c: Likewise.
11488 * loader/i386/bsd_normal.c: Likewise.
11489 * util/grub-probe.c: Likewise.
11490
7cdacf97 11491 * commands/i386/cpuid.c (has_longmode): Make static.
11492 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
11493 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
11494
17c74c21 11495 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
11496 GDT. This is more robust, as %ds can change.
11497 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
11498 calling real_to_prot().
11499 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
11500
80a3e68b 115012008-03-28 Pavel Roskin <proski@gnu.org>
11502
11503 * kern/i386/pc/startup.S: Assert that uncompressed functions
11504 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
11505 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
11506 code, as they push parts of the code (error handlers) beyond
11507 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
11508 code as correctness and size.
11509
77bcd272 115102008-03-28 Pavel Roskin <proski@gnu.org>
11511
11512 * kern/i386/pc/startup.S
11513 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
11514 data block address to the real mode, keep offset minimal. This
11515 works around a bug in AWARD BIOS on old Athlon systems, which
11516 makes CD detection hang.
11517
c5dfd43b 115182008-03-26 Pavel Roskin <proski@gnu.org>
11519
11520 * normal/color.c (grub_parse_color_name_pair): Make `name' a
11521 const.
11522 * include/grub/normal.h: Add grub_parse_color_name_pair()
11523 declaration.
11524
bf962df2 115252008-03-24 Bean <bean123ch@gmail.com>
11526
11527 * disk/i386/pc/biosdisk.c (cd_start): Removed.
11528 (cd_count): Removed.
11529 (cd_drive): New variable.
11530 (grub_biosdisk_get_drive): Don't check for (cdN) device.
11531 (grub_biosdisk_call_hook): Likewise.
11532 (grub_biosdisk_iterate): Change cdrom detection method.
11533 (grub_biosdisk_open): Replace cd_start with cd_drive.
11534 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
11535 detect cdrom device.
11536
11537 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
11538 Removed.
11539 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
11540 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
11541 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
11542 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
11543 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
11544 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
11545 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
11546 (grub_biosdisk_cdrp): New structure.
11547 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
11548
11549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
11550
11551 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
11552 device.
11553
11554 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
11555 New function.
11556
68e7fc7a 115572008-03-20 Robert Millan <rmh@aybabtu.com>
11558
11559 Remove 2 TiB limit in ata.mod.
11560 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
11561 (grub_ata_dumpinfo): Print sector count with 0x%llx.
11562 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
11563 grub_uint64_t instead of grub_uint32_t.
11564
38ad2cf5 115652008-03-05 Bean <bean123ch@gmail.com>
11566
11567 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
11568 (grub_multiboot): Set boot device.
11569
11570 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
11571
2b89344e 115722008-03-02 Bean <bean123ch@gmail.com>
11573
11574 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
11575 symlink_buffer.
11576
87a95d1f 115772008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
11578
11579 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
11580 texinfo.tex.
11581
11582 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
11583 modified.
11584
11585 * docs/fdl.texi: New file.
f19dbdb7 11586
87a95d1f 11587 * docs/mdate-sh: New file. Copied from gnulib.
11588 * docs/texinfo.tex: Likewise.
11589
11590 * config.guess: Updated from gnulib.
11591 * install-sh: Likewise.
11592
7dc15d8e 115932008-02-28 Robert Millan <rmh@aybabtu.com>
11594
11595 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
11596 (aout_mod_SOURCES): New variable.
11597 (aout_mod_CFLAGS): Likewise.
11598 (aout_mod_LDFLAGS): Likewise.
11599
11600 * conf/i386-ieee1275.rmk: Likewise.
11601
b00ab696 116022008-02-28 Robert Millan <rmh@aybabtu.com>
11603
11604 * util/update-grub.in: Reorganise terminal validity check. Accept
11605 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
11606 Based on suggestion by Franklin PIAT.
11607
79ca2d78 116082008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
11609
11610 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
11611 function.
11612 * util/getroot.c (grub_util_check_block_device): New function that
11613 returns the given argument if it is a block device and returns NULL else.
11614 * util/grub-probe.c (argument_is_device): New variable.
11615 (probe): Promote device_name from a variable to an argument. Receive
11616 device_name from grub_util_check_block_device() if path is NULL and from
11617 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 11618 (options): Introduce new parameter '-d, --device'.
79ca2d78 11619 (main): Add description of the new parameter to the help screen.
11620 Rename path variable to argument. Set argument_is_device if the '-d'
11621 option is given. Pass argument to probe() depending on
11622 argument_is_device.
11623
0d16e571 116242008-02-24 Bean <bean123ch@gmail.com>
11625
11626 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
11627 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
11628 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
11629 (GRUB_ISO9660_VOLDESC_PART): Likewise.
11630 (GRUB_ISO9660_VOLDESC_END): Likewise.
11631 (grub_iso9660_primary_voldesc): New member escape.
11632 (grub_iso9660_data): New member joliet.
11633 (grub_iso9660_convert_string): New function.
11634 (grub_iso9660_mount): Detect joliet extension.
11635 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
11636 (grub_iso9660_iso9660_label): Likewise.
11637
11638 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
11639 (grub_setup_SOURCES): Add fs/udf.c.
11640 (grub_fstest_SOURCES): Likewise.
11641 (udf_mod_SOURCES): New variable.
11642 (udf_mod_CFLAGS): Likewise.
11643 (udf_mod_LDFLAGS): Likewise.
11644
11645 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
11646 (grub_emu_SOURCES): Likewise.
11647
11648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11649
11650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11651
11652 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11653
11654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11655
11656 * fs/udf.c: New file.
11657
8a594a17 116582008-02-24 Robert Millan <rmh@aybabtu.com>
11659
11660 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
11661 (normal/lexer.c_DEPENDENCIES): New variables.
11662 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11663 (normal/lexer.c_DEPENDENCIES): Likewise.
11664 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
11665 (normal/lexer.c_DEPENDENCIES): Likewise.
11666 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
11667 (normal/lexer.c_DEPENDENCIES): Likewise.
11668 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11669 (normal/lexer.c_DEPENDENCIES): Likewise.
11670 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11671 (normal/lexer.c_DEPENDENCIES): Likewise.
11672
2dc33c03 116732008-02-23 Robert Millan <rmh@aybabtu.com>
11674
11675 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
11676 since they were intended to be in hex. This didn't break previously
11677 because of a bug in gpt_partition_map_iterate() (see below).
11678
11679 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
11680 when checking the validity of GPT header.
11681 Remove `partno', since it always provides the same information as `i'.
11682
f6f4cfb0 116832008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
11684
11685 * include/grub/efi/time.h: Fix a wrong comment.
11686
79ff665f 116872008-02-19 Pavel Roskin <proski@gnu.org>
11688
11689 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
11690 message.
11691
d38e24c2 116922008-02-19 Bean <bean123ch@gmail.com>
11693
11694 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
11695 (aout_mod_SOURCES): New variable.
11696 (aout_mod_CFLAGS): Likewise.
11697 (aout_mod_LDFLAGS): Likewise.
11698 (_bsd_mod_SOURCES): New variable.
11699 (_bsd_mod_CFLAGS): Likewise.
11700 (_bsd_mod_LDFLAGS): Likewise.
11701 (bsd_mod_SOURCES): New variable.
11702 (bsd_mod_CFLAGS): Likewise.
11703 (bsd_mod_LDFLAGS): Likewise.
11704
11705 * include/grub/aout.h: New file.
11706
11707 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
11708
11709 * include/grub/i386/bsd.h: New file.
11710
11711 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
11712 to make it public.
11713
11714 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
11715 function is called, so that it's possible to change it inside the hook.
11716 (grub_elf64_load): Likewise.
11717 (grub_elf_file): Don't close the file if elf header is not found.
11718 (grub_elf_close): Close the file if grub_elf_file fails (The new
11719 grub_elf_file won't close it).
11720 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
11721 (grub_elf64_size): Likewise.
11722
11723 * kern/i386/loader.S (grub_unix_real_boot): New function.
11724
11725 * loader/aout.c: New file.
11726
11727 * loader/i386/bsd.c: New file.
11728
11729 * loader/i386/bsd_normal.c: New file.
11730
11731 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
11732
11733 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 11734 can test other formats.
d38e24c2 11735
b93bdb0f 117362008-02-19 Robert Millan <rmh@aybabtu.com>
11737
11738 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
11739 (grub_gpt_partition_type_empty): Redefine with macro from
11740 `<grub/gpt_partition.h>'.
11741 (gpt_partition_map_iterate): Adjust partition type comparison.
11742
11743 Export `entry' as partmap-specific `part.data' struct.
11744 (grub_gpt_header, grub_gpt_partentry): Move from here ...
11745
11746 * include/grub/gpt_partition.h (grub_gpt_header)
11747 (grub_gpt_partentry): ... to here (new file).
11748
11749 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
11750
11751 (grub_gpt_partition_type_bios_boot): New const variable, defined
11752 with macro from `<grub/gpt_partition.h>'.
11753
11754 (setup): Replace `first_start' with `embed_region', which keeps
11755 track of the embed region (and is partmap-agnostic).
11756
11757 Replace find_first_partition_start() with find_usable_region(),
11758 which finds a usable region for embedding using partmap-specific
11759 knowledge (supports PC/MSDOS and GPT).
11760
11761 Fix all assumptions that the embed region start at sector 1, using
11762 `embed_region.start' from now on. Similarly, use `embed_region.end'
11763 rather than `first_start' to calculate available size.
11764
11765 In grub_util_info() message, replace "into after the MBR" with an
11766 indication of the specific sector our embed region starts at.
11767
66cb40f6 117682008-02-19 Robert Millan <rmh@aybabtu.com>
11769
11770 * DISTLIST: Replace `commands/ieee1275/halt.c' and
11771 `commands/ieee1275/reboot.c' with `commands/halt.c' and
11772 `commands/reboot.c'.
11773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11774 (halt_mod_SOURCES): Likewise.
11775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11776 (halt_mod_SOURCES): Likewise.
11777
b7202015 117782008-02-17 Christian Franke <franke@computer.org>
11779
11780 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
11781
32b0fc49 117822008-02-17 Robert Millan <rmh@aybabtu.com>
11783
11784 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11785 set `first_start' to 0 for non-PC/MSDOS partition maps.
11786
aca63502 117872008-02-16 Robert Millan <rmh@aybabtu.com>
11788
11789 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11790 do not assume partition map is PC/MSDOS before performing checks that
11791 are specific to that layout.
11792
0de8be86 117932008-02-13 Robert Millan <rmh@aybabtu.com>
11794
11795 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
11796 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
11797 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
11798
c3db8364 117992008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
11800
11801 * configure.ac: Only a cosmetic change on the handling of
11802 -fno-stack-protector.
11803
f714229e 118042008-02-12 Alexandre Boeglin <alex@boeglin.org>
11805
c3db8364 11806 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
11807 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
11808 reboot.c.
f714229e 11809 (grub_install_SOURCES): Add halt.mod and reboot.mod.
11810 (halt_mod_SOURCES): New variable.
11811 (halt_mod_CFLAGS): Likewise.
11812 (halt_mod_LDFLAGS): Likewise.
11813 (reboot_mod_SOURCES): Likewise.
11814 (reboot_mod_CFLAGS): Likewise.
11815 (reboot_mod_LDFLAGS): Likewise.
11816
c3db8364 11817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
11818 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
11819 reboot.c.
f714229e 11820 (halt_mod_SOURCES): Likewise.
11821 (reboot_mod_SOURCES): Likewise.
11822
c3db8364 11823 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
11824 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 11825 (reboot_mod_SOURCES): Likewise.
11826
11827 * commands/i386/pc/reboot.c: merge this file ...
11828
11829 * commands/ieee1275/reboot.c: ... and this file ...
11830
11831 * commands/reboot.c: ... to this file.
c3db8364 11832 Add some precompiler directive to include the correct header for
11833 each machine.
f714229e 11834
11835 * commands/ieee1275/halt.c: move this file ...
11836
11837 * commands/halt.c: ... to here.
c3db8364 11838 Add some precompiler directive to include the correct header for
11839 each machine.
f714229e 11840
11841 * include/grub/efi/efi.h (grub_reboot): New function declaration.
11842 (grub_halt): Likewise.
11843
11844 * kern/efi/efi.c (grub_reboot): New function.
11845 (grub_halt): Likewise.
11846
c74493e0 118472008-02-12 Robert Millan <rmh@aybabtu.com>
11848
11849 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
11850 /dev (like it is done for /dev/mapper). This doesn't provide support
11851 for EVMS, but at least it is now easy to identify the problem when it
11852 arises.
11853
d0db4b04 118542008-02-11 Robert Millan <rmh@aybabtu.com>
11855
11856 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
11857 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
11858 comparing it with -1, not 0.
11859
bf748642 118602008-02-10 Robert Millan <rmh@aybabtu.com>
11861
11862 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
11863 `disk/lvm.c'.
11864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11866
11867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
11868 `disk/lvm.c' to the end of the list.
11869 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11870 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11871
b5db202a 118722008-02-10 Robert Millan <rmh@aybabtu.com>
11873
11874 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
11875 grub_print_error() instead. This will let user know why we're entering
11876 rescue mode.
11877 Based on suggestions from Sam Morris.
11878
83abee31 118792008-02-10 Alexandre Boeglin <alex@boeglin.org>
11880
11881 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
11882 on remaining N args, instead of "--" arg N times.
11883
78d5a08b 118842008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
11885
11886 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
11887 (fill_with_default_glyph): Changed to use unknown_glyph for fill
11888 pattern for unknown glyphs.
11889
68807e5f 118902008-02-09 Robert Millan <rmh@aybabtu.com>
11891
11892 * configure.ac: Probe for `help2man'.
11893 * Makefile.in (builddir): New variable.
11894 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
11895 or otherwise add a few flags/options to it.
11896 (install-local): For every executable utility or script that is
11897 installed, invoke $(HELP2MAN) to install a manpage based on --help
11898 output.
11899
11900 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
11901 that it doesn't prevent --help from working in build tree.
11902
11903 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
11904 with `bug-grub@gnu.org'.
11905 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
11906 * util/update-grub.in (usage): New function.
11907 Implement proper argument check, with support for --help and --version
11908 (as well as existing -y).
11909
119102008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 11911
11912 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
11913 avoid overwriting previous output.
11914 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
11915
c1962162 119162008-02-09 Robert Millan <rmh@aybabtu.com>
11917
11918 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
11919 drawing the menu.
11920
3dac2e3f 119212008-02-09 Robert Millan <rmh@aybabtu.com>
11922
11923 * commands/sleep.c: New file.
11924 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
11925 (sleep_mod_SOURCES): New variable.
11926 (sleep_mod_CFLAGS): Likewise.
11927 (sleep_mod_LDFLAGS): Likewise.
11928
7a634e08 119292008-02-09 Robert Millan <rmh@aybabtu.com>
11930
11931 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
11932 situations in which we can deduce the RAID size and the superblock
11933 doesn't match it.
11934
b92f0c18 119352008-02-09 Robert Millan <rmh@aybabtu.com>
11936
11937 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
11938 and return a grub_diskmemberlist_t composed of LVM physical volumes.
11939 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
11940
11941 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
11942 and return a grub_diskmemberlist_t composed of physical array members.
11943 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
11944
11945 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
11946 prototype.
11947 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
11948 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
11949 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
11950
11951 * util/grub-probe.c (probe): Move partmap probing code from here ...
11952 (probe_partmap): ... to here.
11953 (probe): Use probe_partmap() once for the disk we're probing, and
11954 additionally, when such disk contains a memberlist() struct member,
11955 once for each disk that is contained in the structure returned by
11956 memberlist().
11957
91a4bf68 119582008-02-09 Robert Millan <rmh@aybabtu.com>
11959
11960 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
11961 environment variable to 'all' in order to obtain debug output from
11962 non-util/ code.
11963 * util/i386/pc/grub-setup.c (main): Likewise.
11964
a96f9caa 119652008-02-08 Robert Millan <rmh@aybabtu.com>
11966
11967 * disk/raid.c (grub_raid_scan_device): Check for
11968 `array->device[sb.this_disk.number]' rather than for
11969 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 11970 guaranteed to be accessible.
a96f9caa 11971
b37a9222 119722008-02-08 Robert Millan <rmh@aybabtu.com>
11973
11974 * disk/raid.c: Update copyright.
11975 * fs/cpio.c: Likewise.
11976 * include/grub/raid.h: Likewise.
11977 * loader/i386/pc/multiboot.c: Likewise.
11978 * util/hostfs.c: Likewise.
11979
5626aee1 119802008-02-08 Robert Millan <rmh@aybabtu.com>
11981
11982 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
11983 to a grub_disk_t array.
11984 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
11985 `device[x]'.
11986 (grub_raid_scan_device): Replace `device[x].name' accesses with
11987 `device[x]->name'. Simplify initialization of `array->device[x]'.
11988
554f0187 119892008-02-08 Robert Millan <rmh@aybabtu.com>
11990
11991 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
11992 grub_dprintf() calls.
11993 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
11994 error message.
11995
1ec8425d 119962008-02-07 Christian Franke <franke@computer.org>
11997
11998 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
11999 instead of fseek and ftell to support large files.
12000 (grub_hostfs_read): Likewise.
12001
f2156fda 120022008-02-07 Robert Millan <rmh@aybabtu.com>
12003
12004 Patch from Jeroen Dekkers.
12005 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 12006 failure, since successfully reading all array members might not be
f2156fda 12007 required.
12008
9216e0e7 120092008-02-06 Robert Millan <rmh@aybabtu.com>
12010
12011 * util/grub-probe.c (probe): Simplify partmap probing (with the
12012 assumption that the first word up to the underscore equals to
12013 the module name).
12014
b0dfd29a 120152008-02-06 Christian Franke <franke@computer.org>
12016
12017 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
12018 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
12019 last block of a cpio or tar stream.
12020 Check for "TRAILER!!!" instead of any empty data
12021 block to detect last block of a cpio stream.
12022 (grub_cpio_dir): Fix constness of variable np.
12023 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
12024 cpio or tar trailer is detected. This fixes a crash
12025 on open of a non existing file.
12026
c32865bf 120272008-02-05 Bean <bean123ch@gmail.com>
12028
12029 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
12030 address of entry.
12031 (grub_multiboot_load_elf64): Likewise.
12032 (grub_multiboot): Initialize mbi structure.
12033
12034 * util/grub-fstest.c: Don't include unused header file script.h.
12035
fe6b695a 12036 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 12037 of file.
12038 (grub_fstest_SOURCES): Likewise.
12039
409480b7 120402008-02-05 Robert Millan <rmh@aybabtu.com>
12041
12042 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
12043 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
12044 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
12045 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
12046
12047 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
12048 (translation_table): Replace hardcoded values with macros
12049 provided by `<grub/term.h>'.
12050
12051 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
12052 (keyboard_map): Correct/add a few values, with macros provided
12053 by `<grub/term.h>'.
12054 (keyboard_map_shift): Zero values that don't differ from their
12055 `keyboard_map' equivalents.
12056 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
12057 Discard the second scan code that is always sent by Caps lock.
12058 Only use `keyboard_map_shift' when it provides a non-zero value,
12059 otherwise fallback to `keyboard_map'.
12060
99fadbaa 120612008-02-04 Bean <bean123ch@gmail.com>
12062
12063 * Makefile.in (enable_grub_fstest): New variable.
12064
12065 * conf/common.rmk (grub_fstest_init.lst): New rule.
12066 (grub_fstest_init.h): Likewise.
12067 (grub_fstest_init.c): Likewise.
12068 (util/grub-fstest.c_DEPENDENCIES): New variable.
12069 (grub_fstest_SOURCES): Likewise.
12070
12071 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
12072
12073 * util/grub-fstest.c: New file.
12074
bf567c50 120752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12076
12077 Make grub-setup handle a separate root device.
f19dbdb7 12078
bf567c50 12079 * util/i386/pc/grub-setup.c (setup): Always open the root device,
12080 so that the root device can be compared with the destination
12081 device.
12082 When embedding the core image, if the root and destination devices
12083 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
12084 0xFF.
12085 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 12086
9be6b98b 120872008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12088
12089 Add support for having a grub directory in a different drive. This
12090 is still only the data handling part.
f19dbdb7 12091
9be6b98b 12092 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
12093 (codestart): Save %dh in GRUB_ROOT_DRIVE.
12094 (grub_root_drive): New variable.
12095
12096 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
12097 instead of GRUB_BOOT_DRIVE to construct a device name. Set
12098 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
12099 as it was.
12100
12101 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
12102
12103 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
12104 macro.
12105 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
12106
12107 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
12108 is bogus, because PXE booting does not specify any drive
12109 correctly.
12110
12111 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
12112 am not sure if this is really correct.
12113
12114 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
12115 is always identical to the boot drive when booting from a CD.
12116
12117 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
12118 longer.
12119 (root_drive): New variable.
12120 (real_start): Unconditionally set %dh to ROOT_DRIVE.
12121 (setup_sectors): Push %dx right after popping it, because %dh will
12122 be modified later.
12123 (copy_buffer): Restore %dx.
12124
e0ca0677 121252008-02-03 Robert Millan <rmh@aybabtu.com>
12126
12127 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
12128 use `cdboot.img' for cdrom images.
12129
3b3f6629 121302008-02-03 Robert Millan <rmh@aybabtu.com>
12131
12132 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
12133 only setup gfxterm when `font' command has succeeded.
12134
d42b3672 121352008-02-03 Robert Millan <rmh@aybabtu.com>
12136
12137 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
12138 (grub_rescue_cmd_multiboot_loader)
12139 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
12140
fa370ea6 121412008-02-03 Pavel Roskin <proski@gnu.org>
12142
e0c5dacb 12143 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 12144 %edx and %esi from stack only after grub_gate_a20() is called.
12145 grub_gate_a20() clobbers %edx.
12146
f2a76e1d 121472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12148
12149 * configure.ac (AC_INIT): Bumped to 1.96.
12150
12151 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
12152 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
12153 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
12154 video/readers/png.c.
12155
90fd32d1 121562008-02-03 Bean <bean123ch@gmail.com>
9be665dd 12157
12158 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
12159 (cdboot_img_SOURCES): New variable.
12160 (cdboot_img_ASFLAGS): New variable.
12161 (cdboot_img_LDFLAGS): New variable.
12162
12163 * boot/i386/pc/cdboot.S: New file.
12164
12165 * disk/i386/pc/biosdisk.c (cd_start): New variable.
12166 (cd_count): Likewise.
12167 (grub_biosdisk_get_drive): Add support for cd device.
12168 (grub_biosdisk_call_hook): Likewise.
12169 (grub_biosdisk_iterate): Likewise.
12170 (grub_biosdisk_open): Likewise.
12171 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
12172 (grub_biosdisk_rw): Support reading from cd device.
12173 (GRUB_MOD_INIT): Iterate cd devices.
12174
12175 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
12176 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
12177 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
12178
12179 * kern/i386/pc/init.c (make_install_device): Check for cd device.
12180
4020aa53 121812008-02-02 Robert Millan <rmh@aybabtu.com>
12182
12183 * commands/read.c: New file.
12184 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
12185 (read_mod_SOURCES): New variable.
12186 (read_mod_CFLAGS): Likewise.
12187 (read_mod_LDFLAGS): Likewise.
12188
e03a1132 121892008-02-02 Robert Millan <rmh@aybabtu.com>
12190
12191 * normal/main.c (grub_normal_execute): Check for `menu->size' when
12192 determining whether menu has to be displayed.
12193
58c69220 121942008-02-02 Marco Gerards <marco@gnu.org>
12195
12196 * bus/pci.c: New file.
12197
12198 * include/grub/pci.h: Likewise.
12199
12200 * include/grub/i386/pc/pci.h: Likewise.
12201
12202 * commands/lspci.c: Likewise.
12203
12204 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
12205 `lspci.mod'.
12206 (pci_mod_SOURCES): New variable.
12207 (pci_mod_CFLAGS): Likewise.
12208 (pci_mod_LDFLAGS): Likewise.
12209 (lspci_mod_SOURCES): Likewise.
12210 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 12211 (lspci_mod_LDFLAGS): Likewise.
58c69220 12212
c004e1b4 122132008-02-02 Bean <bean123ch@gmail.com>
12214
12215 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
12216 (grub_ufs_get_file_block): Fix indirect block calculation problem.
12217
12218 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
12219 (grub_xfs_btree_node): New structure.
12220 (grub_xfs_btree_root): New structure.
12221 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
12222 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
12223 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12224 (GRUB_XFS_EXTENT_SIZE): Likewise.
12225 (grub_xfs_read_block): Support btree format type.
12226 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
12227 Use directory block as basic unit.
12228
12229 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
12230
12231 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
12232 __attribute__ ((__regparm__ (1))).
12233
f95562bf 122342008-02-01 Robert Millan <rmh@aybabtu.com>
12235
12236 Correct a mistake in previous commit.
12237
12238 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
12239 top.
12240 (normal/command.c_DEPENDENCIES): New variable.
12241
7d31f41f 122422008-02-01 Robert Millan <rmh@aybabtu.com>
12243
12244 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
12245 top.
12246 (normal/command.c_DEPENDENCIES): New variable.
12247 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
12248 * conf/i386-ieee1275.rmk: Likewise.
12249 * conf/i386-linuxbios.rmk: Likewise.
12250 * conf/i386-pc.rmk: Likewise.
12251 * conf/sparc64-ieee1275.rmk: Likewise.
12252 * conf/powerpc-ieee1275.rmk: Likewise.
12253 (grub_emu_SOURCES): Add `fs/fshelp.c'.
12254
12255 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
12256
60b6be74 122572008-02-01 Robert Millan <rmh@aybabtu.com>
12258
12259 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
12260 call at beginning of function.
12261
078522ab 122622008-01-31 Pavel Roskin <proski@gnu.org>
12263
12264 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 12265 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
12266 (grub_mkrescue_SOURCES): Likewise.
078522ab 12267 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
12268
ccaa8a5f 122692008-01-30 Robert Millan <rmh@aybabtu.com>
12270
12271 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
12272 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
12273 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
12274 (grub_probe_SOURCES): ... to here.
12275
12276 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
12277 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
12278 * conf/i386-ieee1275.rmk: Likewise.
12279 * conf/i386-linuxbios.rmk: Likewise.
12280 * conf/powerpc-ieee1275.rmk: Likewise.
12281
ae5a9cd7 122822008-01-30 Tristan Gingold <gingold@free.fr>
12283
12284 * kern/rescue.c: Silently accept empty lines.
12285
70bc2ef2 122862008-01-29 Bean <bean123ch@gmail.com>
12287
12288 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
12289 (real_code_2): Code cleanup and change comment style.
12290 (move_memory): Avoid using 32-bit address mode.
12291
6a4d50ea 122922008-01-29 Bean <bean123ch@gmail.com>
12293
12294 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
12295 (png_mod_SOURCES): New variable.
12296 (png_mod_CFLAGS): Likewise.
12297 (png_mod_LDFLAGS): Likewise.
12298
12299 * video/readers/png.c: New file.
12300
11cc30ac 123012008-01-28 Robert Millan <rmh@aybabtu.com>
12302
12303 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
12304 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
12305 `ifndef GRUB_MOD_GAP' hack.
12306 * util/elf/grub-mkimage.c (add_segments): Likewise.
12307
3abc589f 123082008-01-27 Robert Millan <rmh@aybabtu.com>
12309
12310 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
12311 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 12312 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 12313
e1907778 123142008-01-27 Robert Millan <rmh@aybabtu.com>
12315
12316 Get grub-emu to build again (including parallel builds).
12317
12318 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
12319 Split into ...
12320 (util/grub-emu.c_DEPENDENCIES): ... this, ...
12321 (normal/execute.c_DEPENDENCIES): ... this, ...
12322 (grub-emu_DEPENDENCIES): ... and this.
12323
12324 * conf/i386-efi.rmk: Likewise.
12325 * conf/i386-linuxbios.rmk: Likewise.
12326 * conf/i386-ieee1275.rmk: Likewise.
12327 * conf/powerpc-ieee1275.rmk: Likewise.
12328 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
12329
2216b101 123302008-01-27 Robert Millan <rmh@aybabtu.com>
12331
12332 * NEWS: Add a few items.
12333
f75172d9 123342008-01-27 Robert Millan <rmh@aybabtu.com>
12335
12336 Fix parallel builds with grub-emu. Based on earlier commit for
12337 grub-probe and grub-setup.
12338
12339 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12340 (util/grub-emu.c_DEPENDENCIES): ... this.
12341 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12342 (util/grub-emu.c_DEPENDENCIES): ... this.
12343 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12344 (util/grub-emu.c_DEPENDENCIES): ... this.
12345 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12346 (util/grub-emu.c_DEPENDENCIES): ... this.
12347 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12348 (util/grub-emu.c_DEPENDENCIES): ... this.
12349
3f51de77 123502008-01-27 Pavel Roskin <proski@gnu.org>
12351
12352 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
12353 to create a gap between _end and the modules added to the image
12354 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
12355 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
12356 * util/elf/grub-mkimage.c (add_segments): Likewise.
12357
2033f53e 123582008-01-26 Pavel Roskin <proski@gnu.org>
12359
12360 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
12361 just return an error.
12362
22da1f6f 123632008-01-26 Bean <bean123ch@gmail.com>
12364
12365 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
12366 (grub_reiserfs_get_item): Save offset of the next item.
12367 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
12368
2a9525e6 123692008-01-25 Robert Millan <rmh@aybabtu.com>
12370
12371 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
12372 make all filesystem sources appear together (possibly fixing omissions
12373 while at it).
12374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12375 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12376 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12378
12379 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
12380 add `kern/file.c'.
12381 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
12382 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12383 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
12384 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12385
12386 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
12387 (probe): Add a sanity check to make sure of our ability to read
12388 requested files when probing for filesystem type.
12389
12390 * genmk.rb: Update copyright year (2007).
12391
12392 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
12393 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
12394 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
12395 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
12396 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
12397 : Remove function prototypes.
12398
b95f71b5 123992008-01-25 Robert Millan <rmh@aybabtu.com>
12400
12401 Revert my previous commits (based on wrong assumption of how grub_errno
12402 works).
12403
fe6b695a 12404 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 12405 * kern/file.c (grub_file_open): Likewise.
12406
d08bbb49 124072008-01-24 Pavel Roskin <proski@gnu.org>
12408
12409 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
12410 that hang if GRUB tries to setup colors.
12411 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
12412 colors for firmwares that don't support it.
12413 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
12414 Recognize Open Hack'Ware, set flags to work around its
12415 limitations.
12416
605e36ed 124172008-01-24 Robert Millan <rmh@aybabtu.com>
12418
12419 * kern/file.c (grub_file_open): Do not account previous failures of
12420 unrelated functions when grub_errno is checked for.
12421 Reported by Oleg Strikov.
12422
bac332a1 124232008-01-24 Bean <bean123ch@gmail.com>
12424
12425 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
12426 (grub_ufs_sblock): New member volume name.
12427 (grub_ufs_find_file): Fix string copy bug.
12428 (grub_ufs_label): Implement this function properly.
12429
12430 * fs/hfs.c (grub_hfs_cnid_type): New enum.
12431 (grub_hfs_iterate_records): Use the correct file number for extents
12432 and catalog file. Fix problem in next index calculation.
12433 (grub_hfs_find_node): Replace recursive function call with loop.
12434 (grub_hfs_iterate_dir): Replace recursive function call with loop.
12435
15c80c09 124362008-01-23 Robert Millan <rmh@aybabtu.com>
12437
12438 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
12439 `<grub/symbol.h>' and `<grub/multiboot.h>'.
12440 (grub_multiboot2_real_boot): New function prototype.
12441
12442 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
12443 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
12444
12445 * kern/i386/ieee1275/init.c (grub_os_area_addr)
12446 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
12447
305338fd 124482008-01-23 Robert Millan <rmh@aybabtu.com>
12449
12450 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
12451 #ifdef'ed out grub_printf().
12452
3ea52685 124532008-01-23 Robert Millan <rmh@aybabtu.com>
12454
12455 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
12456 grub_dprintf calls, since they make "debug=all" mode unusable.
12457 (grub_console_checkkey): Likewise.
12458
5882ae4b 124592008-01-23 Robert Millan <rmh@aybabtu.com>
12460
12461 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12462 `term/i386/pc/at_keyboard.c'.
12463 (pkglib_MODULES): Add `serial.mod'.
12464 (serial_mod_SOURCES): New variable.
12465 (serial_mod_CFLAGS): Likewise.
12466 (serial_mod_LDFLAGS): Likewise.
12467
12468 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
12469 `<grub/powerpc/ieee1275/console.h>'.
12470 (grub_keyboard_controller_init): New function prototype.
12471 (grub_console_checkkey): Likewise.
12472 (grub_console_getkey): Likewise.
12473
12474 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
12475 keyboard on i386.
12476
12477 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
12478 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
12479
06ab5303 124802008-01-23 Robert Millan <rmh@aybabtu.com>
12481
12482 * kern/i386/pc/init.c (make_install_device): When memdisk image is
12483 present, "(memdisk)/boot/grub" becomes the default prefix.
12484
12485 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
12486 a memdisk tarball with all the modules. Add --overlay=DIR option that
12487 allows users to overlay additional files into the image.
12488
dbb475a4 124892008-01-23 Robert Millan <rmh@aybabtu.com>
12490
12491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
12492 and `machine/memory.h'.
12493 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
12494 (_multiboot_mod_SOURCES): New variable.
12495 (_multiboot_mod_CFLAGS): Likewise.
12496 (_multiboot_mod_LDFLAGS): Likewise.
12497 (multiboot_mod_SOURCES): Likewise.
12498 (multiboot_mod_CFLAGS): Likewise.
12499 (multiboot_mod_LDFLAGS): Likewise.
12500
12501 * include/grub/i386/ieee1275/loader.h: New file.
12502
12503 * include/grub/i386/ieee1275/machine.h: Likewise.
12504
12505 * include/grub/i386/ieee1275/memory.h: Likewise.
12506
12507 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
12508 variable declaration.
12509 (grub_os_area_size): Likewise.
12510
12511 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
12512 (grub_lower_mem, grub_upper_mem): New variables.
12513 (grub_stop_floppy): New function (just to make
12514 grub_multiboot2_real_boot() happy).
12515
12516 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
12517 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
12518 (grub_stop): New function.
12519 Include `"../realmode.S"' and `"../loader.S"'.
12520
12521 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
12522 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
12523
12524 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
12525 rely on grub_multiboot2_real_boot() for final boot.
12526
25638629 125272008-01-22 Robert Millan <rmh@aybabtu.com>
12528
12529 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
12530 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
12531 device that doesn't look like an SD card.
12532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12533 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
12534 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
12535 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
12536 found.
12537
9dad816d 125382008-01-22 Robert Millan <rmh@aybabtu.com>
12539
12540 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
12541 avoid claiming over our own code.
12542
34842f2d 125432008-01-22 Bean <bean123ch@gmail.com>
12544
12545 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
12546 (jpeg_mod_SOURCES): New variable.
12547 (jpeg_mod_CFLAGS): Likewise.
12548 (jpeg_mod_LDFLAGS): Likewise.
12549
12550 * video/readers/jpeg.c : New file.
12551
44023a28 125522008-01-22 Bean <bean123ch@gmail.com>
12553
12554 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
12555 there are no more items.
12556
bc2d8ac6 125572008-01-21 Robert Millan <rmh@aybabtu.com>
12558
12559 * kern/mm.c (grub_mm_init_region): Improve debug message.
12560
261bd4bc 125612008-01-21 Robert Millan <rmh@aybabtu.com>
12562
12563 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
12564 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
12565 address.
12566 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
12567 a C macro.
12568 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
12569 Indicates start of upper memory.
12570 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
12571 (generate_image): Abort when image size is big enough to corrupt
12572 upper memory.
12573
12574 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
12575 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
12576 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12577 instead of hardcoding 0xA0000.
12578 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
12579 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12580 instead of hardcoding 0xA0000.
12581
f970b55e 125822008-01-21 Robert Millan <rmh@aybabtu.com>
12583
12584 * disk/memdisk.c (memdisk_size): New variable.
12585 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
12586 `memdisk_size'.
12587 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
12588 image to dynamic memory.
12589 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
12590 `memdisk_size'. Free memdisk block.
12591
1a8b0526 125922008-01-21 Robert Millan <rmh@aybabtu.com>
12593
12594 Fix detection of very small filesystems (like tar).
12595
12596 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
12597 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
12598 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
12599 a problem with this disk).
12600
6e9b4aab 126012008-01-21 Robert Millan <rmh@aybabtu.com>
12602
12603 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
12604 on grub_biosdisk_rw_standard() error.
12605
0d8837b2 126062008-01-21 Robert Millan <rmh@aybabtu.com>
12607
12608 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
12609 recent changes.
12610 * kern/elf.c: Likewise.
12611 * kern/ieee1275/ieee1275.c: Likewise.
12612 * kern/powerpc/ieee1275/openfw.c: Likewise.
12613 * term/ieee1275/ofconsole.c: Likewise.
12614
ffd36e34 126152008-01-21 Robert Millan <rmh@aybabtu.com>
12616
12617 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
12618
3f0093d0 12619 * include/grub/kernel.h (grub_arch_memdisk_addr)
12620 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 12621
3f0093d0 12622 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
12623 (grub_arch_memdisk_size): ... to here.
ffd36e34 12624
6c391b21 126252008-01-21 Robert Millan <rmh@aybabtu.com>
12626
12627 Mostly based on bugfix from Bean.
12628
12629 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
12630 attribute with hook() parameter.
12631 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
12632 declaration.
12633 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
12634 attribute with hook() parameter.
12635 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
12636 declaration.
12637
55a581dc 126382008-01-21 Robert Millan <rmh@aybabtu.com>
12639
12640 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
12641 (pkglib_MODULES): Add `memdisk.mod'.
12642 (memdisk_mod_SOURCES): New variable.
12643 (memdisk_mod_CFLAGS): Likewise.
12644 (memdisk_mod_LDFLAGS): Likewise.
12645
12646 * disk/memdisk.c: New file.
12647
12648 * include/grub/disk.h (grub_disk_dev_id): Add
12649 `GRUB_DISK_DEVICE_MEMDISK_ID'.
12650
12651 * include/grub/i386/pc/kernel.h
12652 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
12653 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
12654 (grub_kernel_image_size): New variable declaration.
12655 (grub_total_module_size): Likewise.
12656 (grub_memdisk_image_size): Likewise.
12657
12658 * include/grub/i386/pc/memory.h
12659 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
12660
12661 * include/grub/kernel.h: Include `<grub/symbol.h>'.
12662 (grub_arch_memdisk_addr): New variable declaration.
12663 (grub_arch_memdisk_size): Likewise.
12664
12665 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
12666 (grub_arch_memdisk_size): Likewise.
12667
12668 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
12669 (codestart): Replace hardcoded `0x100000' with
12670 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
12671
12672 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
12673 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
12674 not NULL, append the contents of the file it refers to, at the end of
12675 the compressed kernel image. Initialize `grub_memdisk_image_size'
12676 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
12677 (options): Add "memdisk"|'m' option.
12678 (main): Parse --memdisk|-m option, and pass user-provided path as
12679 parameter to generate_image().
12680
3d7f54c9 126812008-01-20 Robert Millan <rmh@aybabtu.com>
12682
12683 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
12684 grub_dprintf() calls from here ...
12685 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
12686
0bf74728 126872008-01-20 Robert Millan <rmh@aybabtu.com>
12688
12689 Fix detection of "real mode" when /options/real-mode? doesn't exist.
12690
12691 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
12692 declaration.
12693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
12694 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
12695 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 12696 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 12697 property).
12698 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
12699 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
12700
33bf70a7 127012008-01-19 Robert Millan <rmh@aybabtu.com>
12702
fe6b695a 12703 Get rid of confusing function (superseded by
33bf70a7 12704 `grub_ieee1275_get_integer_property')
12705 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
12706 prototype.
12707 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
12708 function.
12709 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
12710 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 12711 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 12712
e2da7d26 127132008-01-19 Robert Millan <rmh@aybabtu.com>
12714
12715 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
12716 command after "shut-down", since implementations differ on which
12717 the command for halt is.
12718
59f1fd8d 127192008-01-19 Robert Millan <rmh@aybabtu.com>
12720
12721 * include/grub/i386/linuxbios/console.h: Add header protection.
12722 (grub_keyboard_controller_init): New function prototype.
12723 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
12724 (KEYBOARD_COMMAND_READ): Likewise.
12725 (KEYBOARD_COMMAND_WRITE): Likewise.
12726 (KEYBOARD_SCANCODE_SET1): Likewise.
12727 (grub_keyboard_controller_write): New function.
12728 (grub_keyboard_controller_read): Likewise.
12729 (grub_keyboard_controller_init): Likewise.
12730
12731 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
12732 (grub_console_init): On coreboot/LinuxBIOS, call
12733 grub_keyboard_controller_init().
12734
5f5a7c15 127352008-01-19 Robert Millan <rmh@aybabtu.com>
12736
12737 PowerPC changes provided by Pavel Roskin.
12738
12739 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
12740 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
12741 don't rely on cmain() doing it.
12742 * kern/i386/ieee1275/startup.S (_start): Store %eax in
12743 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
12744
1210e168 127452008-01-16 Robert Millan <rmh@aybabtu.com>
12746
12747 * include/grub/i386/linuxbios/memory.h
12748 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
12749 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
12750 receive `table_header' as argument. Instead, probe for it in the
12751 known memory ranges where it can be present.
12752 (grub_available_iterate): Do not pass a fixed `table_header' address
12753 to grub_linuxbios_table_iterate().
12754
3d04eab8 127552008-01-15 Robert Millan <rmh@aybabtu.com>
12756
12757 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
12758 * conf/i386-ieee1275.rmk: New file.
12759 * include/grub/i386/ieee1275/console.h: Likewise.
12760 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
12761 * include/grub/i386/ieee1275/kernel.h: Likewise.
12762 * include/grub/i386/ieee1275/time.h: Likewise.
12763 * kern/i386/ieee1275/init.c: Likewise.
12764 * kern/i386/ieee1275/startup.S: Likewise.
12765
d1bc1b73 127662008-01-15 Robert Millan <rmh@aybabtu.com>
12767
12768 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
12769 when pointers are 32-bit (but still do set it to one when they are
12770 64-bit).
12771
66a65807 127722008-01-15 Robert Millan <rmh@aybabtu.com>
12773
12774 * include/grub/ieee1275/ieee1275.h
12775 (grub_ieee1275_get_integer_property): New function prototype.
12776
12777 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
12778 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 12779 grub_ieee1275_get_property() to handle endianness.
66a65807 12780
12781 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
12782 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 12783 where appropriate.
66a65807 12784 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
12785 (grub_map): Likewise.
12786 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
12787
a83ccafd 127882008-01-15 Bean <bean123ch@gmail.com>
12789
12790 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
12791 (grub_script_execute_cmdline): Reset grub_errno.
12792
12793 * normal/main.c (read_config_file): Reset grub_errno.
12794
12795 * normal/parse.y (script_init): New.
12796 (script): Move function and menuentry here.
12797 (delimiter): New.
12798 (command): Add delimiter at the end of command.
12799 (commands): Adjust to match the new command.
12800 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 12801 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 12802 (if): Use the new commands.
12803
12804 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
12805
df6ecfc6 128062008-01-15 Robert Millan <rmh@aybabtu.com>
12807
12808 * normal/menu.c (run_menu): Move timeout message from here ...
12809 (print_timeout): ... to here.
12810 (run_menu): Use print_timeout() once during initial draw to print
12811 the whole message, and again in every clock tick to update only
12812 the number of seconds.
12813
87ae25eb 128142008-01-15 Robert Millan <rmh@aybabtu.com>
12815
12816 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
12817 actual size of `available' from grub_ieee1275_get_property(), and
12818 restrict parsing to that bound.
12819
47bf09a4 128202008-01-15 Christian Franke <franke@computer.org>
12821
12822 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
12823 (argp_program_version): Remove variable.
12824 (argp_program_bug_address): Likewise.
12825 (options): Convert from struct argp_option to struct option.
12826 (struct arguments): Remove.
12827 (parse_opt): Remove.
12828 (usage): New function.
12829 (main): Replace struct args members by simple variables.
12830 Replace argp_parse() by getopt_long().
12831 Add switch to evaluate options.
12832 Add missing "(...)" around root_dev in prefix string.
12833
c86f1469 128342008-01-14 Robert Millan <rmh@aybabtu.com>
12835
12836 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
12837 for grub_ieee1275_exit(), in order to improve portability.
12838
e622c559 128392008-01-14 Robert Millan <rmh@aybabtu.com>
12840
12841 * util/grub.d/10_linux.in (prefix): Define.
12842 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
12843
44cb1ec8 128442008-01-13 Pavel Roskin <proski@gnu.org>
12845
12846 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
12847 grub_errno if no errors have been detected.
12848
1eb8c802 128492008-01-12 Robert Millan <rmh@aybabtu.com>
12850
12851 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
12852 (grub_util_get_dev_abstraction): New function prototype.
12853
12854 * util/getroot.c: Include `<grub/util/getroot.h>'
12855 (grub_util_get_grub_dev): Move detection of abstraction type to ...
12856 (grub_util_get_dev_abstraction): ... here (new function).
12857
12858 * util/grub-probe.c: Convert PRINT_* to an enum. Add
12859 `PRINT_ABSTRACTION'.
12860 (probe): Probe for abstraction type when requested.
12861 (main): Understand `--target=abstraction'.
12862
12863 * util/i386/efi/grub-install.in: Add abstraction module to core
12864 image when it is found to be necessary.
12865 * util/i386/pc/grub-install.in: Likewise.
12866 * util/powerpc/ieee1275/grub-install.in: Likewise.
12867
12868 * util/update-grub_lib.in (font_path): Return system path without
12869 converting to GRUB path.
12870 * util/update-grub.in: Convert system path returned by font_path()
12871 to a GRUB path. Use `grub-probe -t abstraction' to determine what
12872 abstraction module is needed for loading fonts (if any). Export
12873 that as `GRUB_PRELOAD_MODULES'.
12874 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
12875 insmod commands).
12876
52bd3de9 128772008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
12878
12879 Remove some unused code from reiserfs.
f19dbdb7 12880
52bd3de9 12881 * fs/reiserfs.c (struct grub_reiserfs_key)
12882 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
12883 (struct grub_reiserfs_node_body): Removed.
12884 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
12885 Likewise.
12886 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12887 Likewise.
12888 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12889 Likewise.
12890 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12891 Likewise.
12892 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
12893 Likewise.
12894 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
12895 Likewise.
12896 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12897 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12898 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12899
2f80039d 129002008-01-10 Robert Millan <rmh@aybabtu.com>
12901
12902 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
12903 Determines if a file is garbage left by packaging systems, etc.
12904 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
12905 for processing /etc/grub.d scripts.
12906 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
12907 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
12908 as a condition for processing Linux images.
12909
87888032 129102008-01-10 Pavel Roskin <proski@gnu.org>
12911
12912 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
12913 to compile reiserfs.c on PowerPC.
12914
7e54fced 129152008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 12916
12917 * kern/device.c (grub_device_iterate): Do not abort device iteration
12918 when one of the devices cannot be opened.
12919 * kern/disk.c (grub_disk_open): Do not account previous failures of
12920 unrelated functions when grub_errno is checked for.
12921
5aa541e6 129222008-01-08 Robert Millan <rmh@aybabtu.com>
12923
12924 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
12925 `! grub_linux_is_bzimage', change order of address comparison to make
12926 it more intuitive, and improve "too big zImage" error message.
12927
7076340d 129282008-01-08 Robert Millan <rmh@aybabtu.com>
12929
12930 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
12931 `$(update-grub_DATA)'.
12932 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
12933 targets.
12934
9ca70333 129352008-01-07 Robert Millan <rmh@aybabtu.com>
12936
12937 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
12938 which instruction is modified by grub-setup during installation
12939 (since it wasn't obvious by only looking at this file).
12940
38ccf575 129412008-01-07 Robert Millan <rmh@aybabtu.com>
12942
12943 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
12944 listing actual TODO items.
12945
f5db4291 129462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
12947
868967cf 12948 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
12949 correctly.
12950 (grub_reiserfs_get_key_offset): Likewise.
12951 (grub_reiserfs_set_key_offset): Likewise.
12952 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 12953 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 12954
12955 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
12956 better to remove the bitfield version completely.
f19dbdb7 12957
868967cf 129582008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 12959
f5db4291 12960 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
12961 allocated from the heap, due to the fshelp implementation.
12962 (grub_reiserfs_dir): Free NODE, due to the same reason.
12963
492e6d9d 129642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
12965
12966 Mostly from Vincent Pelletier:
f19dbdb7 12967
492e6d9d 12968 * fs/reiserfs.c: New file.
f19dbdb7 12969
492e6d9d 12970 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
12971 (reiserfs_mod_SOURCES): New variable.
12972 (reiserfs_mod_CFLAGS): Likewise.
12973 (reiserfs_mod_LDFLAGS): Likewise.
12974
12975 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
12976 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
12977 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
12978 normal/color.c.
12979
9ce3e7c1 129802008-01-06 Robert Millan <rmh@aybabtu.com>
12981
12982 * normal/color.c: Remove `<grub/env.h>'.
12983
f3b58148 129842008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
12985
12986 * include/grub/normal.h: Include <grub/env.h>.
12987
7ac3bcfa 129882008-01-05 Robert Millan <rmh@aybabtu.com>
12989
12990 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
12991 usage example with `(hd0,1)'.
fb358190 12992 Reported by Samuel Thibault.
7ac3bcfa 12993
c8ee99d7 129942008-01-05 Robert Millan <rmh@aybabtu.com>
12995
12996 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
12997 (grub_linux_boot_zimage): Rename to ...
12998 (grub_linux_boot): ... this.
12999 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
13000 (grub_linux_boot_zimage): Conditionalize zImage copy.
13001
13002 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
13003 (grub_linux_boot_bzimage): Remove prototype.
13004 (grub_linux_boot_zimage): Rename to ...
13005 (grub_linux_boot): ... this.
13006
13007 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
13008 (grub_linux_boot): Remove function.
13009
0ece25b1 130102008-01-05 Robert Millan <rmh@aybabtu.com>
13011
13012 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
13013 (grub_env_write_color_highlight): Likewise.
13014 (grub_wait_after_message): Likewise.
13015
13016 * normal/color.c: New file.
13017
13018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13019 (normal_mod_DEPENDENCIES): Likewise.
13020
13021 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13022 (normal_mod_DEPENDENCIES): Likewise.
13023
13024 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13025 (normal_mod_DEPENDENCIES): Likewise.
13026
13027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13028 (normal_mod_DEPENDENCIES): Likewise.
13029
13030 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
13031 for waiting after a message is printed.
13032 * normal/main.c (read_config_file): Likewise.
13033 (grub_normal_init): Register grub_env_write_color_normal() and
13034 grub_env_write_color_highlight() hooks. Mark `color_normal' and
13035 `color_highlight' variables as global.
13036
13037 * normal/menu.c (grub_wait_after_message): New function.
13038 (grub_color_menu_normal): New variable. Replaces ...
13039 (GRUB_COLOR_MENU_NORMAL): ... this macro.
13040 (grub_color_menu_highlight): New variable. Replaces ...
13041 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
13042 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
13043 `GRUB_TERM_COLOR_STANDARD'.
13044 (print_message): Use `grub_setcolorstate' to reload colors. Rename
13045 `normal_code' and `highlight_code' to `old_color_normal' and
13046 `old_color_highlight', respectively.
13047 (grub_menu_init_page): Update colors when drawing the menu, based on
13048 `menu_color_normal' and `menu_color_highlight' variables.
13049 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
13050 a message is printed.
13051
182dd4e5 130522008-01-05 Robert Millan <rmh@aybabtu.com>
13053
13054 * kern/env.c (grub_env_context_open): Propagate hooks for global
13055 variables to new context.
13056
13057 * kern/main.c (grub_set_root_dev): Export `root' variable.
13058
ddf8f6ad 130592008-01-05 Robert Millan <rmh@aybabtu.com>
13060
13061 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 13062 discs unconditionally, since udev and others have options to provide
ddf8f6ad 13063 them.
13064
d8b43d9b 130652008-01-05 Robert Millan <rmh@aybabtu.com>
13066
13067 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
13068
2bff2de3 130692008-01-04 Christian Franke <franke@computer.org>
13070
13071 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
13072 of eisa_mmap.
13073
97eab917 130742008-01-03 Pavel Roskin <proski@gnu.org>
13075
13076 * kern/i386/linuxbios/init.c: Put "void" to all function
13077 declarations with no arguments.
13078 * kern/powerpc/ieee1275/init.c: Likewise.
13079 * term/i386/pc/at_keyboard.c: Likewise.
13080 * term/i386/pc/vga_text.c: Likewise.
13081 * util/grub-mkdevicemap.c: Likewise.
13082
b9416d00 130832008-01-02 Robert Millan <rmh@aybabtu.com>
13084
13085 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
13086 message when loaded image is out of bounds.
13087 (grub_multiboot_load_elf64): Likewise.
13088
92695df9 130892008-01-02 Pavel Roskin <proski@gnu.org>
13090
13091 * util/grub.d/10_linux.in: Try version without ".old" when
13092 looking for initrd. It's better to use initrd from the newer
13093 kernel of the same version than no initrd at all.
13094
d98d9cad 130952008-01-01 Robert Millan <rmh@aybabtu.com>
13096
13097 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
13098
dbfdce36 130992008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
13100
f19dbdb7 13101 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 13102 grub_video_get_active_render_target.
13103 (grub_video_adapter): Added unmap_color and get_active_render_target.
13104
f19dbdb7 13105 * video/video.c: Added grub_video_unmap_color and
dbfdce36 13106 grub_video_get_active_render_target.
13107 (grub_video_get_info): Changed method to accept NULL pointer as an
13108 argument to allow detection of active video adapter.
13109
13110 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
13111 grub_video_vbe_unmap_color_int.
13112 Added grub_video_vbe_unmap_color and
13113 grub_video_vbe_get_active_render_target.
13114 (grub_video_vbe_adapter): Added unmap_color and
13115 get_active_render_target.
13116
f19dbdb7 13117 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 13118 with grub_video_vbe_unmap_color_int.
13119
13120 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
13121 (DEFAULT_NORMAL_COLOR): Likewise.
13122 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
13123 (DEFAULT_FG_COLOR): Removed.
13124 (DEFAULT_BG_COLOR): Likewise.
13125 (DEFAULT_CURSOR_COLOR): Changed value.
13126 (grub_virtual_screen): Added standard_color_setting,
13127 normal_color_setting, highlight_color_setting and term_color.
13128 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
13129 (bitmap_width): Added.
13130 (bitmap_height): Likewise.
13131 (bitmap): Likewise.
13132 (set_term_color): Likewise.
13133 (grub_virtual_screen_setup): Changed to use new terminal coloring
13134 settings.
13135 (grub_gfxterm_init): Added init for bitmap.
13136 (grub_gfxterm_fini): Added destroy for bitmap.
13137 (redraw_screen_rect): Updated to use background bitmap and new
13138 terminal coloring.
13139 (scroll_up): Added optimization for case when there is no bitmap.
13140 (grub_gfxterm_cls): Fixed to use correct background color.
13141 (grub_virtual_screen_setcolorstate): Changed to use new terminal
13142 coloring.
13143 (grub_virtual_screen_setcolor): Likewise.
13144 (grub_virtual_screen_getcolor): Added.
13145 (grub_gfxterm_background_image_cmd): Likewise.
13146 (grub_video_term): Added setcolor and getcolor.
13147 (MOD_INIT): Added registration of background_image command.
13148 (MOD_TERM): Added unregistration for background_image command.
13149
c3c20931 131502007-12-30 Pavel Roskin <proski@gnu.org>
13151
13152 * loader/multiboot_loader.c: Fix multiboot command
13153 unregistration. Fix all typos in the word "multiboot".
13154
df266716 131552007-12-29 Pavel Roskin <proski@gnu.org>
94239199 13156
13157 * util/grub.d/10_linux.in: Refactor search for initrd. Add
13158 support for initrd names used in Fedora.
13159
fc6e896c 131602007-12-26 Bean <bean123ch@gmail.com>
13161
13162 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
13163 (cpio_mod_SOURCES): New variable.
13164 (cpio_mod_CFLAGS): Likewise.
13165 (cpio_mod_LDFLAGS): Likewise.
13166
13167 * fs/cpio.c: New file.
13168
13169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
13170
13171 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13172
13173 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13174
13175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13176
533110ad 131772007-12-25 Robert Millan <rmh@aybabtu.com>
13178
13179 * include/grub/term.h (struct grub_term): Add `getcolor' function.
13180 (grub_getcolor): New function.
13181
13182 * kern/term.c (grub_getcolor): New function.
13183 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
13184 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
13185 (print_entry): Set normal and highlight colors to
13186 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
13187 respectively, before printing and restore them to old
13188 values afterwards.
13189 (grub_menu_init_page): Likewise. Fill an additional colored space
13190 that would otherwise be left blank.
13191
13192 * term/efi/console.c (grub_console_getcolor): New function.
13193 (struct grub_console_term.getcolor): New variable.
13194 * term/i386/pc/console.c (grub_console_getcolor): New function.
13195 (struct grub_console_term.getcolor): New variable.
13196 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
13197 (struct grub_console_term.getcolor): New variable.
13198
13199 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
13200 (struct grub_console_term.setcolor): Remove variable.
13201 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
13202 (struct grub_console_term.setcolor): Remove variable.
13203 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
13204 (struct grub_console_term.setcolor): Remove variable.
13205 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
13206 (struct grub_console_term.setcolor): Remove variable.
13207
4931827f 132082007-12-25 Robert Millan <rmh@aybabtu.com>
13209
13210 * configure.ac: Search for possible unifont.hex locations, and
13211 define UNIFONT_HEX if found.
13212
13213 * Makefile.in (UNIFONT_HEX): Define variable.
13214 (DATA): Rename to ...
13215 (PKGLIB): ... this. Update all users.
13216 (PKGDATA): New variable.
13217 (pkgdata_IMAGES): Rename to ...
13218 (pkglib_IMAGES): ... this. Update all users.
13219 (pkgdata_MODULES): Rename to ...
13220 (pkglib_MODULES): ... this. Update all users.
13221 (pkgdata_PROGRAMS): Rename to ...
13222 (pkglib_PROGRAMS): ... this. Update all users.
13223 (pkgdata_DATA): Rename to ...
13224 (pkglib_DATA): ... this. Update all users.
13225 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
13226 (unicode.pff, ascii.pff): New rules.
13227 (all-local): Add `$(PKGDATA)' dependency.
13228 (install-local): Process `$(PKGDATA)'.
13229
13230 * util/update-grub_lib.in (font_path): Search for *.pff files in
13231 a few more locations, including `${pkgdata}'.
13232
57e57e31 132332007-12-23 Robert Millan <rmh@aybabtu.com>
13234
13235 Patch from Bean <bean123ch@gmail.com>:
13236 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
13237 `size'.
13238
4bc72aa9 132392007-12-21 Bean <bean123ch@gmail.com>
13240
13241 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
13242 (ntfscomp_mod_SOURCES): New variable.
13243 (ntfscomp_mod_CFLAGS): Likewise.
13244 (ntfscomp_mod_LDFLAGS): Likewise.
13245
13246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
13247 (grub_probe_SOURCES): Likewise.
13248 (grub_emu_SOURCES): Likewise.
13249
13250 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13251 (grub_emu_SOURCES): Likewise.
13252
13253 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13254 (grub_emu_SOURCES): Likewise.
13255
13256 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13257 (grub_emu_SOURCES): Likewise.
13258
13259 * fs/ntfs.c (grub_ntfscomp_func): New variable.
13260 (read_run_list): Renamed to grub_ntfs_read_run_list.
13261 (decomp_nextvcn): Moved to ntfscomp.c.
13262 (decomp_getch): Likewise.
13263 (decomp_get16): Likewise.
13264 (decomp_block): Likewise.
13265 (read_block): Likewise.
13266 (read_data): Partially moved to ntfscomp.c.
13267 (fixup): Change unsigned to grub_uint16_t.
13268 (read_mft): Change unsigned long to grub_uint32_t.
13269 (read_attr): Likewise.
13270 (read_data): Likewise.
13271 (read_run_data): Likewise.
13272 (read_run_list): Likewise.
13273 (read_mft): Likewise.
13274
13275 * fs/ntfscomp.c: New file.
13276
13277 * include/grub/ntfs.h: New file.
13278
af680a87 132792007-12-16 Robert Millan <rmh@aybabtu.com>
13280
13281 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
13282 IDE disk check, since Linux is known to support 20 IDE disks.
13283 Reported by Colin Watson.
13284
84be7599 132852007-12-15 Bean <bean123ch@gmail.com>
13286
13287 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
13288 (lnxboot_img_SOURCES): New variable.
13289 (lnxboot_img_ASFLAGS): Likewise.
13290 (lnxboot_img_LDFLAGS): Likewise.
13291
13292 * boot/i386/pc/lnxboot.S: New file.
13293
6af9db01 132942007-11-24 Pavel Roskin <proski@gnu.org>
13295
13296 * configure.ac: Test if '--build-id=none' is supported by the
13297 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
13298 objcopy to generate incorrect binary files (binutils
13299 2.17.50.0.18-1 as shipped by Fedora 8).
13300 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
13301 linking, so that build ID doesn't break the test.
13302
7361cfe6 133032007-11-24 Pavel Roskin <proski@gnu.org>
13304
13305 * include/grub/i386/time.h: use "void" in the argument list
13306 of grub_cpu_idle().
13307 * include/grub/powerpc/time.h: Likewise.
13308 * include/grub/sparc64/time.h: Likewise.
13309
1593e10c 133102007-11-18 Christian Franke <franke@computer.org>
13311
13312 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
13313 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
13314 This fixes the problem that function keys did not work in grub-emu.
13315
3b8db1a8 133162007-11-18 Christian Franke <franke@computer.org>
13317
13318 * disk/host.c (grub_host_open): Remove attribute unused from
13319 name parameter. Add check for "host". This fixes the problem
13320 that grub-emu does not find partitions.
13321
2e29408d 133222007-11-18 Christian Franke <franke@computer.org>
13323
13324 * util/hostfs.c (is_dir): New function.
13325 (grub_hostfs_dir): Handle missing dirent.d_type case.
13326 (grub_hostfs_read): Add missing fseek().
13327 (grub_hostfs_label): Clear label pointer. This fixes a crash
13328 of grub-emu on "ls (host)".
13329
398cd047 133302007-11-18 Christian Franke <franke@computer.org>
13331
13332 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
13333 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
13334 to 64 bit boundary by default.
13335
c405c391 133362007-11-18 Bean <bean123ch@gmail.com>
13337
13338 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
13339 (hexdump_mod_SOURCES): New variable.
13340 (hexdump_mod_CFLAGS): Likewise.
13341 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 13342
c405c391 13343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13344
13345 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13346
13347 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13348
13349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13350
13351 * include/grub/hexdump.h: New file.
13352
13353 * commands/hexdump.c: New file.
13354
5cced7fd 133552007-11-10 Robert Millan <rmh@aybabtu.com>
13356
13357 * commands/i386/pc/play.c (beep_off): Switch order of arguments
13358 in grub_outb() calls.
13359 (beep_on): Likewise.
13360
8b714eb0 133612007-11-10 Christian Franke <franke@computer.org>
13362
13363 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
13364 (grub_menu_run): Likewise.
13365
ce0f1839 133662007-11-10 Robert Millan <rmh@aybabtu.com>
13367
13368 * include/grub/i386/efi/machine.h: New file.
13369 * include/grub/i386/linuxbios/machine.h: Likewise.
13370 * include/grub/i386/pc/machine.h: Likewise.
13371 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13372 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13373
13374 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
13375 (serial_hw_io_addr): New variable.
13376 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
13377 instead of `(unsigned short *) 0x400'.
13378
270c237d 133792007-11-10 Bean <bean123ch@gmail.com>
13380
13381 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
13382
a87783bf 133832007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13384
13385 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
13386 (vga_mod_SOURCES): Added.
13387 (vga_mod_CFLAGS): Likewise.
13388 (vga_mod_LDFLAGS): Likewise.
13389
13390 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
13391 grub_outb() calls.
13392 (set_map_mask): Likewise.
13393 (set_read_map): Likewise.
13394 (set_read_address): Likewise.
13395 (vga_font): Removed variable.
13396 (get_vga_glyph): Removed function.
13397 (invalidate_char): Likewise.
13398 (write_char): Changed to use grub_font_get_glyph() for font
13399 information.
13400 (grub_vga_putchar): Likewise.
13401 (grub_vga_getcharwidth): Likewise.
13402
6433b448 134032007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13404
13405 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
13406 flags.
13407 (pxeboot_img_LDFLAGS): Likewise.
13408 (diskboot_img_LDFLAGS): Likewise.
13409 (kernel_img_LDFLAGS): Likewise.
13410
49178511 134112007-11-06 Robert Millan <rmh@aybabtu.com>
13412
13413 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
13414 in grub_outb() calls.
13415 (serial_hw_init): Likewise.
13416
53b052de 134172007-11-05 Robert Millan <rmh@aybabtu.com>
13418
13419 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
13420 spaces. Skip non-regular files.
13421
5ab33bba 134222007-11-05 Robert Millan <rmh@aybabtu.com>
13423
13424 * kern/disk.c (grub_disk_firmware_fini)
13425 (grub_disk_firmware_is_tainted): New variables.
13426
13427 * include/grub/disk.h (grub_disk_firmware_fini)
13428 (grub_disk_firmware_is_tainted): Likewise.
13429
13430 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
13431 (grub_disk_biosdisk_fini): ... to here.
13432 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
13433 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
13434 is set. Register grub_disk_biosdisk_fini() in
13435 `grub_disk_firmware_fini'.
13436
13437 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
13438 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
13439 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
13440 to finish existing firmware disk interface.
13441
13442 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
13443 (ata_mod_SOURCES): New variable.
13444 (ata_mod_CFLAGS): Likewise.
13445 (ata_mod_LDFLAGS): Likewise.
13446
0149ab7c 134472007-11-05 Robert Millan <rmh@aybabtu.com>
13448
13449 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
13450 (grub_ata_wait): Reimplement using grub_millisleep().
13451
13452 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
13453 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
13454
be7ac41e 134552007-11-03 Marco Gerards <marco@gnu.org>
13456
13457 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
13458 (CRTC_ADDR_PORT): New macro.
13459 (CRTC_DATA_PORT): Likewise.
13460 (CRTC_CURSOR): Likewise.
13461 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13462 (CRTC_CURSOR_ADDR_LOW): Likewise.
13463 (update_cursor): New function.
13464 (grub_console_real_putchar): Call `update_cursor'.
13465 (grub_console_gotoxy): Likewise.
13466 (grub_console_cls): Set the default color when clearing the
13467 screen.
13468 (grub_console_setcursor): Implemented.
13469
bb06ab2e 134702007-11-03 Marco Gerards <marco@gnu.org>
13471
13472 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
13473 become activate.
13474 (grub_ata_pio_write): Likewise.
13475
13476 (grub_atapi_identify): Wait after issuing an ATA command.
13477 (grub_atapi_packet): Likewise.
13478 (grub_ata_identify): Likewise.
13479 (grub_ata_readwrite): Likewise.
13480
cf8f780b 134812007-11-03 Marco Gerards <marco@gnu.org>
13482
13483 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
13484 (grub_ata_pio_write): Likewise.
13485 (grub_ata_readwrite): Use `grub_error', instead of
13486 returning `grub_errno'.
13487
ed649e54 134882007-11-03 Marco Gerards <marco@gnu.org>
13489
13490 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
13491 grub_ata_pio_write once for every single sector, instead of for
13492 multiple sectors.
13493
ca25d8f0 134942007-10-31 Robert Millan <rmh@aybabtu.com>
13495
13496 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
13497
13498 * conf/i386-linuxbios.rmk: New file.
13499
13500 * kern/i386/pc/hardware.c: Likewise.
13501 * term/i386/pc/at_keyboard.c: Likewise.
13502 * term/i386/pc/vga_text.c: Likewise.
13503
13504 * include/grub/i386/linuxbios/boot.h: Likewise.
13505 * include/grub/i386/linuxbios/console.h: Likewise.
13506 * include/grub/i386/linuxbios/init.h: Likewise.
13507 * include/grub/i386/linuxbios/kernel.h: Likewise.
13508 * include/grub/i386/linuxbios/loader.h: Likewise.
13509 * include/grub/i386/linuxbios/memory.h: Likewise.
13510 * include/grub/i386/linuxbios/serial.h: Likewise.
13511 * include/grub/i386/linuxbios/time.h: Likewise.
13512
13513 * kern/i386/linuxbios/init.c: Likewise.
13514 * kern/i386/linuxbios/startup.S: Likewise.
13515 * kern/i386/linuxbios/table.c: Likewise.
13516
e911ecc1 135172007-10-31 Marco Gerards <marco@gnu.org>
13518
13519 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
13520 (ata_mod_SOURCES): New variable.
13521 (ata_mod_CFLAGS): Likewise.
13522 (ata_mod_LDFLAGS): Likewise.
13523
13524 * disk/ata.c: New file.
13525
13526 * include/grub/disk.h (grub_disk_dev_id): Add
13527 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 13528
7f66d0e0 135292007-10-31 Robert Millan <rmh@aybabtu.com>
13530
13531 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
13532 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
13533
13534 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
13535 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
13536
13537 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
13538 `<grub/types.h>'.
13539
13540 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
13541
5cd7dd46 135422007-10-27 Robert Millan <rmh@aybabtu.com>
13543
3236ca65 13544 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 13545
2ebfc90f 135462007-10-22 Robert Millan <rmh@aybabtu.com>
13547
13548 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
13549 `"../realmode.S"'.
13550 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
13551
73fcb0f3 135522007-10-22 Robert Millan <rmh@aybabtu.com>
13553
13554 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
13555 (pkgdata_MODULES): Add `biosdisk.mod'.
13556 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
13557 variables.
13558
13559 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
13560 (grub_biosdisk_init): Replace with ...
13561 (GRUB_MOD_INIT(biosdisk)): ... this.
13562 (grub_biosdisk_fini): Replace with ...
13563 (GRUB_MOD_FINI(biosdisk)): ... this.
13564
13565 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
13566 (grub_machine_init): Remove call to grub_biosdisk_init().
13567 (grub_machine_fini): Remove call to grub_machine_fini().
13568
13569 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
13570
3381d274 135712007-10-22 Robert Millan <rmh@aybabtu.com>
13572
13573 * include/grub/time.h: New file.
13574 * include/grub/i386/time.h: Likewise.
13575 * include/grub/powerpc/time.h: Likewise.
13576 * include/grub/sparc64/time.h: Likewise.
13577
13578 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
13579 instances to ...
13580 (KERNEL_MACHINE_TIME_HEADER): ... this.
13581 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13582 instances to ...
13583 (KERNEL_MACHINE_TIME_HEADER): ... this.
13584 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13585 instances to ...
13586 (KERNEL_MACHINE_TIME_HEADER): ... this.
13587
13588 * kern/i386/efi/init.c: Include `<grub/time.h>'.
13589 (grub_millisleep): New function.
13590 * kern/i386/pc/init.c: Include `<grub/time.h>'.
13591 (grub_millisleep): New function.
13592 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
13593 Remove `grub/machine/time.h' include.
13594 (grub_millisleep): New function.
13595 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
13596 Remove `grub/machine/time.h' include.
13597 (grub_millisleep): New function.
13598
13599 * include/grub/misc.h (grub_div_roundup): New function.
13600
13601 * kern/misc.c: Include `<grub/time.h>'.
13602 (grub_millisleep_generic): New function.
13603
13604 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
13605 Add `time.h'.
13606 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
13607 Add `time.h'.
13608 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
13609 `machine/time.h'. Add `time.h'.
13610 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13611
a39a0312 136122007-10-21 Robert Millan <rmh@aybabtu.com>
13613
13614 * include/grub/misc.h (grub_max): New function.
13615
2aad70e2 136162007-10-21 Robert Millan <rmh@aybabtu.com>
13617
13618 * util/misc.c (grub_util_info): Call fflush() before returning.
13619
54b71c4b 136202007-10-20 Robert Millan <rmh@aybabtu.com>
13621
13622 * genmk.rb (Image): Copy `extra_flags' from here ...
13623 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
13624
13625 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
13626 to `argc' and `args' arguments.
13627
a979f513 136282007-10-17 Robert Millan <rmh@aybabtu.com>
13629
13630 * kern/i386/loader.S: New file.
13631
13632 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
13633 * kern/i386/loader.S (grub_linux_prot_size)... to here.
13634 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
13635 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
13636 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
13637 * kern/i386/loader.S (grub_linux_real_addr)... to here.
13638 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
13639 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
13640 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
13641 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
13642 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
13643 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
13644 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
13645 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
13646
13647 * kern/i386/realmode.S: New file.
13648
13649 * kern/i386/pc/startup.S (protstack): Moved from here ...
13650 * kern/i386/realmode.S (protstack)... to here.
13651 * kern/i386/pc/startup.S (gdt): Moved from here ...
13652 * kern/i386/realmode.S (gdt)... to here.
13653 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
13654 * kern/i386/realmode.S (prot_to_real)... to here.
13655
13656 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
13657 `kern/i386/realmode.S'.
13658
825fc8fd 136592007-10-17 Robert Millan <rmh@aybabtu.com>
13660
13661 * include/grub/i386/loader.h: New file.
13662
13663 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
13664 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13665 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13666 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13667 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
13668 * include/grub/i386/loader.h (grub_linux_prot_size)
13669 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13670 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13671 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13672 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
13673
13674 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
13675
e179b2f4 136762007-10-15 Robert Millan <rmh@aybabtu.com>
13677
13678 * normal/misc.c (grub_normal_print_device_info): Do not probe for
13679 filesystem when dev->disk is unset.
13680 Do probe for filesystem even when dev->disk->has_partitions is set.
13681 In case a filesystem is found, always report it.
13682 In case it isn't, if dev->disk->has_partitions is set, report that
13683 a partition table was found instead of reporting that no filesystem
13684 could be identified.
13685
5db82af6 136862007-10-12 Robert Millan <rmh@aybabtu.com>
13687
13688 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
13689 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
13690
68f6ac74 13691 * include/grub/types.h (grub_host_to_target16): New macro.
13692 (grub_host_to_target32): Likewise.
13693 (grub_host_to_target64): Likewise.
13694 (grub_target_to_host16): Likewise.
13695 (grub_target_to_host32): Likewise.
13696 (grub_target_to_host64): Likewise.
5db82af6 13697
13698 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13699 Renamed from to ...
13700 (GRUB_MOD_ALIGN): ...this. Update all users.
13701
68f6ac74 13702 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
13703 grub_host_to_target32.
13704 Replace grub_be_to_cpu32 with grub_target_to_host32.
13705 (load_modules): Likewise.
13706 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
13707 Replace grub_be_to_cpu32 with grub_target_to_host32.
13708 Replace grub_cpu_to_be16 with grub_host_to_target16.
13709 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 13710
3cf497cc 137112007-10-12 Robert Millan <rmh@aybabtu.com>
13712
13713 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
13714 * util/elf/grub-mkimage.c: ... here.
13715
13716 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
13717 `util/powerpc/ieee1275/grub-mkimage.c'.
13718
c8cc3692 137192007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 13720
c8cc3692 13721 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
13722 and make it easier to figure out.
13723 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
13724 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
13725 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
13726 leave us with less than HEAP_MIN_SIZE total heap.
13727 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 13728
5c58b791 137292007-10-03 Robert Millan <rmh@aybabtu.com>
13730
13731 * include/grub/i386/io.h: New file.
13732 * commands/i386/pc/play.c (inb): Removed.
13733 (outb): Removed.
13734 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13735 with grub_outb().
afcd2ef8 13736 * term/i386/pc/serial.c (inb): Removed.
13737 (outb): Removed.
13738 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13739 with grub_outb().
13740 * term/i386/pc/vga.c (inb): Removed.
13741 (outb): Removed.
13742 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13743 with grub_outb().
5c58b791 13744
1a477ed6 137452007-10-02 Robert Millan <rmh@aybabtu.com>
13746
13747 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
13748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13749 Reported by Marcin Kurek.
13750
6b5d80fa 137512007-09-07 Robert Millan <rmh@aybabtu.com>
13752
13753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
13754 SmartFirmware version updates (as released by Sven Luther), and avoid
13755 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
13756 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
13757 known broken.
13758
5618afbf 137592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13760
13761 From Hitoshi Ozeki:
13762 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
13763 when merging two regions.
13764
6139dcd9 137652007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13766
508e39ee 13767 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
13768 * normal/completion.c (grub_normal_do_completion): Likewise.
13769 Reported by Hitoshi Ozeki.
13770
137712007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 13772
6139dcd9 13773 Do not use devices at boot in chainloading.
f19dbdb7 13774
6139dcd9 13775 * loader/i386/pc/chainloader.c (boot_drive): New variable.
13776 (boot_part_addr): Likewise.
13777 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
13778 with BOOT_DRIVE and BOOT_PART_ADDR.
13779 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
13780 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
13781
38da6516 137822007-08-29 Robert Millan <rmh@aybabtu.com>
13783
13784 Patch from Simon Peter <dn.tlp@gmx.net>:
13785 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
13786 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
13787 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
13788 util/i386/pc/grub-setup.c_DEPENDENCIES.
13789 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
13790 util/grub-probe.c_DEPENDENCIES.
13791 * conf/powerpc-ieee1275.rmk: Likewise.
13792
29d0928c 137932007-08-28 Robert Millan <rmh@aybabtu.com>
13794
13795 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
13796 to tell grub-mkdevicemap how to name devices.
13797 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
13798 feature).
13799
13800 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
13801 util/i386/get_disk_name.c.
13802 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
13803 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
13804 util/ieee1275/get_disk_name.c.
13805
13806 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
13807
13808 * DISTLIST: Add util/i386/get_disk_name.c and
13809 util/ieee1275/get_disk_name.c.
13810
13811 * util/grub-mkdevicemap.c: Replace device naming logic with
13812 grub_util_get_disk_name() calls.
13813
5a0d3cca 138142007-08-20 Robert Millan <rmh@aybabtu.com>
13815
13816 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
13817 (so that it works for both plural and singular quantities).
13818
8b72db2f 138192007-08-05 Robert Millan <rmh@aybabtu.com>
13820
13821 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
13822 so that [xz] isn't taken into account when determining order.
13823
352466bf 138242007-08-02 Marco Gerards <marco@gnu.org>
13825
13826 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
13827 `include/multiboot2.h', `include/grub/elfload.h',
13828 `include/multiboot.h', `include/grub/multiboot.h',
13829 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
13830 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
13831 `kern/elf.c', `loader/multiboot_loader.c',
13832 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
13833 `loader/i386/pc/multiboot2.c',
13834 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
13835 `util/i386/pc/grub-mkrescue.in'. Remove
13836 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
13837 `include/grub/i386/pc/util/biosdisk.h' and
13838 `include/grub/powerpc/ieee1275/multiboot.h'.
13839
8f096014 138402007-08-02 Bean <bean123ch@gmail.com>
13841
13842 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
13843 (ntfs_mod_SOURCES): New variable.
13844 (ntfs_mod_CFLAGS): Likewise.
13845 (ntfs_mod_LDFLAGS): Likewise.
13846
13847 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
13848 (grub_probe_SOURCES): Likewise.
13849 (grub_emu_SOURCES): Likewise.
13850
13851 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13852 (grub_emu_SOURCES): Likewise.
13853
13854 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13855 (grub_emu_SOURCES): Likewise.
f19dbdb7 13856
8f096014 13857 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
13858
13859 * fs/ntfs.c: New file.
13860
9959f7db 138612007-08-02 Bean <bean123ch@gmail.com>
13862
13863 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
13864
13865 * file.h (grub_file): Likewise.
13866
13867 * fshelp.h (grub_fshelp_read_file): Likewise.
13868
13869 * util/i386/pc/grub-setup.c (setup): Likewise.
13870 (save_first_sector): Likewise.
13871 (save_blocklists): Likewise.
f19dbdb7 13872
9959f7db 13873 * fs/affs.c (grub_affs_read_file): Likewise.
13874
13875 * fs/ext2.c (grub_ext2_read_file): Likewise.
13876
13877 * fs/fat.c (grub_fat_read_data): Likewise.
13878
13879 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
13880
13881 * fs/hfs.c (grub_hfs_read_file): Likewise.
13882
13883 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
13884
13885 * fs/jfs.c (grub_jfs_read_file): Likewise.
13886
13887 * fs/minix.c (grub_minix_read_file): Likewise.
13888
13889 * fs/sfs.c (grub_sfs_read_file): Likewise.
13890
13891 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 13892
9959f7db 13893 * fs/xfs.c (grub_xfs_read_file): Likewise.
13894
13895 * command/blocklist.c (read_blocklist): Likewise.
13896 (print_blocklist): Likewise.
13897
0a203f83 138982007-08-02 Marco Gerards <marco@gnu.org>
13899
13900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
13901 `util/hostfs.c'.
13902
13903 * disk/host.c: New file.
13904
13905 * util/hostfs.c: Likewise.
13906
13907 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
13908 return `GRUB_ERR_BAD_FS'.
13909 * fs/sfs.c (grub_sfs_mount): Likewise.
13910 * fs/xfs.c (grub_xfs_mount): Likewise.
13911
13912 * include/grub/disk.h (enum grub_disk_dev_id): Add
13913 `GRUB_DISK_DEVICE_HOST_ID'.
13914
13915 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
13916
e5dfe777 139172007-07-24 Jerone Young <jerone@gmail.com>
13918
f19dbdb7 13919 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 13920 modules for compilation.
13921 * conf/powerpc-ieee1275.rmk: Likewise.
13922
13923 * include/multiboot.h: Move multiboot definitions to one file. Rename
13924 many definitions to not get grub specific.
13925 * include/multiboot2.h: Create header with multiboot 2 definitions.
13926 * include/grub/multiboot.h: Header for grub specific function
13927 prototypes and definitions.
13928 * include/grub/multiboot2.h: Likewise.
13929 * include/grub/multiboot_loader.h: Likewise.
13930 * include/grub/i386/pc/multiboot.h: Removed.
13931 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
13932
13933 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
13934 and 2 to allow for one multiboot and module commands.
13935 * loader/multiboot2.c: Add multiboot2 functionality.
13936 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
13937 and definition names.
13938 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
13939 2 functions.
13940 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
13941 ieee1275 specific multiboot2 code.
13942
13943 * kern/i386/pc/startup.S: Change headers and definition names for
13944 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
13945
daf0f0ba 139462007-07-22 Robert Millan <rmh@aybabtu.com>
13947
13948 * geninitheader.sh: Process file specified in first parameter rather
13949 than hardcoding grub_modules_init.lst.
fe6b695a 13950 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 13951 than hardcoding grub_modules_init.h.
13952
13953 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
13954 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
13955 grub_probe_init.[ch] and grub_setup_init.[ch].
13956
13957 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
13958 grub_modules_init.h with grub_emu_init.h.
13959 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
13960 grub_probe_init.[ch] files.
13961 * conf/i386-efi.rmk: Likewise.
13962 * conf/i386-pc.rmk: Likewise.
13963 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
13964 grub_setup_init.[ch] files.
13965
13966 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
13967 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
13968 to initialize modules rather than a list of hardcoded functions.
13969 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
13970 grub_init_all() to initialize modules rather than a list of hardcoded
13971 functions.
13972
54cdc1cc 139732007-07-22 Robert Millan <rmh@aybabtu.com>
13974
13975 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13976 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
13977
ad0686cc 139782007-07-22 Robert Millan <rmh@aybabtu.com>
13979
13980 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
13981 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
13982 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
13983 flag when running on SmartFirmware.
13984 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
13985 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
13986 was set.
13987
13988 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13989 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
13990 rather than decreasing it.
13991
13992 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
13993 there's not enough space to do it, fail in the same way as when it
13994 can't be done because there are no partitions.
13995
13996 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
13997 when nvsetenv failed.
13998
969c02ec 139992007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14000
14001 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
14002 because this rule is automatically generated.
14003 (grub-mkrescue): Removed for the same reason as above.
14004
5a79f472 140052007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14006
14007 Migrate to GNU General Public License Version 3.
f19dbdb7 14008
5a79f472 14009 * COPYING: Replaced with the plain text version of GPLv3.
14010
14011 * config.guess: Updated from gnulib.
14012 * config.sub: Likewise.
14013
14014 * geninit.sh: Output a GPLv3 copyright notice.
14015 * geninitheader.sh: Likewise.
14016 * genmodsrc.sh: Likewise.
14017 * gensymlist.sh.in: Likewise.
14018
14019 * boot/i386/pc/boot.S: Upgraded to GPLv3.
14020 * boot/i386/pc/diskboot.S: Likewise.
14021 * boot/i386/pc/pxeboot.S: Likewise.
14022 * commands/blocklist.c: Likewise.
14023 * commands/boot.c: Likewise.
14024 * commands/cat.c: Likewise.
14025 * commands/cmp.c: Likewise.
14026 * commands/configfile.c: Likewise.
14027 * commands/echo.c: Likewise.
14028 * commands/help.c: Likewise.
14029 * commands/ls.c: Likewise.
14030 * commands/search.c: Likewise.
14031 * commands/terminal.c: Likewise.
14032 * commands/test.c: Likewise.
14033 * commands/videotest.c: Likewise.
14034 * commands/i386/cpuid.c: Likewise.
14035 * commands/i386/pc/halt.c: Likewise.
14036 * commands/i386/pc/play.c: Likewise.
14037 * commands/i386/pc/reboot.c: Likewise.
14038 * commands/i386/pc/vbeinfo.c: Likewise.
14039 * commands/i386/pc/vbetest.c: Likewise.
14040 * commands/ieee1275/halt.c: Likewise.
14041 * commands/ieee1275/reboot.c: Likewise.
14042 * commands/ieee1275/suspend.c: Likewise.
14043 * disk/loopback.c: Likewise.
14044 * disk/lvm.c: Likewise.
14045 * disk/raid.c: Likewise.
14046 * disk/efi/efidisk.c: Likewise.
14047 * disk/i386/pc/biosdisk.c: Likewise.
14048 * disk/ieee1275/ofdisk.c: Likewise.
14049 * font/manager.c: Likewise.
14050 * fs/affs.c: Likewise.
14051 * fs/ext2.c: Likewise.
14052 * fs/fat.c: Likewise.
14053 * fs/fshelp.c: Likewise.
14054 * fs/hfs.c: Likewise.
14055 * fs/hfsplus.c: Likewise.
14056 * fs/iso9660.c: Likewise.
14057 * fs/jfs.c: Likewise.
14058 * fs/minix.c: Likewise.
14059 * fs/sfs.c: Likewise.
14060 * fs/ufs.c: Likewise.
14061 * fs/xfs.c: Likewise.
14062 * hello/hello.c: Likewise.
14063 * include/grub/acorn_filecore.h: Likewise.
14064 * include/grub/arg.h: Likewise.
14065 * include/grub/bitmap.h: Likewise.
14066 * include/grub/boot.h: Likewise.
14067 * include/grub/cache.h: Likewise.
14068 * include/grub/device.h: Likewise.
14069 * include/grub/disk.h: Likewise.
14070 * include/grub/dl.h: Likewise.
14071 * include/grub/elfload.h: Likewise.
14072 * include/grub/env.h: Likewise.
14073 * include/grub/err.h: Likewise.
14074 * include/grub/file.h: Likewise.
14075 * include/grub/font.h: Likewise.
14076 * include/grub/fs.h: Likewise.
14077 * include/grub/fshelp.h: Likewise.
14078 * include/grub/gzio.h: Likewise.
14079 * include/grub/hfs.h: Likewise.
14080 * include/grub/kernel.h: Likewise.
14081 * include/grub/loader.h: Likewise.
14082 * include/grub/lvm.h: Likewise.
14083 * include/grub/misc.h: Likewise.
14084 * include/grub/mm.h: Likewise.
14085 * include/grub/net.h: Likewise.
14086 * include/grub/normal.h: Likewise.
14087 * include/grub/parser.h: Likewise.
14088 * include/grub/partition.h: Likewise.
14089 * include/grub/pc_partition.h: Likewise.
14090 * include/grub/raid.h: Likewise.
14091 * include/grub/rescue.h: Likewise.
14092 * include/grub/script.h: Likewise.
14093 * include/grub/setjmp.h: Likewise.
14094 * include/grub/symbol.h: Likewise.
14095 * include/grub/term.h: Likewise.
14096 * include/grub/terminfo.h: Likewise.
14097 * include/grub/tparm.h: Likewise.
14098 * include/grub/types.h: Likewise.
14099 * include/grub/video.h: Likewise.
14100 * include/grub/efi/api.h: Likewise.
14101 * include/grub/efi/chainloader.h: Likewise.
14102 * include/grub/efi/console.h: Likewise.
14103 * include/grub/efi/console_control.h: Likewise.
14104 * include/grub/efi/disk.h: Likewise.
14105 * include/grub/efi/efi.h: Likewise.
14106 * include/grub/efi/pe32.h: Likewise.
14107 * include/grub/efi/time.h: Likewise.
14108 * include/grub/i386/linux.h: Likewise.
14109 * include/grub/i386/setjmp.h: Likewise.
14110 * include/grub/i386/types.h: Likewise.
14111 * include/grub/i386/efi/kernel.h: Likewise.
14112 * include/grub/i386/efi/loader.h: Likewise.
14113 * include/grub/i386/efi/time.h: Likewise.
14114 * include/grub/i386/pc/biosdisk.h: Likewise.
14115 * include/grub/i386/pc/boot.h: Likewise.
14116 * include/grub/i386/pc/chainloader.h: Likewise.
14117 * include/grub/i386/pc/console.h: Likewise.
14118 * include/grub/i386/pc/init.h: Likewise.
14119 * include/grub/i386/pc/kernel.h: Likewise.
14120 * include/grub/i386/pc/loader.h: Likewise.
14121 * include/grub/i386/pc/memory.h: Likewise.
14122 * include/grub/i386/pc/multiboot.h: Likewise.
14123 * include/grub/i386/pc/serial.h: Likewise.
14124 * include/grub/i386/pc/time.h: Likewise.
14125 * include/grub/i386/pc/vbe.h: Likewise.
14126 * include/grub/i386/pc/vbeblit.h: Likewise.
14127 * include/grub/i386/pc/vbefill.h: Likewise.
14128 * include/grub/i386/pc/vbeutil.h: Likewise.
14129 * include/grub/i386/pc/vga.h: Likewise.
14130 * include/grub/ieee1275/ieee1275.h: Likewise.
14131 * include/grub/ieee1275/ofdisk.h: Likewise.
14132 * include/grub/powerpc/libgcc.h: Likewise.
14133 * include/grub/powerpc/setjmp.h: Likewise.
14134 * include/grub/powerpc/types.h: Likewise.
14135 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14136 * include/grub/powerpc/ieee1275/console.h: Likewise.
14137 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
14138 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14139 * include/grub/powerpc/ieee1275/loader.h: Likewise.
14140 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
14141 * include/grub/powerpc/ieee1275/time.h: Likewise.
14142 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
14143 * include/grub/sparc64/libgcc.h: Likewise.
14144 * include/grub/sparc64/setjmp.h: Likewise.
14145 * include/grub/sparc64/types.h: Likewise.
14146 * include/grub/sparc64/ieee1275/console.h: Likewise.
14147 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14148 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14149 * include/grub/sparc64/ieee1275/time.h: Likewise.
14150 * include/grub/util/biosdisk.h: Likewise.
14151 * include/grub/util/getroot.h: Likewise.
14152 * include/grub/util/lvm.h: Likewise.
14153 * include/grub/util/misc.h: Likewise.
14154 * include/grub/util/raid.h: Likewise.
14155 * include/grub/util/resolve.h: Likewise.
14156 * io/gzio.c: Likewise.
14157 * kern/device.c: Likewise.
14158 * kern/disk.c: Likewise.
14159 * kern/dl.c: Likewise.
14160 * kern/elf.c: Likewise.
14161 * kern/env.c: Likewise.
14162 * kern/err.c: Likewise.
14163 * kern/file.c: Likewise.
14164 * kern/fs.c: Likewise.
14165 * kern/loader.c: Likewise.
14166 * kern/main.c: Likewise.
14167 * kern/misc.c: Likewise.
14168 * kern/mm.c: Likewise.
14169 * kern/parser.c: Likewise.
14170 * kern/partition.c: Likewise.
14171 * kern/rescue.c: Likewise.
14172 * kern/term.c: Likewise.
14173 * kern/efi/efi.c: Likewise.
14174 * kern/efi/init.c: Likewise.
14175 * kern/efi/mm.c: Likewise.
14176 * kern/i386/dl.c: Likewise.
14177 * kern/i386/efi/init.c: Likewise.
14178 * kern/i386/efi/startup.S: Likewise.
14179 * kern/i386/pc/init.c: Likewise.
14180 * kern/i386/pc/lzo1x.S: Likewise.
14181 * kern/i386/pc/startup.S: Likewise.
14182 * kern/ieee1275/ieee1275.c: Likewise.
14183 * kern/powerpc/cache.S: Likewise.
14184 * kern/powerpc/dl.c: Likewise.
14185 * kern/powerpc/ieee1275/cmain.c: Likewise.
14186 * kern/powerpc/ieee1275/crt0.S: Likewise.
14187 * kern/powerpc/ieee1275/init.c: Likewise.
14188 * kern/powerpc/ieee1275/openfw.c: Likewise.
14189 * kern/sparc64/cache.S: Likewise.
14190 * kern/sparc64/dl.c: Likewise.
14191 * kern/sparc64/ieee1275/init.c: Likewise.
14192 * kern/sparc64/ieee1275/openfw.c: Likewise.
14193 * loader/efi/chainloader.c: Likewise.
14194 * loader/efi/chainloader_normal.c: Likewise.
14195 * loader/i386/efi/linux.c: Likewise.
14196 * loader/i386/efi/linux_normal.c: Likewise.
14197 * loader/i386/pc/chainloader.c: Likewise.
14198 * loader/i386/pc/chainloader_normal.c: Likewise.
14199 * loader/i386/pc/linux.c: Likewise.
14200 * loader/i386/pc/linux_normal.c: Likewise.
14201 * loader/i386/pc/multiboot.c: Likewise.
14202 * loader/i386/pc/multiboot_normal.c: Likewise.
14203 * loader/powerpc/ieee1275/linux.c: Likewise.
14204 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14205 * normal/arg.c: Likewise.
14206 * normal/cmdline.c: Likewise.
14207 * normal/command.c: Likewise.
14208 * normal/completion.c: Likewise.
14209 * normal/execute.c: Likewise.
14210 * normal/function.c: Likewise.
14211 * normal/lexer.c: Likewise.
14212 * normal/main.c: Likewise.
14213 * normal/menu.c: Likewise.
14214 * normal/menu_entry.c: Likewise.
14215 * normal/misc.c: Likewise.
14216 * normal/parser.y: Likewise.
14217 * normal/script.c: Likewise.
14218 * normal/i386/setjmp.S: Likewise.
14219 * normal/powerpc/setjmp.S: Likewise.
14220 * normal/sparc64/setjmp.S: Likewise.
14221 * partmap/acorn.c: Likewise.
14222 * partmap/amiga.c: Likewise.
14223 * partmap/apple.c: Likewise.
14224 * partmap/gpt.c: Likewise.
14225 * partmap/pc.c: Likewise.
14226 * partmap/sun.c: Likewise.
14227 * term/gfxterm.c: Likewise.
14228 * term/terminfo.c: Likewise.
14229 * term/efi/console.c: Likewise.
14230 * term/i386/pc/console.c: Likewise.
14231 * term/i386/pc/serial.c: Likewise.
14232 * term/i386/pc/vesafb.c: Likewise.
14233 * term/i386/pc/vga.c: Likewise.
14234 * term/ieee1275/ofconsole.c: Likewise.
14235 * util/biosdisk.c: Likewise.
14236 * util/console.c: Likewise.
14237 * util/genmoddep.c: Likewise.
14238 * util/getroot.c: Likewise.
14239 * util/grub-emu.c: Likewise.
14240 * util/grub-mkdevicemap.c: Likewise.
14241 * util/grub-probe.c: Likewise.
14242 * util/lvm.c: Likewise.
14243 * util/misc.c: Likewise.
14244 * util/raid.c: Likewise.
14245 * util/resolve.c: Likewise.
14246 * util/update-grub.in: Likewise.
14247 * util/update-grub_lib.in: Likewise.
14248 * util/grub.d/00_header.in: Likewise.
14249 * util/grub.d/10_hurd.in: Likewise.
14250 * util/grub.d/10_linux.in: Likewise.
14251 * util/i386/efi/grub-install.in: Likewise.
14252 * util/i386/efi/grub-mkimage.c: Likewise.
14253 * util/i386/pc/grub-install.in: Likewise.
14254 * util/i386/pc/grub-mkimage.c: Likewise.
14255 * util/i386/pc/grub-mkrescue.in: Likewise.
14256 * util/i386/pc/grub-setup.c: Likewise.
14257 * util/i386/pc/misc.c: Likewise.
14258 * util/powerpc/ieee1275/grub-install.in: Likewise.
14259 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
14260 * util/powerpc/ieee1275/misc.c: Likewise.
14261 * video/bitmap.c: Likewise.
14262 * video/video.c: Likewise.
14263 * video/i386/pc/vbe.c: Likewise.
14264 * video/i386/pc/vbeblit.c: Likewise.
14265 * video/i386/pc/vbefill.c: Likewise.
14266 * video/i386/pc/vbeutil.c: Likewise.
14267 * video/readers/tga.c: Likewise.
14268
3572d015 142692007-07-02 Robert Millan <rmh@aybabtu.com>
14270
14271 * conf/i386-efi.rmk: Replace obsolete reference to
14272 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
14273 with util/getroot.c.
14274 * conf/powerpc-ieee1275.rmk: Likewise.
14275 * conf/sparc64-ieee1275.rmk: Likewise.
14276
14277 * util/grub-emu.c (main): Fix unchecked pointer handling.
14278
2c2a681b 142792007-07-02 Robert Millan <rmh@aybabtu.com>
14280
14281 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
14282 invocation to fail, in order to support partition-less media.
14283
14284 * util/i386/pc/grub-install.in: Likewise.
14285
14286 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
14287 which fs or partmap modules are needed (akin to its sister scripts).
14288
14289 Also use grub-probe to get rid of unportable /proc/mounts check.
14290
14291 Print the same informational message that the other scripts do, before
fe6b695a 14292 exiting.
2c2a681b 14293
6193defe 142942007-06-23 Robert Millan <rmh@aybabtu.com>
14295
fe6b695a 14296 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 14297 a font file can be found and, if so, echo the GRUB path to it.
14298
14299 * util/update-grub.in: Handle multiple terminals depending on user
14300 input, platform availability and font file presence. Propagate
14301 variables of our findings to /etc/grub.d/ children.
14302
14303 * util/grub.d/00_header.in: Handle multiple terminals, based on
14304 environment setup by update-grub.
14305
eface1dc 143062007-06-23 Robert Millan <rmh@aybabtu.com>
14307
ba50d28f 14308 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 14309
bf697e28 143102007-06-21 Robert Millan <rmh@aybabtu.com>
14311
14312 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
14313 indicate end of data section in kernel image.
14314 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
14315 GRUB_KERNEL_MACHINE_DATA_END.
14316
14317 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
14318 space for it.
14319 * kern/i386/efi/startup.S: Likewise.
14320
14321 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
14322 during image generation. Implement --prefix option to override this
14323 patch.
14324 * util/i386/efi/grub-mkimage.c: Likewise.
14325
14326 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
14327 code to make path relative to its root into a separate function.
14328
14329 * util/i386/pc/grub-install.in: Use newly provided
14330 make_system_path_relative_to_its_root() to convert ${grubdir}, then
14331 pass the result to grub-install --prefix.
14332
baa574b4 143332007-06-13 Robert Millan <rmh@aybabtu.com>
14334
14335 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
14336 DEFAULT_DEVICE_MAP.
14337 * util/grub-emu.c: Use above definitions from misc.h instead of
14338 defining them.
14339 * util/grub-mkdevicemap.c: Likewise.
14340 * util/i386/pc/grub-setup.c: Likewise.
14341 * util/grub-probe.c: Likewise.
14342 (probe): Abort with grub_util_error() when either
14343 grub_guess_root_device or grub_util_get_grub_dev fails.
14344
0215dcbf 143452007-06-12 Robert Millan <rmh@aybabtu.com>
14346
14347 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
14348 "pager" assignment.
14349 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
14350 "pcdata".
14351 * util/grub-probe.c (probe): Likewise for "drive_name".
14352
8af2ab7b 143532007-06-11 Robert Millan <rmh@aybabtu.com>
14354
14355 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
14356 not just the cdrom one.
14357
59d31694 143582007-06-11 Robert Millan <rmh@aybabtu.com>
14359
14360 * util/i386/pc/grub-mkrescue.in: Add "set -e".
14361 Add --pkglibdir=DIR option to override pkglibdir.
14362 Mention --image-type=TYPE in help output.
14363 Fix --grub-mkimage (it was a no-op).
fe6b695a 14364 Abort gracefully when no parameter is given.
59d31694 14365
7ee367e4 143662007-06-11 Robert Millan <rmh@aybabtu.com>
14367
14368 * util/i386/pc/grub-mkrescue.in: New file.
14369 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
14370 * Makefile.in: Handle bin_SCRIPTS.
14371
29b0ed46 143722007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
14373
14374 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
14375 list of video modes.
14376
c0f90770 143772007-06-06 Robert Millan <rmh@aybabtu.com>
14378
14379 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
14380 file doesn't exist, or if it is in a filesystem grub can't read.
14381
14382 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
14383 not abort if GRUB_DRIVE could not be defined. Rearrange generated
14384 header comment to fit in 80 columns when the variables are resolved.
14385
14386 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
14387 could be identified by update-grub. Remove redundant check for
fe6b695a 14388 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 14389 handles that).
14390
fb36dc26 143912007-06-04 Robert Millan <rmh@aybabtu.com>
14392
14393 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
14394
14395 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
14396
14397 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
14398
0c68c93e 143992007-06-04 Robert Millan <rmh@aybabtu.com>
14400
14401 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
14402
14403 * include/grub/partition.h: Declare grub_apple_partition_map_init and
14404 grub_apple_partition_map_fini.
14405
14406 * util/biosdisk.c
14407 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
14408 to access >2 TiB disks).
14409
14410 Print disk->total_sectors with %llu instead of %lu, since this
14411 variable is always 64-bit (prevents wrong disk size from being displayed
14412 on either >2 TiB disk or big-endian CPU).
14413
14414 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
14415 into a generic case that supports all (sane) partition maps.
14416
14417 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
14418 breaks big-endian.
14419
14420 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
14421 and grub_apple_partition_map_fini() after that.
14422
0f23eb74 144232007-06-01 Robert Millan <rmh@aybabtu.com>
14424
14425 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
14426
14427 * util/grub.d/00_header.in: Only enable gfxterm when
14428 convert_system_path_to_grub_path() succeeds.
14429
42c71976 144302007-05-20 Robert Millan <rmh@aybabtu.com>
14431
14432 * util/update-grub_lib.in: New file.
14433 * DISTLIST: Add update-grub_lib.in.
14434 * conf/common.rmk: Generate update-grub_lib and install it in
14435 $(lib_DATA).
14436 * Makefile.in: Add install routine for $(lib_DATA).
14437
14438 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
14439 function provided by update-grub_lib to support arbitrary paths of
14440 unifont.pff.
14441 * util/update-grub.in: Use convert_system_path_to_grub_path() to
14442 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
14443
5beb2291 144442007-05-19 Robert Millan <rmh@aybabtu.com>
14445
14446 * commands/i386/cpuid.c: New module.
14447 * DISTLIST: Add it.
14448 * conf/i386-efi.rmk: Enable cpuid.mod.
14449 * conf/i386-pc.rmk: Likewise.
14450
7262eca1 144512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14452
14453 * kern/disk.c (grub_disk_read): Check return value of
14454 grub_realloc().
14455
260ba823 144562007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14457
14458 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
14459 arrays.
14460 * disk/raid.c (grub_raid_open): Likewise.
14461
1ecb6cf2 144622007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14463
14464 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
14465 stack instead of on the heap.
14466
14467 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
14468 before doing a read on it.
14469
14470 * configure.ac: Only use -fno-stack-protector for the target
14471 environment.
f19dbdb7 14472
21c8cbb1 144732007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14474
14475 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
14476 __attribute_ ((unused)) to mode_type argument.
14477
14478 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 14479
21c8cbb1 14480 * kern/misc.c (memcmp): Fix prototype.
14481
14482 * include/grub/partition.h [GRUB_UTIL]
14483 (grub_gpt_partition_map_init): Add prototype.
14484 (grub_gpt_partition_map_fini): Likewise.
14485
14486 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
14487 at the right place.
14488
14489 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
14490 (grub_fat_read_data): Likewise.
14491 (grub_fat_find_dir): Likewise.
14492
14493 * font/manager.c (find_glyph): Make table a const.
14494 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 14495
849d55d3 144962007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
14497
14498 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
14499 code, first search for device in /dev/mapper, then in /dev.
14500 (grub_util_get_grub_dev): New function.
14501 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
14502 prototype.
14503 * util/grub-probe.c (probe): Remove check for RAID, call
14504 grub_util_get_grub_dev() instead of
14505 grub_util_biosdisk_get_grub_dev().
14506 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
14507 grub_util_biosdisk_get_grub_dev().
14508 * util/i386/pc/grub-setup.c (main): Likewise.
14509
8fff7c2f 145102007-05-16 Robert Millan <rmh@aybabtu.com>
14511
14512 * DISTLIST: Update for the latest changes.
14513 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
14514 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
14515 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
14516 grub/util/biosdisk.h.
14517 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
14518 grub/util/biosdisk.h.
14519
48e12b52 145202007-05-16 Robert Millan <rmh@aybabtu.com>
14521
14522 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
14523
46b9d128 145242007-05-16 Robert Millan <rmh@aybabtu.com>
14525
14526 * util/i386/efi/grub-install.in: New.
14527 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
14528 newly added grub-install.
14529 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
14530 include.
14531 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
14532 grub/util/biosdisk.h.
14533 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
14534 grub/util/biosdisk.h.
14535
2d1a40a9 145362007-05-16 Robert Millan <rmh@aybabtu.com>
14537
14538 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
14539 * include/grub/util/biosdisk.h: ... here.
14540 * util/i386/pc/biosdisk.c: Moved to ...
14541 * util/biosdisk.c: ... here.
14542 * util/i386/pc/getroot.c: Moved to ...
14543 * util/getroot.c: ... here.
14544 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
14545 * util/grub-mkdevicemap.c: ... here.
14546 * util/i386/pc/grub-probe.c: Moved to ...
14547 * util/grub-probe.c: ... here.
14548
9e26e3bc 145492007-05-15 Robert Millan <rmh@aybabtu.com>
14550
14551 * util/update-grub.in: Remove duplicated line in grub.cfg header
14552 message.
14553
57f96397 145542007-05-13 Robert Millan <rmh@aybabtu.com>
14555
14556 * util/update-grub.in: Fix a few assumptions about the devices holding
14557 /, /boot and /boot/grub being the same.
14558 * util/grub.d/00_header.in: Likewise.
14559 * util/grub.d/10_hurd.in: Likewise.
14560 * util/grub.d/10_linux.in: Likewise.
14561
14562 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
14563 patterns. Use that to define the `.old' suffix as older than `'.
14564
14565 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
14566
14567 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
14568 the grub.cfg header message.
14569
2e610d62 145702007-05-11 Robert Millan <rmh@aybabtu.com>
14571
14572 * util/update-grub.in: Create device.map if it doesn't already exist,
14573 before attempting to run grub-probe.
14574 Check for grub-probe and grub-mkdevicemap with the same code
14575 grub-install is using.
14576 Remove test mode.
14577
3f6a10ef 145782007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
14579
14580 * Makefile.in: Add the datarootdir autoconf variable.
14581
02e7b75e 145822007-05-09 Robert Millan <rmh@aybabtu.com>
14583
14584 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 14585 fail gracefully if dev->disk->partition == NULL.
02e7b75e 14586
75f396cc 145872007-05-07 Robert Millan <rmh@aybabtu.com>
14588
14589 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
14590 determine partition map module.
14591 * util/i386/pc/grub-install.in: Use this feature to decide which
14592 partition module to load, instead of hardcoding pc and gpt.
14593
da65cb36 145942007-05-07 Robert Millan <rmh@aybabtu.com>
14595
14596 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
14597 source directory differs from build directory.
14598
b57d6a91 145992007-05-05 Robert Millan <rmh@aybabtu.com>
14600
14601 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
14602 initialisation.
14603
509d00f1 146042007-05-05 Robert Millan <rmh@aybabtu.com>
14605
14606 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
14607
c48f23ef 146082007-05-05 Robert Millan <rmh@aybabtu.com>
14609
14610 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
14611 command-line arguments via ${GRUB_CMDLINE_LINUX}.
14612
20b97658 146132007-05-05 Robert Millan <rmh@aybabtu.com>
14614
14615 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
14616 (grub_probe_SOURCES): Likewise.
14617 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
14618 GPT and initialize dos_part and bsd_part accordingly.
14619 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
14620 install_bsd_part.
14621 (main): Activate gpt module for use during partition identification,
14622 and deactivate it afterwards.
14623 * util/i386/pc/grub-install.in: Add gpt module to core.img.
14624 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
14625 partition identification, and deactivate it afterwards.
14626
99123174 146272007-05-05 Robert Millan <rmh@aybabtu.com>
14628
14629 * term/i386/pc/console.c (grub_console_fini): Call
14630 grub_term_set_current() before grub_term_unregister().
14631
ebd97f6e 146322007-05-04 Robert Millan <rmh@aybabtu.com>
14633
14634 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
14635 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
14636 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
14637 and update-grub_DATA.
14638 * conf/common.rmk: Build and install update-grub components.
14639 * conf/common.mk: Regenerate.
14640 * util/update-grub.in: New. Core of update-grub.
14641 * util/grub.d/00_header.in: New. Generates grub.cfg header.
14642 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
14643 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
14644 * util/grub.d/README: New. Document grub.d directory layout.
14645
b06a264d 146462007-05-01 Robert Millan <rmh@aybabtu.com>
14647
14648 * util/grub-emu.c: Move initialization functions
14649 grub_util_biosdisk_init() and grub_init_all() before
14650 grub_util_biosdisk_get_grub_dev(), which relies on them.
14651
41f0050e 146522007-04-19 Robert Millan <rmh@aybabtu.com>
14653
14654 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
14655 it is used later.
14656
04582bb3 146572007-04-18 Jerone Young <jerone@gmail.com>
14658
f19dbdb7 14659 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 14660 stanza.
14661
08db4632 146622007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 14663
08db4632 14664 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
14665 continue on and look for device node with real device name.
14666
801b76be 146672007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 14668
fe6b695a 14669 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 14670 ability.
14671 * Makefile.in: Add autoconf package transformation code.
14672 * util/i386/pc/grub-install.in: Likewise.
14673 * util/powerpc/ieee1275/grub-install.in: Likewise.
14674
6795c4e1 146752007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
14676
14677 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
14678 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
14679 (EXT2_REVISION): Likewise.
14680 (EXT2_INODE_SIZE): Likewise.
14681 (struct grub_ext2_block_group): Added a missing member
14682 "used_dirs".
14683 (grub_ext2_read_inode): Divide by the inode size in a superblock
14684 instead of 128 to obtain INODES_PER_BLOCK.
14685 Use the macro EXT2_INODE_SIZE instead of directly using
14686 SBLOCK->INODE_SIZE.
14687
d70af616 146882007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
14689
14690 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
14691 superblock instead of the structure size to compute an
14692 offset. This fixes the problem that GRUB could not read a
14693 filesystem when inode size is different from 128-byte.
14694
3b801603 146952007-03-05 Marco Gerards <marco@gnu.org>
14696
14697 * normal/main.c (read_config_file): When "menu" is not set, create
14698 an initial context.
14699
4785bfe4 147002007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14701
14702 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
14703 (HEAP_LIMIT): New macro.
14704 (grub_claim_heap): Claim memory up to `heaplimit'.
14705
a0cbb023 147062007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14707
14708 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
14709 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
14710 (_start): Likewise.
14711 (grub_arch_modules_addr): Return address after `_end'.
14712 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
14713 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
14714 (add_segments): Calculate `_end' from phdr size and location.
14715 (ALIGN_UP): Moved to ...
14716 * include/grub/misc.h: here.
14717 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
14718 New macro.
14719 (GRUB_IEEE1275_MODULE_BASE): Removed.
14720
fd7d8eba 147212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14722
14723 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
14724 loop boundary.
14725
9b09e6fc 147262007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14727
14728 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
14729 All users updated.
14730 (grub_elf64_load_hook_t): Likewise.
14731 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
14732 debug output.
14733
3ce27299 147342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14735
14736 * kern/mm.c: Update copyright.
14737 (grub_mm_debug): Correct syntax error.
14738 (grub_mm_dump_free): New function.
14739 (grub_debug_free): Call `grub_free'.
14740 * include/grub/mm.h: Update copyright.
14741 (grub_mm_dump_free): Add declaration.
14742
077d5fee 147432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14744
14745 * include/grub/ieee1275/ieee1275.h: Update copyright.
14746 * kern/powerpc/ieee1275/init.c: Likewise.
14747 * kern/powerpc/ieee1275/openfw.c: Likewise.
14748
14749 * loader/powerpc/ieee1275/linux.c: Likewise.
14750 * include/grub/elfload.h: Likewise.
14751 * kern/elf.c: Likewise.
14752 (grub_elf32_load): Pass `base' and `size' parameters. Update all
14753 callers.
14754 (grub_elf64_load): Likewise.
14755 (grub_elf32_load_segment): Move to a nested function.
14756 (grub_elf64_load_segment): Likewise.
14757
dc946850 147582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14759
14760 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
14761 prototype.
14762 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
14763 (grub_heap_len): Likewise.
14764 (HEAP_SIZE): New macro.
14765 (grub_claim_heap): New function.
14766 (grub_machine_init): Don't claim heap directly. Call
14767 `grub_claim_heap'.
14768 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
14769 (grub_available_iterate): New function.
14770
baa2a121 147712007-02-03 Thomas Schwinge <tschwinge@gnu.org>
14772
14773 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
14774 * configure.ac: Use it for testing the HOST and TARGET compilers.
14775
4fe9862e 147762006-12-13 Thomas Schwinge <tschwinge@gnu.org>
14777
14778 * Makefile.in (enable_grub_emu): New variable.
14779 * configure.ac (--enable-grub-emu): New option.
14780 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
14781 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
14782 * conf/i386-pc.rmk: Likewise.
14783 * conf/powerpc-ieee1275.rmk: Likewise.
14784 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
14785
a8aa5762 147862006-12-12 Marco Gerards <marco@gnu.org>
14787
14788 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
14789
14790 * kern/env.c (grub_env_unset): Don't free the member `value' when
14791 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
14792 pointer.
14793
14794 * normal/main.c (current_menu): Removed.
14795 (free_menu): Unset the `menu' environment variable.
14796 (grub_normal_menu_addentry): Make use of the environment variable
14797 `menu', instead of using the global `current_menu'. Allocate
14798 memory for the sourcecode of this entry.
14799 (read_config_file): New argument `nested', changed all callers.
14800 Only in the case of a new context, initialize a new menu. Set the
14801 `menu' environment variable.
14802 (grub_normal_execute): Don't set and unset the environment
14803 variable `menu' here anymore. Only free the menu when leaving the
14804 context.
14805
14806 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
14807 leak.
14808
957b3a3e 148092006-12-11 Marco Gerards <marco@gnu.org>
14810
14811 * normal/menu_entry.c (run): Fix off by one bug so the last line
14812 is executed. Move the loader check to outside the loop.
14813
ef875714 148142006-12-08 Hollis Blanchard <hollis@penguinppc.org>
14815
14816 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
14817
4e739985 148182006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
14819
14820 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
14821 the number of sectors. Reported by Andrey Shuvikov
14822 <mr_hyro@yahoo.com>.
f19dbdb7 14823
790707f2 148242006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
14825
14826 * kern/disk.c (grub_disk_read): When there is a read error, always
14827 try to read only the necessary data.
f19dbdb7 14828
790707f2 14829 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
14830 disk/raid.c.
14831 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
14832 prototype.
14833 [GRUB_UTIL] (grub_raid_fini): Likewise.
14834 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 14835 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 14836 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
14837 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
14838 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
14839 and grub_raid_fini().
f19dbdb7 14840
03e58196 148412006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
14842
14843 * include/grub/types.h (__unused): Rename to UNUSED.
14844 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
14845 (grub_elf64_size): Likewise.
f19dbdb7 14846
ae4f23bf 148472006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14848
14849 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
14850 grub_error_push and grub_error_pop in the error-handling path.
14851 (grub_elf32_load_segment): Only call grub_file_read with non-zero
14852 length.
14853
2166cc83 148542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14855
14856 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
14857 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14859 (kernel_elf_SOURCES): Likewise.
14860 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
14861 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
14862 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14863 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14864 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
14865 (elf_mod_SOURCES): New variable.
14866 (elf_mod_CFLAGS): Likewise.
14867 (elf_mod_LDFLAGS): Likewise.
14868 * include/grub/types.h (__unused): New macro.
14869 * include/grub/elfload.h: New file.
14870 * kern/elf.c: Likewise.
14871 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
14872 (ELF32_LOADMASK): New macro.
14873 (ELF64_LOADMASK): Likewise.
14874 (vmlinux): Removed.
14875 (grub_linux_load32): New function.
14876 (grub_linux_load64): Likewise.
14877 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
14878 Use grub_elf_t instead of grub_file_t.
14879
a09d5aa5 148802006-11-02 Hollis Blanchard <hollis@penguinppc.org>
14881
14882 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
14883 `catch_result' to struct set_color_args.
14884
d976fc51 148852006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
14886
14887 * normal/menu.c: Include grub/script.h.
14888 * normal/menu_entry.c: Likewise.
14889 * include/grub/normal.h: Do not include grub/script.h.
14890
67507549 148912006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14892
14893 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
14894
69203a99 148952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14896
14897 * kern/disk.c (grub_disk_open): Print debug messages when opening a
14898 disk.
14899 (grub_disk_close): Print debug messages when closing a disk.
14900 (grub_disk_read): Print debug messages when disk read fails.
14901 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
14902 filesystem type.
14903 * kern/partition.c: Include misc.h.
14904 (grub_partition_iterate): Print debug messages when detecting
14905 partition type.
14906
e2b8278c 149072006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14908
14909 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
14910 is negative.
14911 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
14912
97b2f2ff 149132006-10-26 Hollis Blanchard <hollis@penguinppc.org>
14914
14915 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14916 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
14917
6555d655 149182006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
14919
14920 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
14921 instead of sizeof(lv). Patch by Michael Guntsche.
14922
4d42b77f 149232006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
14924
14925 * disk/lvm.c: Rename VGS to VG_LIST.
14926 (grub_lvm_iterate): Change VGS->LV to VG-LV.
14927 (grub_lvm_open): Likewise.
14928 Thanks to Michael Guntsche for finding this bug.
14929
5d74d927 149302006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
14931
14932 * configure.ac (AC_INIT): Bumped to 1.95.
14933
a1bb27e4 149342006-10-14 Robert Millan <rmh@aybabtu.com>
14935
14936 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
14937 with "/dev/.static/dev/md".
14938
e0994b8b 149392006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
14940
14941 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
14942 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
14943 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
14944 DRIVE_NAME are always freed.
14945
14946 * util/i386/pc/biosdisk.c (make_device_name): Add one into
14947 DOS_PART, as a DOS partition is counted from one instead of zero
14948 now. Reported by Robert Millan.
14949
ddd5cee9 149502006-10-14 Robert Millan <rmh@aybabtu.com>
14951
14952 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
14953 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
14954 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
14955 string returned by grub_guess_root_device.
14956 * util/i386/pc/grub-setup.c: Likewise.
14957 * util/i386/pc/grub-probefs.c: Likewise.
14958
14959 * util/i386/pc/grub-probefs.c: Rename to ...
14960 * util/i386/pc/grub-probe.c: ... this.
14961 * DISTLIST: Remove grub-probefs, add grub-probe.
14962 * conf/i386-efi.rmk: Likewise.
14963 * conf/i386-pc.rmk: Likewise.
14964 * util/i386/pc/grub-install.in: Likewise.
14965
14966 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
14967 choose which information we want to print.
14968
2b002173 149692006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
14970
14971 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
14972 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
14973 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
14974 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
14975 video/readers/tga.c and video/i386/pc/vbeutil.c.
14976
149772006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
14978
14979 Added support for RAID and LVM.
f19dbdb7 14980
2b002173 14981 * disk/lvm.c: New file.
14982 * disk/raid.c: Likewise.
14983 * include/grub/lvm.h: Likewise.
f19dbdb7 14984 * include/grub/raid.h: Likewise.
2b002173 14985 * include/grub/util/lvm.h: Likewise.
14986 * include/grub/util/raid.h: Likewise.
14987 * util/lvm.c: Likewise.
14988 * util/raid.c: Likewise.
14989
14990 * include/grub/disk.h (grub_disk_dev_id): Add
14991 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
14992 (grub_disk_get_size): New prototype.
14993 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
14994 returns a partition.
14995 (grub_disk_get_size): New function.
f19dbdb7 14996
2b002173 14997 * kern/i386/pc/init.c (make_install_device): Copy the prefix
14998 verbatim if grub_install_dos_part is -2.
14999
15000 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
15001 and LVM devices.
15002
15003 * util/i386/pc/grub-setup.c (setup): New argument
15004 MUST_EMBED. Force embedding of GRUB when the argument is
15005 true. Close FILE before returning.
15006 (main): Add support for RAID and LVM.
f19dbdb7 15007
2b002173 15008 * conf/common.rmk: Add RAID and LVM modules.
15009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
15010 util/lvm.c.
15011 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
15012
15013 * kern/misc.c (grub_strstr): New function.
15014 * include/grub/misc.h (grub_strstr): New prototype.
15015
050548d0 150162006-10-10 Tristan Gingold <tristan.gingold@bull.net>
15017
15018 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
15019
da849d2d 150202006-10-05 Tristan Gingold <tristan.gingold@bull.net>
15021
15022 * kern/misc.c (grub_strtoull): Guess the base only if not
15023 specified.
15024
97b2f2ff 150252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 15026
15027 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
15028 PowerMac support.
15029
97b2f2ff 150302006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 15031
15032 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
15033
15034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
15035 Remove `flags' argument. All callers changed.
15036 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
15037 (IEEE1275_IHANDLE_INVALID): New variable.
15038 (IEEE1275_CELL_INVALID): New variable.
15039 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
15040 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
15041 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
15042 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
15043 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
15044 codes from Open Firmware. All callers updated.
15045 (grub_ieee1275_next_property): Directly return Open Firmware return
15046 code.
15047 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15048 Standardize error checking from `grub_ieee1275_get_property'.
15049 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
15050 `devalias' to `aliases'. Correct comments. Consolidate error paths.
15051
97b2f2ff 150522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 15053
15054 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
15055 `instance_to_package_args' to `instance_to_path_args'.
15056
15057 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
15058 `grub_ieee1275_chosen'.
15059
15060 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
15061 `grub_ieee1275_interpret'.
15062
97b2f2ff 150632006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 15064
15065 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
15066
97b2f2ff 150672006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 15068
15069 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
15070 (__cmpdi): Likewise.
15071
15072 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
15073 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
15074 `grub_ssize_t'.
15075
02bb8acc 15076 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 15077
15078 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
15079 to type `grub_ssize_t'.
15080 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
15081
7f9a8531 150822006-09-22 Marco Gerards <marco@gnu.org>
15083
15084 * normal/script.c (grub_script_create_cmdmenu): Skip leading
15085 newlines.
15086
b5ef1102 150872006-09-22 Marco Gerards <marco@gnu.org>
15088
15089 * commands/echo.c: New file.
15090
15091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
15092
15093 * conf/common.rmk (echo_mod_SOURCES): New variable.
15094 (echo_mod_CFLAGS): Likewise.
15095 (echo_mod_LDFLAGS): Likewise.
15096
2cff3677 150972006-09-22 Marco Gerards <marco@gnu.org>
15098
15099 * normal/main.c (get_line): Malloc memory instead of using
15100 preallocated memory. Removed the arguments `cmdline' and
15101 `max_len'. Updated all callers.
15102
6ba4688b 151032006-09-22 Marco Gerards <marco@gnu.org>
15104
15105 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
15106 (normal_mod_DEPENDENCIES): Likewise.
15107
15108 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
15109 (normal_mod_DEPENDENCIES): Likewise.
15110
15111 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
15112
e02ac02c 151132006-09-22 Johan Rydberg <jrydberg@gnu.org>
15114
15115 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
15116 programs.
15117 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
15118 (normal_mod_DEPENDENCIES): Likewise.
15119 * conf/i386-pc.mk: Regenerate.
15120 * conf/i386-efi.mk: Likewise
15121 * conf/common.mk: Likewise.
15122 * conf/powerpc-ieee1275.mk: Likewise.
15123 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 15124
8d252e44 151252006-09-22 Robert Millan <rmh@aybabtu.com>
15126
15127 Sync with i386 version.
15128 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
15129 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
15130
209bf7ac 151312006-09-21 Robert Millan <rmh@aybabtu.com>
15132
15133 Import from GRUB Legacy (lib/device.c):
15134 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
15135 (init_device_map) [__linux__]: Add support for I2O devices.
15136
6b146090 151372006-09-14 Marco Gerards <marco@gnu.org>
15138
15139 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
15140 `-melf_i386'.
15141
e38600a8 151422006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 15143
15144 * util/i386/pc/grub-install.in: Skip menu.lst when removing
15145 /boot/grub/*.lst.
78fa1790 15146
2952da5d 15147 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 15148
2952da5d 15149 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
15150 before adding it to device.map.
15151
01b82a64 151522006-08-15 Johan Rydberg <jrydberg@gnu.org>
15153
fe6b695a 15154 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 15155 compiles a file; using the -MD option.
15156 * conf/common.mk: Regenerate.
15157 * conf/i386-pc.mk: Likewise.
15158 * conf/i386-efi.mk: Likewise.
15159 * conf/powerpc-ieee1275.mk: Likewise.
15160 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 15161
1064790d 151622006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
15163
15164 Move the prototypes of grub_setjmp and grub_longjmp to
15165 cpu/setjmp.h, so that each architecture may specify different
15166 attributes.
f19dbdb7 15167
1064790d 15168 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
15169 (grub_longjmp): Likewise.
15170 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
15171 (grub_longjmp): Likewise.
15172 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
15173 (grub_longjmp): Likewise.
15174
15175 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
15176 [!GRUB_UTIL] (grub_longjmp): Removed.
15177
29dda3ed 151782006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
15179
15180 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
15181 "color!" method does not return any value.
15182
ad2a06ed 151832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15184
15185 * include/grub/bitmap.h: New file.
15186
15187 * include/grub/i386/pc/vbeutil.h: Likewise.
15188
15189 * video/bitmap.c: Likewise.
15190
15191 * video/readers/tga.c: Likewise.
15192
15193 * video/i386/pc/vbeutil.c: Likewise.
15194
15195 * commands/videotest.c: Code cleanup and updated to reflect to new
15196 video API.
15197
15198 * term/gfxterm.c: Likewise.
15199
15200 * video/video.c: Likewise.
15201
15202 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
15203 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
15204 (bitmap_mod_SOURCES): New entry.
15205 (bitmap_mod_CFLAGS): Likewise.
15206 (bitmap_mod_LDFLAGS): Likewise.
15207 (tga_mod_SOURCES): Likewise.
15208 (tga_mod_CFLAGS): Likewise.
15209 (tga_mod_LDFLAGS): Likewise.
15210
15211 * include/grub/video.h (grub_video_blit_operators): New enum type.
15212 (grub_video_render_target): Changed as forward declaration and moved
15213 actual definition to be video driver specific.
15214 (grub_video_adapter.blit_bitmap): Added blitting operator.
15215 (grub_video_adapter.blit_render_target): Likewise.
15216 (grub_video_blit_bitmap): Likewise.
15217 (grub_video_blit_render_target): Likewise.
15218
15219 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
15220 driver specific render target definition.
15221 (grub_video_vbe_map_rgba): Added driver internal helper.
15222 (grub_video_vbe_unmap_color): Updated to use
15223 grub_video_i386_vbeblit_info.
15224 (grub_video_vbe_get_video_ptr): Likewise.
15225
15226 * include/grub/i386/pc/vbeblit.h
15227 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
15228 grub_video_i386_vbeblit_info.
15229 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15230 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15231 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15232 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15233 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15234 (grub_video_i386_vbeblit_index_index): Likewise.
15235 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
15236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15237 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15238 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
15239 operator.
15240 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
15241 operator.
15242
15243 * video/i386/pc/vbeblit.c: Updated to reflect changes on
15244 include/grub/i386/pc/vbeblit.h.
15245
15246 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
15247 Updated to use grub_video_i386_vbeblit_info.
15248 (grub_video_i386_vbefill_R8G8B8): Likewise.
15249 (grub_video_i386_vbefill_index): Likewise.
15250 (grub_video_i386_vbefill): Added generic filler.
15251
15252 * video/i386/pc/vbefill.c: Updated to reflect changes on
15253 include/grub/i386/pc/vbefill.h.
15254
15255 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
15256 grub_video_i386_vbeblit_info.
15257 (grub_video_vbe_unmap_color): Likewise.
15258 (grub_video_vbe_blit_glyph): Likewise.
15259 (grub_video_vbe_scroll): Likewise.
15260 (grub_video_vbe_draw_pixel): Removed function.
15261 (grub_video_vbe_get_pixel): Likewise.
15262 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
15263 updated code to use it.
15264 (common_blitter): Added common blitter for render target and bitmap.
15265 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
15266 (grub_video_vbe_blit_render_target): Likewise.
15267
bc8c036d 152682006-07-30 Johan Rydberg <jrydberg@gnu.org>
15269
15270 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
15271 is in text mode if there is no console control protocol instance
15272 available.
15273
684a8eff 152742006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15275
15276 * include/grub/video.h: Code cleanup.
15277
15278 * include/grub/i386/pc/vbe.h: Likewise.
15279
15280 * video/i386/pc/vbe.c: Likewise.
15281
15282 * video/i386/pc/vbeblit.c: Likewise.
15283
15284 * video/i386/pc/vbefill.c: Likewise.
15285
15286 * video/video.c: Likewise. Also added more comments.
15287
5915059b 152882006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15289
15290 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
15291 (struct grub_biosdisk_dap): Likewise.
15292
15293 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
15294 linkage settings for all functions.
15295
90ce5d56 152962006-07-12 Marco Gerards <marco@gnu.org>
15297
15298 * configure.ac (--enable-mm-debug): Fix typo.
15299
15300 * genkernsyms.sh.in: Use proper quoting for `CC'.
15301
43e7f879 153022006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
15303
15304 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
15305 (normal_mod_ASFLAGS): Remove "-m32".
15306
4889bdec 153072006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
15308
15309 * util/misc.c: Include config.h.
15310 [!HAVE_MEMALIGN]: Do not include malloc.h.
15311 (grub_memalign): Use posix_memalign, if present. Then, use
15312 memalign, if present. Otherwise, emit an error.
15313
15314 * util/grub-emu.c: Do not include malloc.h.
15315
15316 * include/grub/util/misc.h: Include unistd.h. This is required for
15317 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
15318 D. Eades III <hde@foobar-qux.org>.
15319
15320 * configure.ac (AC_GNU_SOURCE): Added.
15321 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
15322 type.
15323
fd39d4da 153242006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
15325
15326 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
15327 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
15328
b786f3b5 153292006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
15330
15331 * include/grub/types.h (grub_host_addr_t): Rename to
15332 grub_target_addr_t.
15333 (grub_host_off_t): Rename to grub_target_off_t.
15334 (grub_host_size_t): Rename to grub_target_size_t.
15335 (grub_host_ssize_t): Rename to grub_target_ssize_t.
15336 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
15337
15338 * include/grub/kernel.h (struct grub_module_header): Change type
15339 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
15340 (grub_module_info): Likewise.
f19dbdb7 15341
051988bb 153422006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15343
15344 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
15345 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
15346 Velazquez <jesus.velazquez@gmail.com>.
15347
deae281b 153482006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15349
15350 Count partitions from 1 instead of 0 in the string representation
15351 of partitions. Still use 0-based internally.
f19dbdb7 15352
deae281b 15353 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
15354 (sun_partition_map_iterate): Use grub_partition_t instead of
15355 struct grub_partition *. Cast DESC->START_CYLINDER to
15356 grub_uint64_t after converting the endian.
15357 (sun_partition_map_probe): Subtract 1 for PARTNUM.
15358 (sun_partition_map_get_name): Add 1 to P->INDEX.
15359
15360 * partmap/pc.c (grub_partition_parse): Subtract 1 for
15361 PCDATA->DOS_PART.
15362 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
15363
15364 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
15365 zero instead of one.
15366 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
15367 (gpt_partition_map_get_name): Add 1 into P->INDEX.
15368
15369 * partmap/apple.c (apple_partition_map_iterate): Change the type
15370 of POS to unsigned.
15371 (apple_partition_map_probe): Subtract 1 for PARTNUM.
15372 (apple_partition_map_get_name): Add 1 into P->INDEX.
15373
15374 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
15375 of POS to unsigned.
15376 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
15377 calculate the offset of a partition.
15378 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
15379 (amiga_partition_map_get_name): Add 1 into P->INDEX.
15380
15381 * partmap/acorn.c (acorn_partition_map_find): Change the type of
15382 SECTOR to grub_disk_addr_t.
15383 (acorn_partition_map_iterate): Likewise.
15384 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
15385 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
15386 top.
15387 (acorn_partition_map_get_name): Add 1 into P->INDEX.
15388
15389 * kern/i386/pc/init.c (make_install_device): Add 1 into
15390 GRUB_INSTALL_DOS_PART.
15391
15392 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
15393 conditional.
15394
524a1e6a 153952006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15396
15397 Clean up the code to support 64-bit addressing in disks and
15398 files. This change is not enough for filesystems yet.
f19dbdb7 15399
524a1e6a 15400 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
15401 type of "start" to grub_uint64_t.
15402 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
15403 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
15404 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
15405 convert addresses.
15406
15407 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
15408 to grub_disk_addr_t.
15409
15410 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
15411 string.
15412
15413 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15414
15415 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
15416 to char *.
15417
15418 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
15419
15420 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
15421
15422 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
15423
15424 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
15425 to grub_off_t, to detect an error from grub_file_seek.
15426 (grub_multiboot_load_elf32): Likewise.
15427
15428 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
15429 maximum unsigned long value when an overflow is detected.
15430 (grub_strtoull): New function.
15431 (grub_divmod64): Likewise.
15432 (grub_lltoa): use grub_divmod64.
15433
15434 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
15435 grub_disk_addr_t.
15436 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
15437 the pointer to next character. Use grub_strtoull instead of
15438 grub_strtoul.
15439 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
15440 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
15441 respectively.
15442
fe6b695a 15443 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 15444 return value is signed.
15445 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
15446 test if OFFSET is less than zero, as OFFSET is unsigned now.
15447
15448 * kern/disk.c (struct grub_disk_cache): Change the type of
15449 "sector" to grub_disk_addr_t.
15450 (grub_disk_cache_get_index): Change the type of SECTOR to
15451 grub_disk_addr_t. Calculate the hash with SECTOR casted to
15452 unsigned after shifting.
15453 (grub_disk_cache_invalidate): Change the type of SECTOR to
15454 grub_disk_addr_t.
15455 (grub_disk_cache_unlock): Likewise.
15456 (grub_disk_cache_store): Likewise.
15457 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
15458 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
15459 grub_disk_addr_t and grub_uint64_t, respectively.
15460 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
15461 body, as the value of OFFSET is tweaked by
15462 grub_disk_check_range. Change the types of START_SECTOR, LEN and
15463 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
15464 respectively.
15465 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
15466 body, as the value of OFFSET is tweaked by
15467 grub_disk_check_range. Change the types of LEN and N to
15468 grub_size_t.
15469
15470 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
15471 and "saved_offset" to grub_off_t.
15472 (test_header): Cast BUF to char *.
15473 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
15474 to char *.
15475 (grub_gzio_read): Change the types of OFFSET and SIZE to
15476 grub_off_t and grub_size_t, respectively.
15477
15478 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
15479 Removed.
15480 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
15481 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
15482 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
15483 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
15484 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
15485
15486 * include/grub/types.h (grub_off_t): Unconditionally set to
15487 grub_uint64_t.
15488 (grub_disk_addr_t): Changed to grub_uint64_t.
15489
15490 * include/grub/partition.h (struct grub_partition): Change the
15491 types of "start", "len" and "offset" to grub_disk_addr_t,
15492 grub_uint64_t and grub_disk_addr_t, respectively.
15493 (grub_partition_get_start): Return grub_disk_addr_t.
15494 (grub_partition_get_len): Return grub_uint64_t.
15495
15496 * include/grub/misc.h (grub_strtoull): New prototype.
15497 (grub_divmod64): Likewise.
15498
15499 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
15500 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
15501 grub_off_t, respectively.
15502 All callers and references changed.
15503
15504 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
15505 grub_size_t in "read".
15506 All callers and references changed.
15507
15508 * include/grub/file.h (struct grub_file): Change the types of
15509 "offset" and "size" to grub_off_t and grub_off_t,
15510 respectively. Change the type of SECTOR to grub_disk_addr_t in
15511 "read_hook".
15512 (grub_file_read): Change the type of LEN to grub_size_t.
15513 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
15514 grub_off_t.
15515 (grub_file_size): Return grub_off_t.
15516 (grub_file_tell): Likewise.
15517 All callers and references changed.
15518
15519 * include/grub/disk.h (struct grub_disk_dev): Change the types of
15520 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
15521 "write".
15522 (struct grub_disk): Change the type of "total_sectors" to
15523 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 15524 "read_hook".
524a1e6a 15525 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
15526 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
15527 (grub_disk_write): Likewise.
15528 All callers and references changed.
15529
15530 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
15531 char * for grub_strncmp to silence gcc.
15532 (grub_iso9660_mount): Likewise.
15533 (grub_iso9660_mount): Likewise.
15534 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
15535 return statement.
15536 (grub_iso9660_iterate_dir): Likewise.
15537 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
15538
15539 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
15540 LEN to grub_disk_addr_t and grub_size_t, respectively.
15541
15542 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15543
15544 * fs/jfs.c (grub_jfs_read_file): Likewise.
15545
15546 * fs/minix.c (grub_jfs_read_file): Likewise.
15547
15548 * fs/sfs.c (grub_jfs_read_file): Likewise.
15549
15550 * fs/ufs.c (grub_jfs_read_file): Likewise.
15551
15552 * fs/xfs.c (grub_jfs_read_file): Likewise.
15553
15554 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
15555 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
15556 respectively.
15557
15558 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
15559 BLKNR to -1 instead of returning GRUB_ERRNO.
15560 (grub_ext2_read_file): Change the types of SECTOR and
15561 LEN to grub_disk_addr_t and grub_size_t, respectively.
15562
15563 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
15564 LEN to grub_disk_addr_t and grub_size_t, respectively.
15565
15566 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
15567 grub_file_read.
15568
15569 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
15570 string. Do not cast SECTOR explicitly.
15571
15572 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
15573 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
15574 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
15575 grub_disk_addr_t and grub_size_t, respectively. If the sector is
15576 over 2TB and LBA mode is not supported, raise an error.
15577 (get_safe_sectors): New function.
15578 (grub_biosdisk_read): Use get_safe_sectors.
15579 (grub_biosdisk_write): Likewise.
15580
15581 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
15582 (grub_efidisk_write): Likewise.
15583
15584 * disk/loopback.c (delete_loopback): Cosmetic changes.
15585 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
15586 correctly.
15587 (grub_loopback_open): Likewise.
15588 (grub_loopback_read): Likewise. Also, change the type of POS to
15589 grub_off_t, and fix the usage of grub_memset.
15590
15591 * commands/i386/pc/play.c: Include grub/machine/time.h.
15592
15593 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
15594 print FILE->SIZE.
15595
15596 * commands/configfile.c: Include grub/env.h.
15597
15598 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
15599 GRUB_ERRNO directly instead. Change the type of POS to
15600 grub_off_t. Follow the coding standard.
15601
15602 * commands/blocklist.c: Include grub/partition.h.
15603 (grub_cmd_blocklist): Return an error if the underlying device is
15604 not a disk. Take the starting sector of a partition into account,
15605 if a partition is used.
15606
15607 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
15608 a length field.
15609 (lba_mode): Support 64-bit addresses.
15610 (chs_mode): Likewise.
15611 (copy_buffer): Adapted to the new offsets of a length field and a
15612 segment field.
15613 (blocklist_default_start): Allocate 64-bit space.
15614
15615 * boot/i386/pc/boot.S (force_lba): Removed.
15616 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 15617 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 15618 space.
15619 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
15620 is useless.
15621 (lba_mode): Refactored to support a 64-bit address. More size
15622 optimization.
15623 (setup_sectors): Likewise.
15624
53af98ad 156252006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15626
15627 * DISTLIST: Added include/grub/i386/linux.h. Removed
15628 include/grub/i386/pc/linux.h
15629
15630 * configure.ac (AC_INIT): Bumped to 1.94.
15631
15632 * config.guess: Updated from gnulib.
15633 * config.sub: Likewise.
15634 * install-sh: Likewise.
15635 * mkinstalldirs: Likewise.
15636
b4c1940a 156372006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15638
15639 * conf/common.rmk (grub_modules_init.lst): Depended on
15640 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
15641 MODSRCFILES.
15642
15643 * genmk.rb (PModule::rule): Reverted the previous change.
15644
cfca1cfd 156452006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15646
15647 * conf/common.rmk (grub_modules_init.lst): Depends on
15648 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
15649 that the target does not exist before producing.
15650 (grub_modules_init.h): Remove the target before generating.
15651 (grub_emu_init.c): Likewise.
15652
15653 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
15654
aa6d7826 156552006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
15656
15657 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
15658 for the target-specific tests. Make sure that we also have the
15659 up-to-date target variables for those tests.
15660
26c607b9 156612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15662
15663 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
15664 (PModule::rule): Likewise.
15665
0162321a 156662006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15667
15668 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
15669 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
15670 target-specific flags should be prefixed.
15671 (PModule::rule): Likewise.
15672
6c826348 156732006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
15674
15675 * configure.ac (CMP): Check if cmp is available explicitly.
15676
b977bf01 156772006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
15678
15679 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
15680 (target_cpu): New variable.
15681 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 15682
b977bf01 15683 * util/i386/pc/grub-install.in (host_cpu): Removed.
15684 (target_cpu): New variable.
15685 (pkglibdir): Use target_cpu instead of host_cpu.
15686
15687 * util/genmoddep.c: Removed.
f19dbdb7 15688
b977bf01 15689 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
15690 instead of GRUB_HOST_SIZEOF_VOID_P.
15691 * kern/dl.c: Likewise.
15692
15693 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
15694 ...
15695 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15696 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15697 (GRUB_TARGET_SIZEOF_LONG): ... this.
15698 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15699 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15700 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15701 to ...
15702 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15703 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15704 (GRUB_TARGET_SIZEOF_LONG): ... this.
15705 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15706 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15707 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15708 to ...
15709 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15710 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15711 (GRUB_TARGET_SIZEOF_LONG): ... this.
15712 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15713 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15714
15715 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
15716 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
15717 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
15718 instead of GRUB_HOST_SIZEOF_LONG.
15719 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
15720 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
15721 GRUB_CPU_WORDS_BIGENDIAN.
15722 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
15723 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
15724 grub_host_ssize_t.
15725
15726 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
15727 (genmoddep_SOURCES): Likewise.
15728 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
15729 (genmoddep_SOURCES): Likewise.
15730 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
15731 (genmoddep_SOURCES): Likewise.
15732 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
15733 Likewise.
15734 (genmoddep_SOURCES): Likewise.
15735
15736 * genmoddep.awk: New file.
15737
15738 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
15739 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
15740 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
15741 (PModule::rule): Likewise.
15742 (Program::rule): Likewise.
15743 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
15744 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
15745 respectively.
15746
15747 * configure.ac: Rewritten intensively to use host and target
15748 instead of build and host, respectively.
15749
15750 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
15751 (host_cpu): Removed.
15752 (target_cpu): New variable.
15753 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
15754 (BUILD_CC): Removed.
15755 (BUILD_CFLAGS): Likewise.
15756 (BUILD_CPPFLAGS): Likewise.
15757 (TARGET_CC): New variable.
15758 (TARGET_CFLAGS): Likewise.
15759 (TARGET_CPPFLAGS): Likewise.
15760 (TARGET_LDFLAGS): Likewise.
15761 (AWK): Likewise.
15762 (include): Use target_cpu instead of host_cpu.
15763 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 15764
b977bf01 15765 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
15766
f09771a1 157672006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
15768
15769 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
15770 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
15771 field 'false' to 'exec_on_false'.
15772 (grub_script_create_cmdif): Renamed argument names to reflect above
15773 changes.
15774
15775 * normal/execute.c (grub_script_execute_cmdif): Likewise.
15776
15777 * normal/script.c (grub_script_create_cmdif): Likewise.
15778
118f4fb3 157792006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
15780
15781 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
15782 top.
15783 (grub_hfsplus_btree_recptr): Likewise.
15784 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
15785 FILEBLOCK both to pass a block number and store next block
15786 number.
15787 (grub_hfsplus_read_block): Rewritten heavily to support an extent
15788 overflow file correctly. Specify errors appropriately, because
15789 fshelp expects that GRUB_ERRNO is set when fails. Reuse
15790 grub_hfsplus_btree_recptr to get the pointer to a found key.
15791 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
15792 is found.
15793
15794 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
15795 linux.mod.
15796 (_linux_mod_SOURCES): New variable.
15797 (_linux_mod_CFLAGS): Likewise.
15798 (_linux_mod_LDFLAGS): Likewise.
15799 (linux_mod_SOURCES): Likewise.
15800 (linux_mod_CFLAGS): Likewise.
15801 (linux_mod_LDFLAGS): Likewise.
15802
15803 * DISTLIST: Added loader/i386/efi/linux.c,
15804 loader/i386/efi/linux_normal.c and
15805 include/grub/i386/efi/loader.h.
15806
15807 * loader/i386/efi/linux.c: New file.
15808 * loader/i386/efi/linux_normal.c: Likewise.
15809 * include/grub/i386/efi/loader.h: Likewise.
15810
89a7d726 158112006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
15812
15813 * commands/blocklist.c: New file.
15814
15815 * DISTLIST: Added commands/blocklist.c.
15816
15817 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 15818 color for the background, and a darker color for the foreground.
89a7d726 15819 (grub_console_checkkey): Return READ_KEY.
15820 (grub_console_cls): Set the background to
15821 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
15822
15823 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
15824
15825 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
15826 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
15827
15828 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
15829 prototype.
15830
15831 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
15832 BG. The spec is wrong again.
15833
15834 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
15835 prototype.
15836 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
15837
15838 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
15839 commands/blocklist.c.
15840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 15841
89a7d726 15842 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
15843 (blocklist_mod_SOURCES): New variable.
15844 (blocklist_mod_CFLAGS): Likewise.
15845 (blocklist_mod_LDFLAGS): Likewise.
15846
75c8f258 158472006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
15848
15849 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
15850 duplication.
15851 (lba_mode): Use %eax more intensively to reduce the code size.
15852
da2eb181 158532006-05-20 Marco Gerards <marco@gnu.org>
15854
15855 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
15856
15857 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
15858 for `menuentry'.
15859 (script): Accept leading newlines.
15860 (newlines): New rule to describe 0 or more newlines.
15861 (commands): Accept `command' with trailing newline. Fixed the
15862 order in which arguments were passed to `grub_script_add_cmd'.
15863 Accept commands separated by newlines.
15864 (function): Changed to accept newlines.
15865 (menuentry) Rewritten.
15866
15867 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
15868 front of the list, instead of to the end.
15869
577b4050 158702006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
15871
15872 * util/i386/pc/grub-install.in (bindir): New variable.
15873 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
15874 Shaver <lbgwjl@gmail.com>.
15875
0d6e1189 158762006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
15877
15878 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
15879 grub/machine/linux.h
15880 * loader/i386/pc/linux.c: Likewise.
15881
15882 * include/grub/i386/pc/linux.h: Moved to ...
15883 * include/grub/i386/linux.h: ... here.
15884
15885 * include/grub/i386/linux.h (struct linux_kernel_params): New
15886 struct.
f19dbdb7 15887
31b86e9f 158882006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
15889
15890 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
15891 checking.
15892 (grub_video_vbe_blit_glyph): Likewise.
15893 (grub_video_vbe_blit_bitmap): Likewise.
15894 (grub_video_vbe_blit_render_target): Likewise.
15895
83b984de 158962006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
15897
15898 * configure.ac (--with-platform): Properly quote the square
15899 brackets.
15900
5f0413bd 159012006-05-08 Marco Gerards <marco@gnu.org>
15902
15903 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
15904 this...
15905 (kernel_elf_HEADERS): ...to this. Updated all users.
15906 (grubof_symlist.c): Renamed from this...
15907 (kernel_elf_symlist.c): ...to this. Updated all users.
15908 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
15909 (grubof_SOURCES): Renamed from this...
15910 (kernel_elf_SOURCES): ...to this.
15911 (grubof_HEADERS): Renamed from this...
15912 (kernel_elf_HEADERS): ...to this.
15913 (grubof_CFLAGS): Renamed from this...
15914 (kernel_elf_CFLAGS): ...to this.
15915 (grubof_ASFLAGS): Renamed from this...
15916 (kernel_elf_ASFLAGS): ...to this.
15917 (grubof_LDFLAGS): Renamed from this...
15918 (kernel_elf_LDFLAGS): ...to this.
15919
15920 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
15921 this...
15922 (kernel_elf_HEADERS): ...to this. Updated all users.
15923 (grubof_symlist.c): Renamed from this...
15924 (kernel_elf_symlist.c): ...to this. Updated all users.
15925 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
15926 (grubof_SOURCES): Renamed from this...
15927 (kernel_elf_SOURCES): ...to this.
15928 (grubof_HEADERS): Renamed from this...
15929 (kernel_elf_HEADERS): ...to this.
15930 (grubof_CFLAGS): Renamed from this...
15931 (kernel_elf_CFLAGS): ...to this.
15932 (grubof_ASFLAGS): Renamed from this...
15933 (kernel_elf_ASFLAGS): ...to this.
15934 (grubof_LDFLAGS): Renamed from this...
15935 (kernel_elf_LDFLAGS): ...to this.
15936
15937 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
15938 `kernel.elf' instead of `grubof'.
15939
05568c2e 159402006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
15941
15942 Add --with-platform to configure. Use pkglibdir instead of
15943 pkgdatadir. This is reported by Roger Leigh.
15944
15945 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
15946 (host_vendor): Likewise.
15947 (host_os): Likewise.
15948 (pkgdatadir): Likewise.
15949 (platform): New variable.
15950 (pkglibdir): Likewise.
15951 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 15952
05568c2e 15953 * util/i386/pc/grub-install.in (datadir): Removed.
15954 (host_vendor): Likewise.
15955 (host_os): Likewise.
15956 (pkgdatadir): Likewise.
15957 (platform): New variable.
15958 (pkglibdir): Likewise.
15959 Use PKGLIBDIR instead of PKGDATADIR.
15960
15961 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
15962 instead of GRUB_DATADIR.
15963 (main): Likewise.
15964 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15965 (main): Likewise.
15966 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15967 (main): Likewise.
15968
15969 * configure.ac (--with-platform): New option.
15970 Use PLATFORM instead of HOST_VENDOR to specify a platform.
15971
15972 * Makefile.in: Include a makefile based on PLATFORM instead of
15973 HOST_VENDOR.
15974 (pkgdatadir): Not appended by the machine type.
15975 (pkglibdir): Appended by the machine type.
15976 (host_vendor): Removed.
15977 (platform): New variable.
15978 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
15979 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
15980 (uninstall): Likewise.
15981
4e93851c 159822006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
15983
15984 Use the environment context in the menu. Remove the commands
15985 "default" and "timeout", and use variables instead.
f19dbdb7 15986
4e93851c 15987 * normal/menu.c: Include grub/env.h.
15988 (print_entry): Cast TITLE to silence gcc.
15989 (get_timeout): New function.
15990 (set_timeout): Likewise.
15991 (get_entry_number): Likewise.
15992 (run_menu): Use a default entry, a fallback entry and a timeout
15993 in the environment variables "default", "fallback" and
15994 "timeout". Also, tweak the default entry if it is not within the
15995 current menu entries.
15996 (grub_menu_run): Use a fallback entry in the environment variable
15997 "fallback".
15998
15999 * normal/main.c (read_config_file): Do not initialize
16000 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
16001 NEWMENU->TIMEOUT.
16002 (grub_normal_execute): Use a data slot to store the menu.
16003
16004 * include/grub/normal.h (struct grub_menu): Removed default_entry,
16005 fallback_entry and timeout.
16006 (struct grub_menu_list): Removed.
16007 (grub_menu_list_t): Likewise.
16008 (struct grub_context): Likewise.
16009 (grub_context_t): Likewise.
16010 (grub_context_get): Likewise.
16011 (grub_context_get_current_menu): Likewise.
16012 (grub_context_push_menu): Likewise.
16013 (grub_context_pop_menu): Likewise.
16014 (grub_default_init): Likewise.
16015 (grub_default_fini): Likewise.
16016 (grub_timeout_init): Likewise.
16017 (grub_timeout_fini): Likewise.
16018
16019 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
16020 and timeout.mod.
16021 (normal_mod_SOURCES): Removed normal/context.c.
16022
16023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
16024 commands/default.c, commands/timeout.c and normal/context.c.
16025 (normal_mod_SOURCES): Removed normal/context.c.
16026
16027 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
16028 commands/timeout.c and normal/context.c.
16029 (normal_mod_SOURCES): Removed normal/context.c.
16030
16031 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
16032 commands/default.c, commands/timeout.c and normal/context.c.
16033 (normal_mod_SOURCES): Removed normal/context.c.
16034
16035 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
16036 timeout.mod.
16037 (default_mod_SOURCES): Removed.
16038 (default_mod_CFLAGS): Likewise.
16039 (default_mod_LDFLAGS): Likewise.
16040 (timeout_mod_SOURCES): Removed.
16041 (timeout_mod_CFLAGS): Likewise.
16042 (timeout_mod_LDFLAGS): Likewise.
16043
16044 * DISTLIST: Removed commands/default.c, commands/timeout.c and
16045 normal/context.c.
16046
16047 * commands/default.c: Removed.
16048 * commands/timeout.c: Likewise.
16049 * normal/context.c: Likewise.
16050
1eb9cc1d 160512006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
16052
16053 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
16054
385bd9c1 160552006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
16056
16057 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
16058 "next" to "prev" for readability.
16059 (struct grub_env_sorted_var): New struct.
16060 (grub_env_context): Renamed to ...
16061 (initial_context): ... this.
16062 (grub_env_var_context): Renamed to ...
16063 (current_context): ... this.
16064 (grub_env_find): Look only at CURRENT_CONTEXT.
16065 (grub_env_context_open): Rewritten to copy exported variables from
16066 previous context.
16067 (grub_env_context_close): Rewritten according to the new
16068 scheme. Also, add an assertion to prevent the initial context from
16069 removed.
16070 (grub_env_insert): Removed the code for the sorted list.
16071 (grub_env_remove): Likewise.
16072 (grub_env_export): Simply mark the variable with
16073 GRUB_ENV_VAR_GLOBAL.
16074 (grub_env_set): A cosmetic change for naming consistency.
16075 (grub_env_get): Likewise.
16076 (grub_env_unset): Likewise.
16077 (grub_env_iterate): Rewritten to sort variables within this
16078 function.
16079 (grub_register_variable_hook): Fixed for naming consistency. Call
16080 grub_env_find again, only if NAME is not found at the first time.
16081 (mangle_data_slot_name): New function.
16082 (grub_env_set_data_slot): Likewise.
16083 (grub_env_get_data_slot): Likewise.
16084 (grub_env_unset_data_slot): Likewise.
16085
16086 * include/grub/env.h (grub_env_var_type): New enum.
16087 (GRUB_ENV_VAR_LOCAL): New constant.
16088 (GRUB_ENV_VAR_GLOBAL): Likewise.
16089 (GRUB_ENV_VAR_DATA): Likewise.
16090 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
16091 "type".
16092 (grub_env_set): Replace VAR with NAME for consistency.
16093 (grub_register_variable_hook): Likewise.
16094 (grub_env_export): Specify the name of the argument.
16095 (grub_env_set_data_slot): New prototype.
16096 (grub_env_get_data_slot): Likewise.
16097 (grub_env_unset_data_slot): Likewise.
16098
7f362539 160992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
16100
16101 Extend the loader so that GRUB can accept a loader which comes
16102 back to GRUB when a loaded image exits. Also, this change adds
16103 support for a chainloader on EFI.
f19dbdb7 16104
7f362539 16105 * term/efi/console.c: Include grub/misc.h.
16106 (grub_console_checkkey): Display a scan code on the top for
16107 debugging. This will be removed once the EFI port gets stable.
16108 Correct the scan code mapping.
16109
16110 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
16111 allocate memory from larger regions, in order to reduce the number
16112 of allocated regions. Otherwise, the MacOSX loader panics.
16113 (filter_memory_map): Avoid less than 1MB for compatibility with
16114 other loaders.
16115 (add_memory_regions): Allocate from the tail of a region, if
16116 possible, to avoid allocating a region near to 1MB, for the MacOSX
16117 loader.
16118
16119 * kern/efi/init.c (grub_efi_set_prefix): Specify
16120 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
16121
16122 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
16123 argument IMAGE_HANDLE and specify it to get a loaded image.
16124 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
16125 grub_efi_get_loaded_image.
fe6b695a 16126 (grub_efi_get_filename): Divide the length by the size of
7f362539 16127 grub_efi_char16_t.
16128 (grub_efi_get_device_path): New function.
16129 (grub_efi_print_device_path): Print End Device Path nodes. Divide
16130 the length by the size of grub_efi_char16_t for a file path device
16131 path node.
16132
16133 * kern/loader.c (grub_loader_noreturn): New variable.
16134 (grub_loader_set): Accept a new argument NORETURN. Set
16135 GRUB_LOADER_NORETURN to NORETURN.
16136 All callers changed.
16137 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
16138 grub_machine_fini.
16139
16140 * include/grub/efi/efi.h (grub_efi_get_device_path): New
16141 prototype.
16142 (grub_efi_get_loaded_image): Take an argument to specify an image
16143 handle.
16144
16145 * include/grub/loader.h (grub_loader_set): Added one more argument
16146 NORETURN.
16147
16148 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
16149 instead of grub_efi_open_protocol.
16150 (grub_efidisk_get_device_name): Likewise.
16151 (grub_efidisk_close): Print a newline.
16152 (grub_efidisk_get_device_handle): Fixed to use
16153 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
16154 GRUB_EFI_DEVICE_PATH_TYPE.
16155
16156 * disk/efi/efidisk.c (device_path_guid): Moved to ...
16157 * kern/efi/efi.c (device_path_guid): ... here.
16158
16159 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
16160 chain.mod.
16161 (kernel_mod_HEADERS): Added efi/disk.h.
16162 (_chain_mod_SOURCES): New variable.
16163 (_chain_mod_CFLAGS): Likewise.
16164 (_chain_mod_LDFLAGS): Likewise.
16165 (chain_mod_SOURCES): Likewise.
16166 (chain_mod_CFLAGS): Likewise.
16167 (chain_mod_LDFLAGS): Likewise.
16168
16169 * DISTLIST: Added include/grub/efi/chainloader.h,
16170 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
16171
16172 * include/grub/efi/chainloader.h: New file.
16173 * loader/efi/chainloader.c: Likewise.
16174 * loader/efi/chainloader_normal.c: Likewise.
16175
c0111d6e 161762006-04-30 Marco Gerards <marco@gnu.org>
16177
16178 * commands/configfile.c (grub_cmd_source): New function.
16179 (GRUB_MOD_INIT): Register the commands `source' and `.'.
16180 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
16181
df5341da 161822006-04-30 Marco Gerards <marco@gnu.org>
16183
16184 * normal/execute.c (grub_script_execute_cmd): Change the return
16185 type to `grub_err_t'. Correctly return the error.
16186 (grub_script_execute_cmdline): In case a command line is not a
16187 command or a function, try to interpret it as an assignment.
16188
f85934bd 161892006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
16190
16191 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
16192 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
16193 skip a node whose name is obviously invalid as UTF-16,
16194 i.e. contains a NUL character. Stop the iteration when the last
16195 directory entry is found. Instead of using the return value of
16196 grub_hfsplus_btree_iterate_node, store the value in RET and use
16197 it, because the iterator can be stopped by the last directory
16198 entry.
16199
8f8a2cf8 162002006-04-30 Marco Gerards <marco@gnu.org>
16201
16202 * include/grub/env.h (grub_env_export): New prototype. Reported
16203 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
16204
a27e84ce 162052006-04-30 Marco Gerards <marco@gnu.org>
16206
16207 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
16208 size of the extents in a catalog file record.
16209
eaef0553 162102006-04-29 Marco Gerards <marco@gnu.org>
16211
16212 * commands/configfile.c (grub_cmd_configfile): Execute the
16213 configfile within its own context.
16214
16215 * include/grub/env.h (grub_env_context_open): New prototype.
16216 (grub_env_context_close): Likewise.
16217
16218 * kern/env.c (grub_env): Removed.
16219 (grub_env_sorted): Likewise.
16220 (grub_env_context): New variable.
16221 (grub_env_var_context): Likewise.
16222 (grub_env_find): Search both the active context and the global
16223 context.
16224 (grub_env_context_open): New function.
16225 (grub_env_context_close): Likewise.
16226 (grub_env_insert): Likewise.
16227 (grub_env_remove): Likewise.
16228 (grub_env_export): Likewise.
16229 (grub_env_set): Changed to use helper functions to avoid code
16230 duplication.
16231 (grub_env_iterate): Rewritten so both the current context and the
16232 global context are being used.
16233
16234 * normal/command.c (export_command): New function.
16235 (grub_command_init): Register the `export' function.
16236
7b455f4d 162372006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
16238
16239 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
16240 explicitly to suppress gcc's warnings.
16241 * fs/fat.c (grub_fat_find_dir): Likewise.
16242 (grub_fat_label): Likewise.
16243 * fs/xfs.c (grub_xfs_read_inode): Likewise.
16244 (grub_xfs_mount): Likewise.
16245 (grub_xfs_label): Likewise.
16246 * fs/affs.c (grub_affs_mount): Likewise.
16247 (grub_affs_label): Likewise.
16248 (grub_affs_iterate_dir): Likewise.
16249 * fs/sfs.c (grub_sfs_mount): Likewise.
16250 (grub_sfs_iterate_dir): Likewise.
16251 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
16252 * fs/hfs.c (grub_hfs_mount): Likewise.
16253 (grub_hfs_cmp_catkeys): Likewise.
16254 (grub_hfs_find_dir): Likewise.
16255 (grub_hfs_dir): Likewise.
16256 (grub_hfs_label): Likewise.
16257 * fs/jfs.c (grub_jfs_mount): Likewise.
16258 (grub_jfs_opendir): Likewise.
16259 (grub_jfs_getent): Likewise.
16260 (grub_jfs_lookup_symlink): Likewise.
16261 (grub_jfs_label): Likewise.
16262 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
16263 (grub_hfsplus_iterate_dir): Likewise.
16264 (grub_hfsplus_btree_iterate_node): Made static.
16265
16266 * util/grub-emu.c (prefix): New variable.
16267 (grub_machine_set_prefix): New function.
16268 (main): Do not set the environment variable "prefix" here. Only
16269 set PREFIX, which is used later by grub_machine_set_prefix.
16270
16271 * include/grub/video.h: Do not include grub/symbol.h.
16272 (grub_video_register): Not exported. This symbol is not defined in
16273 the kernel.
16274 (grub_video_unregister): Likewise.
16275 (grub_video_iterate): Likewise.
16276 (grub_video_setup): Likewise.
16277 (grub_video_restore): Likewise.
16278 (grub_video_get_info): Likewise.
16279 (grub_video_get_blit_format): Likewise.
16280 (grub_video_set_palette): Likewise.
16281 (grub_video_get_palette): Likewise.
16282 (grub_video_set_viewport): Likewise.
16283 (grub_video_get_viewport): Likewise.
16284 (grub_video_map_color): Likewise.
16285 (grub_video_map_rgb): Likewise.
16286 (grub_video_map_rgba): Likewise.
16287 (grub_video_fill_rect): Likewise.
16288 (grub_video_blit_glyph): Likewise.
16289 (grub_video_blit_bitmap): Likewise.
16290 (grub_video_blit_render_target): Likewise.
16291 (grub_video_scroll): Likewise.
16292 (grub_video_swap_buffers): Likewise.
16293 (grub_video_create_render_target): Likewise.
16294 (grub_video_delete_render_target): Likewise.
16295 (grub_video_set_active_render_target): Likewise.
16296
16297 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
16298 Undefined.
16299 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
16300
16301 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
16302 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16304 instead of $(srcdir)/genkernsyms.sh.
16305
16306 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
16307 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16308 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16309 instead of $(srcdir)/genkernsyms.sh.
16310
16311 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
16312 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16313 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16314 instead of $(srcdir)/genkernsyms.sh.
16315
16316 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
16317 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16318 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16319 instead of $(srcdir)/genkernsyms.sh.
16320
16321 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
16322 genkernsyms.sh.
16323
16324 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
16325 genkernsyms.sh.
16326 (gensymlist.sh): New target.
16327 (genkernsyms.sh): Likewise.
16328
16329 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
16330 genkernsyms.sh.in and gensymlist.sh.in.
16331
16332 * genkernsyms.sh: Removed.
16333 * gensymlist.sh: Likewise.
f19dbdb7 16334
7b455f4d 16335 * genkernsyms.sh.in: New file.
16336 * gensymlist.sh.in: Likewise.
16337
1885bb27 163382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16339
16340 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
16341 clobber "prefix", since we may have already set it manually.
16342
71538dff 163432006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16344
16345 * kern/misc.c (abort): New alias for grub_abort.
16346
2965c7cc 163472006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
16348
16349 A new machine-specific function "grub_machine_set_prefix" is
16350 defined. This is called after loading modules, so that a prefix
16351 initialization can use modules. Also, this change adds an
16352 intensive debugging feature for the memory manager via the
16353 configure option "--enable-mm-debug".
f19dbdb7 16354
2965c7cc 16355 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
16356 PART.LEN.
16357
16358 * kern/sparc64/ieee1275/init.c (abort): Removed.
16359 (grub_stop): Likewise.
16360 (grub_exit): New function.
16361 (grub_set_prefix): Renamed to ...
16362 (grub_machine_set_prefix): ... this.
16363 (grub_machine_init): Do not call grub_set_prefix.
16364
16365 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
16366 (grub_machine_set_prefix): ... this.
16367 (grub_machine_init): Do not call grub_set_prefix.
16368
16369 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
16370 (grub_machine_init): Do not set the prefix here.
16371
16372 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
16373
16374 * kern/efi/init.c: Include grub/mm.h.
16375 (grub_efi_set_prefix): New function.
16376
16377 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
16378 (grub_efi_get_filename): New function.
16379 (grub_print_device_path): Renamed to ...
16380 (grub_efi_print_device_path): ... this.
16381
16382 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
16383 [MM_DEBUG] (grub_realloc): Likewise.
16384 [MM_DEBUG] (grub_free): Likewise.
16385 [MM_DEBUG] (grub_memalign): Likewise.
16386 [MM_DEBUG] (grub_mm_debug): New variable.
16387 [MM_DEBUG] (grub_debug_malloc): New function.
16388 [MM_DEBUG] (grub_debug_free): New function.
16389 [MM_DEBUG] (grub_debug_realloc): New function.
16390 [MM_DEBUG] (grub_debug_memalign): New function.
16391
16392 * kern/misc.c (grub_abort): Print a newline to distinguish
16393 the message.
16394
16395 * kern/main.c (grub_main): Call grub_machine_set_prefix and
16396 grub_set_root_dev after loading modules. This is necessary when
16397 setting a prefix depends on modules.
16398
16399 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
16400 (grub_efi_print_device_path): ... this.
16401 (grub_efi_get_filename): New prototype.
16402 (grub_efi_set_prefix): Likewise.
16403
16404 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
16405 and grub/disk.h.
16406 (grub_efidisk_get_device_handle): New prototype.
16407 (grub_efidisk_get_device_name): Likewise.
16408
16409 * include/grub/mm.h: Include config.h.
16410 (MM_DEBUG): Removed.
16411 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
16412 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
16413 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
16414 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
16415 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
16416 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
16417 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
16418 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
16419 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
16420
16421 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
16422
16423 * disk/efi/efidisk.c: Include grub/partition.h.
16424 (iterate_child_devices): New function.
16425 (add_device): First, compare only last device path nodes, so that
16426 devices are sorted by the types.
16427 (grub_efidisk_get_device_handle): New function.
16428 (grub_efidisk_get_device_name): Likewise.
16429
16430 * configure.ac (--enable-mm-debug): New option to enable the
16431 memory manager debugging feature. This makes the binary much
16432 bigger, so is disabled by default.
16433
9cacaa17 164342006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
16435
16436 Use grub_abort instead of grub_stop, and grub_exit must be
16437 define in each architecture now. Also, this change adds support
16438 for EFI disks.
f19dbdb7 16439
9cacaa17 16440 * util/i386/pc/grub-probefs.c: Include grub/term.h.
16441 (grub_getkey): New function.
16442 (grub_term_get_current): Likewise.
16443
16444 * util/i386/pc/grub-setup.c: Include grub/term.h.
16445 (grub_getkey): New function.
16446 (grub_term_get_current): Likewise.
16447
16448 * util/misc.c (grub_stop): Renamed to ...
16449 (grub_exit): ... this.
16450
16451 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
16452 (grub_exit): ... this.
16453 (grub_machine_init): Use grub_abort instead of abort.
16454 (grub_stop): Removed.
16455
16456 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
16457 abort.
16458
16459 * kern/i386/pc/startup.S (grub_exit): New function.
16460 (cold_reboot): New label.
16461
16462 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
16463 (grub_efi_init): Call grub_efidisk_init.
16464 (grub_efi_fini): Call grub_efidisk_fini.
16465
16466 * kern/efi/efi.c: Include grub/mm.h.
16467 (grub_efi_console_control_guid): Renamed to ...
16468 (console_control_guid): ... this.
16469 (grub_efi_loaded_image_guid): Renamed to ...
16470 (loaded_image_guid): ... this.
16471 (grub_efi_locate_handle): New function.
16472 (grub_efi_open_protocol): Likewise.
16473 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
16474 GRUB_EFI_CONSOLE_CONTROL_GUID.
16475 (grub_efi_exit): Removed.
16476 (grub_stop): Likewise.
16477 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
16478 (grub_exit): New function.
16479 (grub_print_device_path): Likewise.
16480
16481 * kern/rescue.c (grub_rescue_cmd_exit): New function.
16482 (grub_enter_rescue_mode): Register "exit".
16483
16484 * kern/misc.c (grub_real_dprintf): A cosmetic change.
16485 (grub_abort): New function.
16486
16487 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
16488
16489 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
16490
16491 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
16492
16493 * include/grub/efi/efi.h (grub_efi_exit): Removed.
16494 (grub_print_device_path): New prototype.
16495 (grub_efi_locate_handle): Likewise.
16496 (grub_efi_open_protocol): Likewise.
16497
16498 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
16499 * disk/efi/efidisk.c: Likewise.
16500
16501 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
16502
16503 * include/grub/efi/console_control.h
16504 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
16505
16506 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
16507 last 8 bytes as an array.
16508 (GRUB_EFI_DISK_IO_GUID): New macro.
16509 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
16510 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
16511 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
16512 grub_uint8_t.
16513 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
16514 (struct grub_efi_device_path): Rename the member "sub_type" to
16515 "subtype".
16516 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
16517 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
16518 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
16519 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
16520 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
16521 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
16522 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
16523 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
16524 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
16525 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
16526 (struct grub_efi_pci_device_path): New structure.
16527 (grub_efi_pci_device_path_t): New type.
16528 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
16529 (struct grub_efi_pccard_device_path): New structure.
16530 (grub_efi_pccard_device_path_t): New type.
16531 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
16532 (struct grub_efi_memory_mapped_device_path): New structure.
16533 (grub_efi_memory_mapped_device_path_t): New type.
16534 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
16535 (struct grub_efi_vendor_device_path): New structure.
16536 (grub_efi_vendor_device_path_t): New type.
16537 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
16538 (struct grub_efi_controller_device_path): New structure.
16539 (grub_efi_controller_device_path_t): New type.
16540 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
16541 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
16542 (struct grub_efi_acpi_device_path): New structure.
16543 (grub_efi_acpi_device_path_t): New type.
16544 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
16545 (struct grub_efi_expanded_acpi_device_path): New structure.
16546 (grub_efi_expanded_acpi_device_path_t): New type.
16547 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
16548 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
16549 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
16550 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
16551 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
16552 (struct grub_efi_atapi_device_path): New structure.
16553 (grub_efi_atapi_device_path_t): New type.
16554 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
16555 (struct grub_efi_fibre_channel_device_path): New structure.
16556 (grub_efi_fibre_channel_device_path_t): New type.
16557 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
16558 (struct grub_efi_1394_device_path): New structure.
16559 (grub_efi_1394_device_path_t): New type.
16560 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
16561 (struct grub_efi_usb_device_path): New structure.
16562 (grub_efi_usb_device_path_t): New type.
16563 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
16564 (struct grub_efi_usb_class_device_path): New structure.
16565 (grub_efi_usb_class_device_path_t): New type.
16566 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
16567 (struct grub_efi_i2o_device_path): New structure.
16568 (grub_efi_i2o_device_path_t): New type.
16569 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
16570 (struct grub_efi_mac_address_device_path): New structure.
16571 (grub_efi_mac_address_device_path_t): New type.
16572 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
16573 (struct grub_efi_ipv4_device_path): New structure.
16574 (grub_efi_ipv4_device_path_t): New type.
16575 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
16576 (struct grub_efi_ipv6_device_path): New structure.
16577 (grub_efi_ipv6_device_path_t): New type.
16578 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
16579 (struct grub_efi_infiniband_device_path): New structure.
16580 (grub_efi_infiniband_device_path_t): New type.
16581 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
16582 (struct grub_efi_uart_device_path): New structure.
16583 (grub_efi_uart_device_path_t): New type.
16584 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
16585 (struct grub_efi_vendor_messaging_device_path): New structure.
16586 (grub_efi_vendor_messaging_device_path_t): New type.
16587 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
16588 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
16589 (struct grub_efi_hard_drive_device_path): New structure.
16590 (grub_efi_hard_drive_device_path_t): New type.
16591 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
16592 (struct grub_efi_cdrom_device_path): New structure.
16593 (grub_efi_cdrom_device_path_t): New type.
16594 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
16595 (struct grub_efi_vendor_media_device_path): New structure.
16596 (grub_efi_vendor_media_device_path_t): New type.
16597 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
16598 (struct grub_efi_file_path_device_path): New structure.
16599 (grub_efi_file_path_device_path_t): New type.
16600 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
16601 (struct grub_efi_protocol_device_path): New structure.
16602 (grub_efi_protocol_device_path_t): New type.
16603 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
16604 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
16605 (struct grub_efi_bios_device_path): New structure.
16606 (grub_efi_bios_device_path_t): New type.
16607 (struct grub_efi_disk_io): New structure.
16608 (grub_efi_disk_io_t): New type.
16609 (struct grub_efi_block_io_media): New structure.
16610 (grub_efi_block_io_media_t): New type.
16611 (struct grub_efi_block_io): New structure.
16612 (grub_efi_block_io_t): New type.
16613
16614 * include/grub/misc.h (grub_stop): Removed.
16615 (grub_exit): New prototype.
16616 (grub_abort): Likewise.
16617
16618 * include/grub/disk.h (enum grub_disk_dev_id): Added
16619 GRUB_DISK_DEVICE_EFIDISK_ID.
16620
16621 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
16622 disk/efi/efidisk.c.
16623 (kernel_syms.lst): Remove the target if an error occurs.
16624
49986a9f 166252006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
16626
16627 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
16628 as it was simply too buggy.
16629
970d3b8a 166302006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
16631
16632 * kern/misc.c (grub_lltoa): New function.
16633 (grub_vsprintf): Added support for the long long suffix,
16634 i.e. "ll".
16635
ff04ec24 166362006-04-20 Hollis Blanchard <hollis@penguinppc.org>
16637
16638 * Makefile.in (LDFLAGS): Add variable.
16639 (LD): Remove variable.
16640 * configure.ac: Add -m32 to LDFLAGS.
16641 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
16642 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
16643 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
16644 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
16645 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
16646 variables.
16647 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
16648 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
16649 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
16650
37e5e1a4 166512006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
16652
16653 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
16654 length for unknown glyph.
16655
c352d8dd 166562006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
16657
2eab1c0d 16658 Add support for pre-loaded modules into the EFI port.
f19dbdb7 16659
2eab1c0d 16660 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
16661 completely. Accept one more argument DIR. The caller has changed.
16662
16663 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
16664
16665 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
16666 (grub_efi_loaded_image_guid): New variable.
16667 (grub_efi_get_loaded_image): New function.
16668 (grub_arch_modules_addr): Likewise.
16669
16670 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
16671 prototype.
16672
16673 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
16674 (struct grub_efi_loaded_image): New structure.
16675 (grub_efi_loaded_image_t): New type.
16676
166772006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16678
c352d8dd 16679 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
16680 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
16681 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
16682
6d01d6b4 166832006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
16684
16685 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
16686
976a4ea0 166872006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
16688
16689 * DISTLIST: Added include/grub/efi/console.h,
16690 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
16691 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16692
16693 * include/grub/efi/console.h: New file.
16694 * include/grub/efi/time.h: Likewise.
16695 * include/grub/i386/efi/kernel.h: Likewise.
16696 * kern/efi/init.c: Likewise.
16697 * kern/efi/mm.c: Likewise.
16698 * term/efi/console.c: Likewise.
f19dbdb7 16699
976a4ea0 16700 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
16701 (grub_stop): Removed.
16702 (grub_get_rtc): Likewise.
16703 (grub_machine_init): Simply call grub_efi_init.
16704 (grub_machine_fini): Call grub_efi_fini.
16705
16706 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
16707 (grub_efi_output_string): Removed.
16708 (grub_efi_stall): New function.
16709 (grub_stop): Likewise.
16710 (grub_get_rtc): Likewise.
16711
16712 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
16713 (grub_efi_stall): New prototype.
16714 (grub_efi_allocate_pages): Likewise.
16715 (grub_efi_free_pages): Likewise.
16716 (grub_efi_get_memory_map): Likewise.
16717 (grub_efi_mm_init): Likewise.
16718 (grub_efi_mm_fini): Likewise.
16719 (grub_efi_init): Likewise.
16720 (grub_efi_fini): Likewise.
16721
16722 * include/grub/i386/efi/time.h: Do not include
16723 grub/symbol.h. Include grub/efi/time.h.
16724 (GRUB_TICKS_PER_SECOND): Removed.
16725 (grub_get_rtc): Likewise.
16726
16727 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
16728 Added padding. The EFI spec is buggy.
16729 (GRUB_EFI_BLACK): New macro.
16730 (GRUB_EFI_BLUE): Likewise.
16731 (GRUB_EFI_GREEN): Likewise.
16732 (GRUB_EFI_CYAN): Likewise.
16733 (GRUB_EFI_RED): Likewise.
16734 (GRUB_EFI_MAGENTA): Likewise.
16735 (GRUB_EFI_BROWN): Likewise.
16736 (GRUB_EFI_LIGHTGRAY): Likewise.
16737 (GRUB_EFI_BRIGHT): Likewise.
16738 (GRUB_EFI_DARKGRAY): Likewise.
16739 (GRUB_EFI_LIGHTBLUE): Likewise.
16740 (GRUB_EFI_LIGHTGREEN): Likewise.
16741 (GRUB_EFI_LIGHTCYAN): Likewise.
16742 (GRUB_EFI_LIGHTRED): Likewise.
16743 (GRUB_EFI_LIGHTMAGENTA): Likewise.
16744 (GRUB_EFI_YELLOW): Likewise.
16745 (GRUB_EFI_WHITE): Likewise.
16746 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
16747 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
16748 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
16749 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
16750 (GRUB_EFI_BACKGROUND_RED): Likewise.
16751 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
16752 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
16753 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
16754 (GRUB_EFI_TEXT_ATTR): Likewise.
16755
16756 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
16757 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16758 (kernel_mod_HEADERS): Added efi/time.h.
16759
83709125 167602006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
16761
16762 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
16763 include/grub/efi/api.h, include/grub/efi/console_control.h,
16764 include/grub/efi/efi.h, include/grub/efi/pe32.h,
16765 include/grub/i386/efi/time.h, kern/efi/efi.c,
16766 kern/i386/efi/init.c, kern/i386/efi/startup.S,
16767 and util/i386/efi/grub-mkimage.c.
16768
16769 * Makefile.in (RMKFILES): Added i386-efi.rmk.
16770
16771 * genmk.rb (PModule#rule): Do not export symbols if
16772 #{prefix}_EXPORTS is set to "no".
16773
16774 * conf/i386-efi.mk: New file.
16775 * conf/i386-efi.rmk: Likewise.
16776 * include/grub/efi/api.h: Likewise.
16777 * include/grub/efi/console_control.h: Likewise.
16778 * include/grub/efi/efi.h: Likewise.
16779 * include/grub/efi/pe32.h: Likewise.
16780 * include/grub/i386/efi/time.h: Likewise.
16781 * kern/efi/efi.c: Likewise.
16782 * kern/i386/efi/init.c: Likewise.
16783 * kern/i386/efi/startup.S: Likewise.
16784 * util/i386/efi/grub-mkimage.c: Likewise.
16785
167862006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 16787
16788 * include/grub/script.h: Include <grub/parser.h> and
16789 "grub_script.tab.h".
16790 (struct grub_lexer_param): New struct.
16791 (struct grub_parser_param): Likewise.
16792 (grub_script_create_arglist): Pass the state in an argument.
16793 (grub_script_add_arglist): Likewise.
16794 (grub_script_create_cmdline): Likewise.
16795 (grub_script_create_cmdblock): Likewise.
16796 (grub_script_create_cmdif): Likewise.
16797 (grub_script_create_cmdmenu): Likewise.
16798 (grub_script_add_cmd): Likewise.
16799 (grub_script_arg_add): Likewise.
16800 (grub_script_lexer_ref): Likewise.
16801 (grub_script_lexer_deref): Likewise.
16802 (grub_script_lexer_record_start): Likewise.
16803 (grub_script_lexer_record_stop): Likewise.
16804 (grub_script_mem_record): Likewise.
16805 (grub_script_mem_record_stop): Likewise.
16806 (grub_script_malloc): Likewise.
16807 (grub_script_yylex): Likewise.
16808 (grub_script_yyparse): Likewise.
16809 (grub_script_yyerror): Likewise.
16810 (grub_script_yylex): Likewise.
16811 (grub_script_lexer_init): Return the state.
16812
16813 * normal/lexer.c (grub_script_lexer_state): Removed variable.
16814 (grub_script_lexer_done): Likewise.
16815 (grub_script_lexer_getline): Likewise.
16816 (grub_script_lexer_refs): Likewise.
16817 (script): Likewise.
16818 (newscript): Likewise.
16819 (record): Likewise.
16820 (recording): Likewise.
16821 (recordpos): Likewise.
16822 (recordlen): Likewise.
16823 (grub_script_lexer_init): Return the state instead of setting
16824 global variables.
16825 (grub_script_lexer_ref): Use the newly added argument for state
16826 instead of globals.
16827 (grub_script_lexer_deref): Likewise.
16828 (grub_script_lexer_record_start): Likewise.
16829 (grub_script_lexer_record_stop): Likewise.
16830 (recordchar): Likewise.
16831 (nextchar): Likewise.
16832 (grub_script_yylex2): Likewise.
16833 (grub_script_yylex): Likewise.
16834 (grub_script_yyerror): Likewise.
16835
16836 * normal/parser.y (func_mem): Removed variable.
16837 (menu_entry): Likewise.
16838 (err): Likewise.
16839 (%lex-param): New parser option.
16840 (%parse-param): Likewise.
16841 (script): Always return the AST.
16842 (argument): Pass the state around.
16843 (arguments): Likewise.
16844 (grubcmd): Likewise.
16845 (commands): Likewise.
16846 (function): Likewise.
16847 (menuentry): Likewise.
16848 (if_statement): Likewise.
16849 (if): Likewise.
16850
16851 * normal/script.c (grub_script_memused): Removed variable.
16852 (grub_script_parsed): Likewise.
16853 (grub_script_malloc): Added a state argument. Use that instead of
16854 global variables.
16855 (grub_script_mem_record): Likewise.
16856 (grub_script_mem_record_stop): Likewise.
16857 (grub_script_arg_add): Likewise.
16858 (grub_script_add_arglist): Likewise.
16859 (grub_script_create_cmdline): Likewise.
16860 (grub_script_create_cmdif): Likewise.
16861 (grub_script_create_cmdmenu): Likewise.
16862 (grub_script_add_cmd): Likewise.
16863 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 16864
e2a8c904 168652006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 16866
16867 * normal/command.c (grub_command_init): Remove the title command.
16868
16869 * normal/lexer.c (grub_script_yylex): Renamed from this...
16870 (grub_script_yylex2): ... to this.
16871 (grub_script_yylex): New function. Temporary
16872 introduced to filter some tokens.
16873 (grub_script_yyerror): Print a newline.
16874
16875 * normal/main.c (read_config_file): Output information about the
16876 lines that contain errors. Wait for a key after all lines have
16877 been processed. Don't return an empty menu.
16878
16879 * normal/parser.y (func_mem): Don't initialize.
16880 (menu_entry): Likewise.
16881 (err): New variable.
16882 (script): Don't return anything when an error was encountered.
16883 (ws, returns): Removed rules.
16884 (argument): Disabled concatenated variable support.
16885 (arguments): Remove explicit separators.
16886 (grubcmd): Likewise.
16887 (function): Likewise.
16888 (menuentry): Likewise.
16889 (if): Likewise.
16890 (commands): Likewise. Add error handling.
16891
16892 * normal/script.c (grub_script_create_cmdline): If
16893 `grub_script_parsed' is 0, assume the parser encountered an error.
16894
c9a86192 168952006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
16896
16897 * configure.ac: Add support for EFI. Fix the typo
16898 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
16899
70f3b243 169002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
16901
16902 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
16903 foreign multibyte characters should be shown correctly.
16904
65f201ad 169052006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
16906
16907 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
16908 calculation.
16909 (read_config_file): Made it to close file before returning.
16910
b4b93674 169112006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
16912
16913 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
16914 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
16915 video/i386/pc/vbefill.c.
16916
16917 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
16918 video/i386/pc/vbefill.c.
16919
16920 * include/grub/video.h (grub_video_blit_format): New enum.
16921 (grub_video_mode_info): Added new member blit_format.
16922 (grub_video_get_blit_format): New function prototype.
16923
16924 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
16925 function prototype.
16926 (grub_video_vbe_map_rgb): Likewise.
16927 (grub_video_vbe_unmap_color): Likewise.
16928
16929 * include/grub/i386/pc/vbeblit.h: New file.
16930
16931 * include/grub/i386/pc/vbefill.h: New file.
16932
16933 * video/video.c (grub_video_get_blit_format): New function.
16934 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
16935 (grub_video_vbe_map_rgb): Likewise.
16936 (grub_video_vbe_unmap_color): Likewise.
16937
16938 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
16939 optimized fills.
16940 (grub_video_vbe_blit_render_target): Changed to use more optimized
16941 blits.
16942 (grub_video_vbe_setup): Added detection for optimized settings.
16943 (grub_video_vbe_create_render_target): Likewise.
16944
16945 * video/i386/pc/vbeblit.c: New file.
16946
16947 * video/i386/pc/vbefill.c: New file.
16948
c2379b9c 169492006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
16950
16951 * font/manager.c (grub_font_get_glyph): Removed font fixup from
16952 here...
16953
16954 * util/unifont2pff.rb: ... and moved it to here. Improved argument
16955 parsing to support both hex and dec ranges. If filename was missing
16956 show usage information.
16957
bd0d7896 169582006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
16959
16960 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
16961 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
16962
16963 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
16964 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
16965 (video_mod_SOURCES): Added.
16966 (video_mod_CFLAGS): Likewise.
16967 (video_mod_LDFLAGS): Likewise.
16968 (gfxterm_mod_SOURCES): Likewise.
16969 (gfxterm_mod_CFLAGS): Likewise.
16970 (gfxterm_mod_LDFLAGS): Likewise.
16971 (videotest_mod_SOURCES): Likewise.
16972 (videotest_mod_CFLAGS): Likewise.
16973 (videotest_mod_LDFLAGS): Likewise.
16974 (vesafb_mod_SOURCES): Removed.
16975 (vesafb_mod_CFLAGS): Likewise.
16976 (vesafb_mod_LDFLAGS): Likewise.
16977 (vga_mod_SOURCES): Likewise.
16978 (vga_mod_CFLAGS): Likewise.
16979 (vga_mod_LDFLAGS): Likewise.
16980
16981 * commands/videotest.c: New file.
16982
16983 * font/manager.c (fill_with_default_glyph): Modified to use
16984 grub_font_glyph.
16985 (grub_font_get_glyph): Likewise.
16986 (fontmanager): Renamed from this...
16987 (font_manager): ... to this.
16988
16989 * include/grub/font.h (grub_font_glyph): Added new structure.
16990 (grub_font_get_glyph): Modified to use grub_font_glyph.
16991
16992 * include/grub/misc.h (grub_abs): Added as inline function.
16993
16994 * include/grub/video.h: New file.
16995
16996 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
16997 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
16998 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
16999 (grub_vbe_get_controller_info): Renamed from this...
17000 (grub_vbe_bios_get_controller_info): ... to this.
17001 (grub_vbe_get_mode_info): Renamed from this...
17002 (grub_vbe_bios_get_mode_info): ... to this.
17003 (grub_vbe_set_mode): Renamed from this...
17004 (grub_vbe_bios_set_mode): ... to this.
17005 (grub_vbe_get_mode): Renamed from this...
17006 (grub_vbe_bios_get_mode): ... to this.
17007 (grub_vbe_set_memory_window): Renamed from this...
17008 (grub_vbe_bios_set_memory_window): ... to this.
17009 (grub_vbe_get_memory_window): Renamed from this...
17010 (grub_vbe_bios_get_memory_window): ... to this.
17011 (grub_vbe_set_scanline_length): Renamed from this...
17012 (grub_vbe_set_scanline_length): ... to this.
17013 (grub_vbe_get_scanline_length): Renamed from this...
17014 (grub_vbe_bios_get_scanline_length): ... to this.
17015 (grub_vbe_set_display_start): Renamed from this...
17016 (grub_vbe_bios_set_display_start): ... to this.
17017 (grub_vbe_get_display_start): Renamed from this...
17018 (grub_vbe_bios_get_display_start): ... to this.
17019 (grub_vbe_set_palette_data): Renamed from this...
17020 (grub_vbe_bios_set_palette_data): ... to this.
17021 (grub_vbe_set_pixel_rgb): Removed.
17022 (grub_vbe_set_pixel_index): Likewise.
17023
17024 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
17025 from this...
17026 (grub_vbe_bios_get_controller_info): ... to this.
17027 (grub_vbe_get_mode_info): Renamed from this...
17028 (grub_vbe_bios_get_mode_info): ... to this.
17029 (grub_vbe_set_mode): Renamed from this...
17030 (grub_vbe_bios_set_mode): ... to this.
17031 (grub_vbe_get_mode): Renamed from this...
17032 (grub_vbe_bios_get_mode): ... to this.
17033 (grub_vbe_set_memory_window): Renamed from this...
17034 (grub_vbe_bios_set_memory_window): ... to this.
17035 (grub_vbe_get_memory_window): Renamed from this...
17036 (grub_vbe_bios_get_memory_window): ... to this.
17037 (grub_vbe_set_scanline_length): Renamed from this...
17038 (grub_vbe_set_scanline_length): ... to this.
17039 (grub_vbe_get_scanline_length): Renamed from this...
17040 (grub_vbe_bios_get_scanline_length): ... to this.
17041 (grub_vbe_set_display_start): Renamed from this...
17042 (grub_vbe_bios_set_display_start): ... to this.
17043 (grub_vbe_get_display_start): Renamed from this...
17044 (grub_vbe_bios_get_display_start): ... to this.
17045 (grub_vbe_set_palette_data): Renamed from this...
17046 (grub_vbe_bios_set_palette_data): ... to this.
17047 (grub_vbe_bios_get_controller_info): Fixed problem with registers
17048 getting corrupted after calling it. Added more pushes and pops.
17049 (grub_vbe_bios_set_mode): Likewise.
17050 (grub_vbe_bios_get_mode): Likewise.
17051 (grub_vbe_bios_get_memory_window): Likewise.
17052 (grub_vbe_bios_set_scanline_length): Likewise.
17053 (grub_vbe_bios_get_scanline_length): Likewise.
17054 (grub_vbe_bios_get_display_start): Likewise.
17055 (grub_vbe_bios_set_palette_data): Likewise.
17056
17057 * normal/cmdline.c (cl_set_pos): Refresh the screen.
17058 (cl_insert): Likewise.
17059 (cl_delete): Likewise.
17060
17061 * term/gfxterm.c: New file.
17062
17063 * term/i386/pc/vesafb.c: Removed file.
17064
17065 * video/video.c: New file.
17066
17067 * video/i386/pc/vbe.c (real2pm): Added new function.
17068 (grub_video_vbe_draw_pixel): Likewise.
17069 (grub_video_vbe_get_video_ptr): Likewise.
17070 (grub_video_vbe_get_pixel): Likewise
17071 (grub_video_vbe_init): Likewise.
17072 (grub_video_vbe_fini): Likewise.
17073 (grub_video_vbe_setup): Likewise.
17074 (grub_video_vbe_get_info): Likewise.
17075 (grub_video_vbe_set_palette): Likewise.
17076 (grub_video_vbe_get_palette): Likewise.
17077 (grub_video_vbe_set_viewport): Likewise.
17078 (grub_video_vbe_get_viewport): Likewise.
17079 (grub_video_vbe_map_color): Likewise.
17080 (grub_video_vbe_map_rgb): Likewise.
17081 (grub_video_vbe_map_rgba): Likewise.
17082 (grub_video_vbe_unmap_color): Likewise.
17083 (grub_video_vbe_fill_rect): Likewise.
17084 (grub_video_vbe_blit_glyph): Likewise.
17085 (grub_video_vbe_blit_bitmap): Likewise.
17086 (grub_video_vbe_blit_render_target): Likewise.
17087 (grub_video_vbe_scroll): Likewise.
17088 (grub_video_vbe_swap_buffers): Likewise.
17089 (grub_video_vbe_create_render_target): Likewise.
17090 (grub_video_vbe_delete_render_target): Likewise.
17091 (grub_video_vbe_set_active_render_target): Likewise.
17092 (grub_vbe_set_pixel_rgb): Remove function.
17093 (grub_vbe_set_pixel_index): Likewise.
17094 (index_color_mode): Remove static variable.
17095 (active_mode): Likewise.
17096 (framebuffer): Likewise.
17097 (bytes_per_scan_line): Likewise.
17098 (grub_video_vbe_adapter): Added new static variable.
17099 (framebuffer): Likewise.
17100 (render_target): Likewise.
17101 (initial_mode): Likewise.
17102 (mode_in_use): Likewise.
17103 (mode_list): Likewise.
17104
5f97350b 171052006-03-10 Marco Gerards <marco@gnu.org>
17106
17107 * configure.ac (AC_INIT): Bumped to 1.93.
17108
17109 * DISTLIST: Added `include/grub/hfs.h'.
17110
a3c5c6f8 171112006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
17112
17113 * boot/i386/pc/boot.S (general_error): Before looping, try INT
17114 18H, which might help the BIOS falling back to next boot media.
17115
6de53d26 171162006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
17117
17118 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
17119 Poe Chen <poe.poechen@gmail.com>.
17120
77c4a393 171212006-01-17 Marco Gerards <marco@gnu.org>
17122
17123 * include/grub/normal.h: Include <grub/script.h>.
17124 (grub_command_list): Removed struct.
17125 (grub_command_list_t): Removed type.
17126 (grub_menu_entry): Remove members `num' and `command_list'. Add
17127 members `commands' and `sourcecode'.
17128 * include/grub/script.h: Add inclusion guards.
17129 (grub_script_cmd_menuentry): New struct.
17130 (grub_script_execute_menuentry): New prototype.
17131 (grub_script_lexer_record_start): Likewise.
17132 (grub_script_lexer_record_stop): Likewise.
17133 * normal/execute.c (grub_script_execute_menuentry): New function.
17134 * normal/lexer.c (record, recording, recordpos, recordlen): New
17135 variables.
17136 (grub_script_lexer_record_start): New function.
17137 (grub_script_lexer_record_stop): Likewise.
17138 (recordchar): Likewise.
17139 (nextchar): Likewise.
17140 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
17141 2048 as the buffer size. Add the tokens `menuentry' and `@'.
17142 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
17143 (current_menu): New variable.
17144 (free_menu): Mainly rewritten.
17145 (grub_normal_menu_addentry): New function.
17146 (read_config_file): Rewritten.
17147 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 17148 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 17149 the menu entry.
17150 (run): Mainly rewritten.
17151 * normal/parser.y (menu_entry): New variable.
17152 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
17153 (menuentry): New rule.
17154 (command): Add `menuentry'.
17155 (if_statement): Allow additional returns before `fi'.
17156 * normal/script.c (grub_script_create_cmdmenu): New function.
17157
144f1f98 171582006-01-03 Marco Gerards <marco@gnu.org>
17159
17160 * INSTALL: GNU Bison is required.
17161 * configure.ac: Rewritten the test to detect Bison.
17162 * Makefile.in (YACC): New variable. Reported by Xun Sun
17163 <xun.sun.cn@gmail.com>.
17164
af4b2d89 171652006-01-03 Marco Gerards <marco@gnu.org>
17166
17167 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
17168 the HFS+ filesystem to filesystem blocks.
17169 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
17170 GCC warning is silenced.
17171
15643b71 171722006-01-03 Marco Gerards <marco@gnu.org>
17173
17174 * partmap/apple.c (apple_partition_map_iterate): Convert the data
17175 read from disk from big endian to host byte order.
17176
00905879 171772006-01-03 Hollis Blanchard <hollis@penguinppc.org>
17178
17179 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
17180 documentation.
17181 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
17182 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
17183 embedded HFS+ filesystem.
17184 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
17185 (grub_hfs_sblock): Move from here...
17186 * include/grub/hfs.h: To here... New file.
17187 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
17188 documentation.
17189 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
17190 New macros.
17191 (grub_hfsplus_volheader): Change type of member `magic' to
17192 `grub_uint16_t'.
17193 (grub_hfsplus_data): Add new member `embedded_offset'.
17194 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
17195 returned block.
17196 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
17197 Calculate the offset.
17198
8899bc3e 171992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17200
17201 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
17202 Removed.
17203 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
17204
ae8c0277 172052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17206
17207 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
17208 ENV->NAME is NULL after allocating ENV->VALUE.
17209
07084456 172102005-12-25 Marco Gerards <marco@gnu.org>
17211
17212 * kern/env.c (grub_env_set): Rewritten the error handling code.
17213
4750f5f1 172142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17215
17216 * geninit.sh: Made more robust, and more portable.
17217
50214199 172182005-12-25 Marco Gerards <marco@gnu.org>
17219
17220 Add support for Apple HFS+ filesystems.
f19dbdb7 17221
50214199 17222 * fs/hfsplus.c: New file.
17223
17224 * DISTLIST: Added `fs/hfsplus.c'.
17225
17226 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
17227 (hfsplus_mod_SOURCES): New variable.
17228 (hfsplus_mod_CFLAGS): Likewise.
17229 (hfsplus_mod_LDFLAGS): Likewise.
17230 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
17231 (grub_setup_SOURCES): Likewise.
17232 (grub_mkdevicemap_SOURCES): Likewise.
17233 (grub_emu_SOURCES): Likewise.
17234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17235
17236 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
17237
17238 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
17239
befaed6c 172402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17241
17242 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
17243 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
17244 include/grub/parser.h, include/grub/script.h, kern/parser.c,
17245 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
17246 normal/lexer.c, normal/parser.y, normal/script.c, and
17247 partmap/gpt.c.
17248 Removed kern/sparc64/cache.c.
17249
17250 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
17251 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
17252 grub_emu_init.c.
17253
17254 * configure.ac (AC_INIT): Bumped to 1.92.
17255
6a124103 172562005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
17257
17258 * kern/err.c (grub_error_push): Added new function to support error
17259 stacks.
17260 (grub_error_pop): Likewise.
17261 (grub_error_stack_items): New local variable to support error stacks.
17262 (grub_error_stack_pos): Likewise.
17263 (grub_error_stack_assert): Likewise.
17264 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
17265 stack depth.
17266 (grub_print_error): Added support to print errors from error stack.
17267
17268 * include/grub/err.h (grub_error_push): Added function prototype.
17269 (grub_error_pop): Likewise.
17270
be973c1b 172712005-12-09 Hollis Blanchard <hollis@penguinppc.org>
17272
17273 * configure.ac: Accept `powerpc64' as host_cpu.
17274 (amd64): Rename to `biarch32'.
17275
17276 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
17277 non-cacheline-aligned addresses.
17278
17279 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
17280 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
17281 if `size' is non-zero.
17282
b04216ab 172832005-12-03 Marco Gerards <mgerards@xs4all.nl>
17284
17285 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
17286 and `cd' to make sure the filename is not prefixed with a
17287 directory name.
17288 (pkgdata_MODULES): Add `gpt.mod'.
17289 (gpt_mod_SOURCES): New variable.
17290 (gpt_mod_CFLAGS): Likewise.
17291 (gpt_mod_LDFLAGS): Likewise.
17292
17293 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
17294
17295 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
17296 New macro.
17297
17298 * partmap/gpt.c: New file.
17299
17300 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
17301 GPT partition map is detected.
17302
41730ed9 173032005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
17304
17305 * commands/i386/pc/play.c: New file.
17306 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
17307 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
17308 macros.
f19dbdb7 17309
95dc3643 173102005-11-27 Marco Gerards <mgerards@xs4all.nl>
17311
17312 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
17313 ((unused))' to silence gcc warning.
17314
1569ec51 173152005-11-26 Hollis Blanchard <hollis@penguinppc.org>
17316
17317 * configure.ac: Correct `AC_PROG_YACC' test.
17318
9abde152 173192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17320
17321 * util/powerpc/ieee1275/grub-install.in: Run the mount point
17322 check before installing files.
17323
44b83271 173242005-11-22 Mike Small <smallm@panix.com>
17325
17326 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
17327 number regex so multidigit numbers are recognized correctly.
17328
173292005-11-22 Mike Small <smallm@panix.com>
17330
17331 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
17332 debugging message before attempting to claim memory.
17333 (grub_rescue_cmd_initrd): Add a claim debugging message and try
17334 multiple addresses in case of failure.
17335
9c12956b 173362005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17337
17338 * term/tparm.c (get_space): Remove empty `if' statement.
17339
17340 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
17341
17342 * kern/parser.c (check_varstate): Rename `state' to 's'.
17343
aeaf81d9 173442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17345
17346 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
17347 variable definitions to the beginning of each function. Sort stack
17348 variables by size.
17349 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
17350 `buf' argument to `char *'.
17351
79bbb63f 173522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17353
17354 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
17355 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17356 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 17357 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17358 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17359 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17360 configfile.mod, search.mod, gzio.mod and test.mod.
17361 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17362 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17363 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17364 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17365 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17366 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17367 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17368 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17369 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17370 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17371 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17372 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17373 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17374 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17375 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17376 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17377 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17378 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17379 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17380 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17381 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17382 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17383 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
17384
17385 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
17386 `grep --include'.
17387 (pkgdata_MODULES): Add test.mod.
17388
233b1628 173892005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17390
17391 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
17392 appending to variables with "+=".
17393 (PModule): Use full pathname to generate *.lst filenames.
17394
17395 * Makefile.in: Fixed list rules moved from genmk.rb.
17396 (.DELETE_ON_ERROR): New special target.
17397 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
17398
17399 * conf/i386-pc.rmk: Include conf/common.mk.
17400 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17401 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 17402 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17403 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17404 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17405 configfile.mod, search.mod, gzio.mod and test.mod.
17406 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17407 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17408 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17409 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17410 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17411 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17412 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17413 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17414 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17415 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17416 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17417 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17418 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17419 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17420 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17421 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17422 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17423 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17424 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17425 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17426 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17427 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17428 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
17429 here...
17430 * conf/common.rmk: ... to here. New file.
17431
17432 * conf/common.mk: New file.
17433
16f820c8 174342005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
17435
17436 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
17437 (grub_script.tab.c): ... here.
17438
17439 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
17440 (grub_script.tab.c): ... here.
17441
17442 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
17443 (grub_script.tab.c): ... here.
17444
17445 * normal/command.c (grub_command_find): Fixed a memory leak of
17446 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
17447
63ba1554 174482005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17449
17450 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
17451 "@" which marks the start of a comment on ARM.
17452 (VARIABLE): Likewise.
17453
7f67dc13 174542005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17455
79bbb63f 17456 Add support for Linux/ADFS partition tables.
7f67dc13 17457
17458 * partmap/acorn.c: New file.
17459
17460 * include/grub/acorn_filecore.h: Likewise.
17461
17462 * DISTLIST: Added `partmap/acorn.c' and
17463 `include/grub/acorn_filecore.h'.
f19dbdb7 17464
7f67dc13 17465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17466 `partmap/acorn.c'.
17467 (pkgdata_MODULES): Add `acorn.mod'.
17468 (acorn_mod_SOURCES): New variable.
17469 (acorn_mod_CFLAGS): Likewise.
17470
17471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17472 `partmap/acorn.c'.
17473 (pkgdata_MODULES): Add `acorn.mod'.
17474 (acorn_mod_SOURCES): New variable.
17475 (acorn_mod_CFLAGS): Likewise.
17476
17477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
17478 (pkgdata_MODULES): Add `acorn.mod'.
17479 (acorn_mod_SOURCES): New variable.
17480 (acorn_mod_CFLAGS): Likewise.
17481 (acorn_mod_LDFLAGS): Likewise.
17482
17483 * include/types.h (grub_disk_addr_t): New typedef.
17484
6d099807 174852005-11-13 Marco Gerards <mgerards@xs4all.nl>
17486
17487 * geninit.sh: New file.
17488
17489 * geninitheader.sh: Likewise.
17490
17491 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
17492 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
17493 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
17494 * commands/configfile.c (grub_configfile_init)
17495 (grub_configfile_fini): Likewise.
17496 * commands/default.c (grub_default_init, grub_default_fini):
17497 Likewise.
17498 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
17499 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
17500 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
17501 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
17502 Likewise.
17503 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
17504 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
17505 Likewise.
17506 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 17507 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 17508 Likewise.
17509 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
17510 Likewise.
fe6b695a 17511 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 17512 Likewise.
17513 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
17514 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
17515 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
17516 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
17517 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
17518 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
17519 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
17520 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
17521 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
17522 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
17523 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
17524 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
17525 * partmap/amiga.c (grub_amiga_partition_map_init)
17526 (grub_amiga_partition_map_fini): Likewise.
17527 * partmap/apple.c (grub_apple_partition_map_init)
17528 (grub_apple_partition_map_fini): Likewise.
17529 * partmap/pc.c (grub_pc_partition_map_init)
17530 (grub_pc_partition_map_fini): Likewise.
17531 * partmap/sun.c (grub_sun_partition_map_init,
17532 grub_sun_partition_map_fini): Likewise.
17533 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
17534 Likewise.
17535
17536 * util/grub-emu.c: Include <grub_modules_init.h>.
17537 (main): Don't initialize and de-initialize any modules directly,
17538 use `grub_init_all' and `grub_fini_all' instead.
17539
17540 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
17541 `grub_vesafb_mod_init'.
17542 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
17543 all users.
17544 * term/i386/pc/vga.c (grub_vga_init): Renamed to
17545 `grub_vga_mod_init'. Updated all users.
17546 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 17547
6d099807 17548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
17549 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
17550 rules.
17551
17552 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
17553 Generate a function to initialize the module in utilities.
17554 Updated all callers.
17555 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
17556 initialize the module in utilities. Updated all callers.
17557
9046bcf0 175582005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17559
17560 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
17561 escape sequence and a literal ^L to clear the screen.
17562
17563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
17564 when returning from Open Firmware.
17565
d13ea639 175662005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17567
17568 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
17569 (grub_ofconsole_height): Likewise.
17570 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
17571 manually insert a '\n'.
17572 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
17573 `grub_ofconsole_height'. Return early if these are already set.
17574
a8fcf206 175752005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
17576
17577 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17578 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
17579 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
17580 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
17581 and `normal/script.c'.
17582 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17583 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17584 (test_mod_SOURCES): New variable.
17585 (test_mod_CFLAGS): Likewise.
17586 (test_mod_LDFLAGS): Likewise.
17587 (pkgdata_MODULES): Add `test.mod'.
17588 (grub_script.tab.c): New rule.
17589 (grub_script.tab.h): Likewise.
17590
b6b32745 175912005-11-07 Marco Gerards <mgerards@xs4all.nl>
17592
17593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17594 `commands/test.c', `normal/execute.c', `normal/lexer.c',
17595 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17596 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17597 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17598 (test_mod_SOURCES): New variable.
17599 (test_mod_CFLAGS): Likewise.
17600 (pkgdata_MODULES): Add `test.mod'.
17601 (grub_script.tab.c): New rule.
17602 (grub_script.tab.h): Likewise.
17603
daac212a 176042005-11-06 Marco Gerards <mgerards@xs4all.nl>
17605
17606 Add initial scripting support.
17607
17608 * commands/test.c: New file.
17609 * include/grub/script.h: Likewise.
17610 * normal/execute.c: Likewise.
17611 * normal/function.c: Likewise.
17612 * normal/lexer.c: Likewise.
17613 * normal/parser.y: Likewise.
17614 * normal/script.c: Likewise.
17615
17616 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 17617
daac212a 17618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
17619 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
17620 `normal/function.c' and `normal/script.c'.
17621 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17622 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 17623 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
17624 variables.
daac212a 17625 (pkgdata_MODULES): Add `test.mod'.
17626 (grub_script.tab.c): New rule.
17627 (grub_script.tab.h): Likewise.
17628
17629 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
17630
17631 * include/grub/normal.h (grub_test_init): New prototype.
17632 (grub_test_fini): Likewise.
f19dbdb7 17633
daac212a 17634 * normal/command.c: Include <grub/script.h>.
17635 (grub_command_execute): Rewritten.
f19dbdb7 17636
daac212a 17637 * util/grub-emu.c (main): Call `grub_test_init' and
17638 `grub_test_fini'.
17639
77500b2b 176402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17641
17642 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
17643 to 0.
17644 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
17645 there are no pending characters.
17646
e45deb9e 176472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17648
17649 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
17650 `grub_strndup' to drop device arguments. Replace unnecessary
17651 `grub_strndup' with `grub_strdup'.
17652
4ce32619 176532005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17654
17655 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
17656 `debug' environment variable has been set.
17657
176582005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 17659
4ce32619 17660 * Makefile.in (install-local): Use $(DATA).
17661 (uninstall): Likewise.
17662 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
17663 (sbin_UTILITIES): ... to here.
17664 (sbin_SCRIPTS): New variable.
17665 (grub_install_SOURCES): New variable.
17666 * util/powerpc/ieee1275/grub-install.in: New file.
17667 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
17668 variable.
17669 (add_segments): Call `grub_util_get_path'.
17670
25fe6f03 176712005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17672
17673 From Timothy Baldwin:
17674 * commands/ls.c (grub_ls_list_files): Close FILE with
17675 grub_file_close.
17676 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
17677
04ccf3ec 176782005-10-24 Marco Gerards <mgerards@xs4all.nl>
17679
17680 * include/grub/parser.h: New file.
17681
17682 * kern/parser.c: Likewise.
17683
17684 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
17685 (grub_setup_SOURCES): Likewise.
17686 (grub_probefs_SOURCES): Likewise.
17687 (grub_emu_SOURCES): Likewise.
17688 (kernel_img_HEADERS): Add `parser.h'.
17689
17690 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17691 (grub_emu_SOURCES): Add `kern/parser.c'.
17692 (grubof_SOURCES): Likewise.
17693
17694 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17695 (grubof_SOURCES): Add `kern/parser.c'.
17696
17697 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
17698
17699 * kern/misc.c (grub_split_cmdline): Removed function.
17700
17701 * kern/rescue.c: Include <grub/parser.h>.
17702 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
17703 of `grub_split_cmdline'.
17704
17705 * normal/command.c: Include <grub/parser.h>.
17706 (grub_command_execute): Use `grub_parser_split_cmdline' instead
17707 of `grub_split_cmdline'.
17708
17709 * normal/completion.c: Include <grub/parser.h>.
17710 (cmdline_state): New variable.
17711 (iterate_dir): End the filename with a quote depending on the
17712 command line state.
17713 (get_state): new function.
17714 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
17715 split the arguments and determine the current argument. When the
17716 argument string is not quoted, escape all spaces.
17717
6d8f4b0e 177182005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17719
17720 * normal/sparc64/setjmp.S: New file.
17721
15cf03ed 177222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17723
17724 * include/grub/sparc64/libgcc.h: New file.
17725 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
17726 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
17727 normal/sparc64/setjmp.c.
17728
03e8661a 177292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17730
17731 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
17732 * kern/sparc64/cache.S: New file.
17733 * kern/sparc64/cache.c: Removed.
17734 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
17735 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
17736 -mtune=ultrasparc.
17737 (COMMON_LDFLAGS): Add -melf64_sparc.
17738 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
17739 (grubof_SOURCES): Use cache.S instead of cache.c.
17740 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
17741 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
17742 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
17743 commented though.
17744 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
17745 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
17746 (linux_mod_CFLAGS): Commented out.
17747 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
17748 out because module isn't built.
17749 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
17750 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
17751 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
17752 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
17753 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
17754 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
17755 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
17756 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
17757 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
17758 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
17759 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17760 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17761 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
17762 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
17763
34eeec8a 177642005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
17765
17766 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
17767 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
17768 longer, because HFS should not be used on PC.
17769
708367a3 177702005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17771
17772 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
17773 consistently within the loop.
17774
6fa1251a 177752005-10-15 Marco Gerards <mgerards@xs4all.nl>
17776
17777 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
17778 directory can not be read.
17779
4801580b 177802005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17781
17782 * configure.ac (AC_INIT): Increase the version number to 1.91.
17783
17784 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
17785 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
17786 term/i386/pc/serial.c.
17787
219ad426 177882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17789
17790 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
17791 file size must be permitted.
17792
17793 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
17794 between %ah and %al.
17795
688e5699 177962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17797
17798 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
17799 grub_uint64_t.
17800 Call the hook with a NUL-terminated filename.
17801 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
17802 grub_cpu_to_be32.
17803
17804 * kern/term.c (cursor_state): New variable.
17805 (grub_term_set_current): Reset the cursor state on a new
17806 terminal.
17807 (grub_setcursor): Rewritten to use CURSOR_STATE.
17808 (grub_getcursor): New function.
17809
17810 * include/grub/term.h (grub_getcursor): New prototype.
17811
17812 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
17813 integers on ARM. Reported by Timothy Baldwin
17814 <T.E.Baldwin99@members.leeds.ac.uk>.
17815
bb34586c 178162005-10-11 Marco Gerards <mgerards@xs4all.nl>
17817
17818 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
17819 allocated.
17820 (grub_sfs_dir): Likewise.
17821
9a909877 178222005-10-09 Marco Gerards <mgerards@xs4all.nl>
17823
17824 Add support for the SFS filesystem.
17825
17826 * fs/sfs.c: New file.
17827
17828 * DISTLIST: Added `fs/sfs.c'.
17829
17830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
17831 (grub_probefs_SOURCES): Likewise.
17832 (grub_emu_SOURCES): Likewise.
17833 (pkgdata_MODULES): Add `sfs.mod'.
17834 (sfs_mod_SOURCES): New variable.
17835 (sfs_mod_CFLAGS): Likewise.
17836 (sfs_mod_LDFLAGS): Likewise.
17837
17838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
17839 (pkgdata_MODULES): Add `sfs.mod'.
17840 (sfs_mod_SOURCES): New variable.
17841 (sfs_mod_CFLAGS): Likewise.
17842
17843 * util/grub-emu.c (main): Call `grub_sfs_init' and
17844 `grub_sfs_fini'.
17845
17846 * include/grub/fs.h (grub_sfs_init): New prototype.
17847 (grub_sfs_fini): Likewise.
17848
57bdbde3 178492005-10-07 Marco Gerards <mgerards@xs4all.nl>
17850
17851 Add support for the AFFS filesystem.
17852
17853 * fs/affs.c: New file.
17854
17855 * DISTLIST: Added `fs/affs.c'.
17856
17857 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
17858 (grub_probefs_SOURCES): Likewise.
17859 (grub_emu_SOURCES): Likewise.
17860 (pkgdata_MODULES): Add `affs.mod'.
17861 (affs_mod_SOURCES): New variable.
17862 (affs_mod_CFLAGS): Likewise.
17863 (affs_mod_LDFLAGS): Likewise.
17864
17865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
17866 (pkgdata_MODULES): Add `affs.mod'.
17867 (affs_mod_SOURCES): New variable.
17868 (affs_mod_CFLAGS): Likewise.
17869
17870 * util/grub-emu.c (main): Call `grub_affs_init' and
17871 `grub_affs_fini'.
17872
17873 * include/grub/fs.h (grub_affs_init): New prototype.
17874 (grub_affs_fini): Likewise.
17875
047b67e0 178762005-10-01 Marco Gerards <mgerards@xs4all.nl>
17877
17878 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
17879
59b8208a 178802005-10-01 Marco Gerards <mgerards@xs4all.nl>
17881
17882 * configure.ac: Accept `x86_64' as host_cpu. In that case add
17883 `-m32' to CFLAGS.
17884
17885 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
17886 linking.
f19dbdb7 17887
59b8208a 17888 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
17889 (COMMON_LDFLAGS): New variable.
17890 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
17891 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
17892 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
17893 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
17894 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
17895 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
17896 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
17897 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
17898 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
17899 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
17900 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
17901 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
17902 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
17903 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
17904 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
17905 variables.
17906 (normal_mod_ASFLAGS): Add `-m32'.
17907
17908 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
17909 (grub_host_size_t, grub_host_ssize_t): New types.
17910 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 17911 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 17912 `GRUB_HOST_SIZEOF_VOID_P'.
17913
17914 * include/grub/kernel.h (struct grub_module_header): Type of
17915 member offset changed to `grub_host_off_t'. Type of member size
17916 changed to `grub_host_size_t'.
17917 (struct grub_module_info): Type of member offset changed to
17918 `grub_host_off_t'. Type of member size changed to
17919 `grub_host_size_t'.
17920
b4093103 179212005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
17922
17923 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 17924
b4093103 17925 * kern/i386/pc/startup.S (multiboot_header): New label.
17926 (multiboot_entry): Likewise.
17927 (multiboot_trampoline): Likewise.
17928
17929 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17930 Increased to 0x4A0.
17931
17932 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
17933 put parentheses after a question mark.
17934 [!GRUB_UTIL] (my_mod): New variable.
17935
17936 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
17937
b2499b29 179382005-09-28 Marco Gerards <mgerards@xs4all.nl>
17939
17940 Adds support for the XFS filesystem. Btrees are not supported
17941 yet.
17942
17943 * fs/xfs.c: New file.
17944
17945 * DISTLIST: Added `fs/xfs.c'.
17946
17947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
17948 (grub_probefs_SOURCES): Likewise.
17949 (grub_emu_SOURCES): Likewise.
17950 (pkgdata_MODULES): Add `xfs.mod'.
17951 (xfs_mod_SOURCES): New variable.
17952 (xfs_mod_CFLAGS): Likewise.
17953
17954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
17955 (pkgdata_MODULES): Add `xfs.mod'.
17956 (xfs_mod_SOURCES): New variable.
17957 (xfs_mod_CFLAGS): Likewise.
17958
17959 * util/grub-emu.c (main): Call `grub_xfs_init' and
17960 `grub_xfs_fini'.
17961
17962 * include/grub/fs.h (grub_xfs_init): New prototype.
17963 (grub_xfs_fini): Likewise.
17964
f19dbdb7 17965
83d37a62 179662005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
17967
17968 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
17969 color modes, allow greater than 16 colors to be configured as
17970 a default palette.
17971
47d2d65e 179722005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17973
17974 * normal/completion.c (complete_arguments): Add the qualifier
17975 const into OPTIONS.
17976
17977 From Omniflux <omniflux+lists@omniflux.com>:
17978 * include/grub/terminfo.h: New file.
17979 * include/grub/tparm.h: Likewise.
17980 * include/grub/i386/pc/serial.h: Likewise.
17981 * term/terminfo.c: Likewise.
17982 * term/tparm.c: Likewise.
17983 * term/i386/pc/serial.c: Likewise.
17984 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
17985 serial.mod.
17986 (terminfo_mod_SOURCES): New variable.
17987 (terminfo_mod_CFLAGS): Likewise.
17988 (serial_mod_SOURCES): Likewise.
17989 (serial_mod_CFLAGS): Likewise.
17990
48b671ff 179912005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
17992
17993 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
17994 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
17995 and kern/powerpc/ieee1275/cmain.c, respectively.
17996
17997 * boot/powerpc/ieee1275/crt0.S: Moved to ...
17998 * kern/powerpc/ieee1275/crt0.S: ... here.
17999
18000 * boot/powerpc/ieee1275/cmain.c: Moved to ...
18001 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 18002
48b671ff 18003 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
18004 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
18005 instead of boot/powerpc/ieee1275/crt0.S and
18006 boot/powerpc/ieee1275/cmain.c, respectively.
18007
18008 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
18009 sectors. It was not used anyway.
18010
09fc77a7 180112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18012
18013 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
18014 `unused parameter' warning.
18015
003789c7 180162005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18017
18018 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
18019 function.
18020 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
18021 getcharwidth.
18022
67f44c86 180232005-08-28 Marco Gerards <metgerards@student.han.nl>
18024
18025 * include/grub/normal.h (enum grub_completion_type): Added
18026 `GRUB_COMPLETION_TYPE_ARGUMENT'.
18027
18028 * normal/cmdline.c (print_completion): Handle
18029 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
18030 * normal/menu_entry.c (store_completion): Likewise.
18031
18032 * normal/completion.c (complete_arguments): New function.
18033 (grub_normal_do_completion): Call `complete_arguments' when the
18034 current words start with a dash.
18035
0b5abe02 180362005-08-27 Marco Gerards <metgerards@student.han.nl>
18037
18038 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
18039 `gzio.mod' instead of `io.mod').
18040
d9864ee1 180412005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
18042
18043 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
18044 (DISTDIRS): Added io and video.
18045 Rewrite the search routine to make an output consistently.
18046
18047 * DISTLIST: Added conf/sparc64-ieee1275.mk,
18048 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
18049 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
18050 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
18051 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
18052 util/powerpc/ieee1275/misc.c.
f19dbdb7 18053
d9864ee1 18054 * include/grub/gzio.h: New file.
18055 * io/gzio.c: Likewise.
f19dbdb7 18056
d9864ee1 18057 * kern/file.c (grub_file_close): Call grub_device_close only if
18058 FILE->DEVICE is not NULL.
18059
18060 * include/grub/mm.h [!NULL] (NULL): New macro.
18061
18062 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
18063
18064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
18065 (pkgdata_MODULES): Added gzio.mod.
18066 (gzio_mod_SOURCES): New variable.
18067 (gzio_mod_CFLAGS): Likewise.
18068
18069 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
18070 (pkgdata_MODULES): Added gzio.mod.
18071 (gzio_mod_SOURCES): New variable.
18072 (gzio_mod_CFLAGS): Likewise.
18073
18074 * commands/cat.c: Include grub/gzio.h.
18075 (grub_cmd_cat): Use grub_gzfile_open instead of
18076 grub_file_open.
f19dbdb7 18077
d9864ee1 18078 * commands/cmp.c: Include grub/gzio.h.
18079 (grub_cmd_cmp): Use grub_gzfile_open instead of
18080 grub_file_open.
18081
18082 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
18083 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
18084 grub_file_open.
18085 (grub_rescue_cmd_module): Likewise.
18086
fa46f4b5 180872005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
18088
18089 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
18090 kern/sparc64/ieee1275/init.c because it contains _start.
18091 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
18092
e9211b5d 180932005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
18094
18095 * configure.ac: Add support for sparc64 host with ieee1275
18096 firmware.
18097 * configure: Generated from configure.ac.
18098 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
18099 instead of int.
18100 (grub_ofdisk_read): Likewise.
18101 (grub_ofdisk_open): Use %p to print pointer values, and cast the
18102 pointers as (void *) to remove a warning.
18103 (grub_ofdisk_close): Likewise.
18104 (grub_ofdisk_read): Likewise.
18105 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
18106 returns, so make it return void to remove a warning.
18107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
18108 Corresponding prototype change.
18109 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
18110 values, and cast the pointers as (void *) to remove a warning.
18111 (grub_mm_dump): Likewise.
18112 * conf/sparc64-ieee1275.mk: New file.
18113 * conf/sparc64-ieee1275.rmk: Likewise.
18114 * include/grub/sparc64/setjmp.h: Likewise.
18115 * include/grub/sparc64/types.h: Likewise.
18116 * include/grub/sparc64/ieee1275/console.h: Likewise.
18117 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18118 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18119 * include/grub/sparc64/ieee1275/time.h: Likewise.
18120 * kern/sparc64/cache.c: Likewise.
18121 * kern/sparc64/dl.c: Likewise.
18122 * kern/sparc64/ieee1275/init.c: Likewise.
18123 * kern/sparc64/ieee1275/openfw.c: Likewise.
18124
385c6a92 181252005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
18126
18127 * util/console.c (grub_ncurses_putchar): If C is greater than
18128 0x7f, set C to a question mark.
18129 (grub_ncurses_getcharwidth): New function.
18130 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
18131 getcharwidth.
18132
18133 * normal/menu.c (print_entry): Made aware of Unicode. First,
18134 convert TITLE to UCS-4, and predict the cursor position by
18135 grub_getcharwidth.
18136
18137 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
18138 const to SRC.
18139 * kern/misc.c (grub_utf16_to_utf8): Likewise.
18140
16ccb8b1 181412005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18142
18143 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
18144 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
18145 grub_strcat.
18146
18147 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
18148 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
18149 grub_strcpy and grub_strlen. Take it into account that a space
18150 character is inserted as a delimiter.
18151
6a85ce79 181522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18153
18154 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 18155 invalid magic in the error.
6a85ce79 18156
18157 * commands/search.c: New file.
f19dbdb7 18158
6a85ce79 18159 * util/grub-emu.c (main): Call grub_search_init and
18160 grub_search_fini.
18161
18162 * kern/rescue.c (grub_rescue_print_disks): Removed.
18163 (grub_rescue_print_devices): New function.
18164 (grub_rescue_cmd_ls): Use grub_device_iterate with
18165 grub_rescue_print_devices instead of grub_disk_dev_iterate with
18166 grub_rescue_print_disks.
18167
18168 * kern/partition.c (grub_partition_iterate): Return the result of
18169 PARTMAP->ITERATE instead of GRUB_ERRNO.
18170
18171 * kern/device.c: Include grub/partition.h.
18172 (grub_device_iterate): New function.
18173
18174 * include/grub/partition.h (grub_partition_iterate): Return int
18175 instead of grub_err_t.
18176
18177 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
18178 prototype.
18179 [GRUB_UTIL] (grub_search_fini): Likewise.
18180
18181 * include/grub/device.h (grub_device_iterate): New prototype.
18182
18183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18184 commands/search.c.
18185 (pkgdata_MODULES): Added search.mod.
18186 (search_mod_SOURCES): New variable.
18187 (search_mod_CFLAGS): Likewise.
18188
18189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
18190 (pkgdata_MODULES): Added search.mod.
18191 (search_mod_SOURCES): New variable.
18192 (search_mod_CFLAGS): Likewise.
18193
18194 * commands/ls.c (grub_ls_list_disks): Renamed to ...
18195 (grub_ls_list_devices): ... this, and use grub_device_iterate.
18196 All callers changed.
18197
18198 * DISTLIST: Added commands/search.c.
18199
ef095434 182002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18201
18202 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
18203 conversion.
18204 (grub_getcharwidth): New function.
18205
18206 * kern/misc.c (grub_utf8_to_ucs4): New function.
18207
18208 * include/grub/term.h (struct grub_term): Added a new member
18209 "getcharwidth".
18210 (grub_getcharwidth): New prototype.
18211
18212 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
18213
18214 * term/i386/pc/console.c (map_char): New function. Segregated from
18215 grub_console_putchar.
18216 (grub_console_putchar): Use map_char.
18217 (grub_console_getcharwidth): New function.
18218 (grub_console_term): Specified grub_console_getcharwidth as
18219 getcharwidth.
18220
18221 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
18222 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
18223
18224 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
18225 GRUB_ERRNO.
18226 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
18227 on grub_strtoul completely.
18228 (write_char): Declare local variables in the beginning of the
18229 function.
18230 (grub_vesafb_getcharwidth): New function.
18231 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
18232 getcharwidth.
18233
1f0a95e4 182342005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
18235
18236 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
18237 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
18238 commands/i386/pc/vbetest.c.
18239
18240 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
18241 call grub_vbe_get_controller_info again, because the returned
18242 information is volatile.
18243 (grub_vbe_set_video_mode): Mostly rewritten.
18244 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
18245 grub_vbe_status_t correctly.
18246 (grub_vbe_get_video_mode_info): Likewise.
18247 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
18248 several if statements.
18249
18250 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
18251 * commands/i386/pc/vbeinfo.c: ... this.
18252
18253 * commands/i386/pc/vbe_test.c: Renamed to ...
18254 * commands/i386/pc/vbetest.c: ... this.
18255
18256 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
18257 ...
18258 (grub_cmd_vbeinfo): ... this. Save video modes before
18259 iterating. Skip a video mode, if it is not available, not enough
18260 information is given or it is monochrome. Show the memory
18261 model. Leave the interpretation of MODEVAR to grub_strtoul
18262 completely.
18263 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
18264 (GRUB_MOD_FINI): Likewise.
18265
18266 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
18267 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
18268 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
18269 duplicated grub_env_get. Leave the interpretation of MODEVAR to
18270 grub_strtoul completely.
18271 (real2pm): Removed.
18272 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
18273 (GRUB_MOD_FINI): Likewise.
18274
18275 * normal/misc.c: Include grub/mm.h.
18276
18277 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
18278 vbe_list_modes with vbetest.mod and vbeinfo.mod.
18279 (vbe_list_modes_mod_SOURCES): Removed.
18280 (vbe_list_modes_mod_CFLAGS): Likewise.
18281 (vbe_test_mod_SOURCES): Likewise.
18282 (vbe_test_mod_CFLAGS): Likewise.
18283 (vbeinfo_mod_SOURCES): New variable.
18284 (vbeinfo_mod_CFLAGS): Likewise.
18285 (vbetest_mod_SOURCES): Likewise.
18286 (vbetest_mod_CFLAGS): Likewise.
18287
992ffbbe 182882005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
18289
18290 * normal/misc.c: New file.
18291
18292 * DISTLIST: Added normal/misc.c.
f19dbdb7 18293
992ffbbe 18294 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
18295 DISK to HOOK. Call HOOK with DISK.
18296 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18297 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18298 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18299
18300 * normal/menu_entry.c (struct screen): Added a new member
18301 "completion_shown".
18302 (completion_buffer): New global variable.
18303 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
18304 (store_completion): New function.
18305 (complete): Likewise.
18306 (clear_completions): Likewise.
18307 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
18308 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
18309 a tab, call complete.
18310
18311 * normal/completion.c (disk_dev): Removed.
18312 (print_simple_completion): Likewise.
18313 (print_partition_completion): Likewise.
18314 (print_func): New global variable.
18315 (add_completion): Do not take the arguments WHAT or PRINT any
18316 longer. Added a new argument TYPE. Instead of printing directly,
18317 call PRINT_FUNC if not NULL.
18318 All callers changed.
18319 (complete_device): Use a local variable DEV instead of
18320 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
18321 (grub_normal_do_completion): Take a new argument HOOK. Do not
18322 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
18323 empty string, return NULL instead.
18324 All callers changed.
18325
18326 * normal/cmdline.c (print_completion): New function.
18327
18328 * kern/partition.c (grub_partition_iterate): Add an argument DISK
18329 to HOOK.
18330 All callers changed.
18331
18332 * kern/disk.c (grub_print_partinfo): Removed.
18333
18334 * include/grub/partition.h (struct grub_partition_map): Add a new
18335 argument DISK into HOOK of ITERATE.
18336 (grub_partition_iterate): Add a new argument DISK to HOOK.
18337
18338 * include/grub/normal.h (enum grub_completion_type): New enum.
18339 (grub_completion_type_t): New type.
18340 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
18341 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
18342 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
18343 (GRUB_COMPLETION_TYPE_FILE): Likewise.
18344 (grub_normal_do_completion): Added a new argument HOOK.
18345 (grub_normal_print_device_info): New prototype.
18346
18347 * include/grub/disk.h (grub_print_partinfo): Removed.
18348
18349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
18350 (normal_mod_SOURCES): Likewise.
18351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18352 (normal_mod_SOURCES): Likewise.
18353
18354 * commands/ls.c (grub_ls_list_disks): Use
18355 grub_normal_print_device_info instead of grub_print_partinfo. Free
18356 PNAME.
18357 (grub_ls_list_files): Use grub_normal_print_device_info instead of
18358 duplicating the code.
18359
0bd41162 183602005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18361
18362 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 18363 follow GCS more precisely.
18364 * commands/i386/pc/vbe_test.c: Likewise.
18365 * include/grub/i386/pc/vbe.h: Likewise.
18366 * term/i386/pc/vesafb.c: Likewise.
18367 * video/i386/pc/vbe.c: Likewise.
0bd41162 18368
6323696a 183692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18370
18371 * DISTLIST: Added term/i386/pc/vesafb.c
18372 DISTLIST: Added video/i386/pc/vbe.c
18373 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
18374 DISTLIST: Added commands/i386/pc/vbe_test.c.
18375 * commands/i386/pc/vbe_list_modes.c: New file.
18376 * commands/i386/pc/vbe_test.c: Likewise.
18377 * term/i386/pc/vesafb.c: Likewise.
18378 * video/i386/pc/vbe.c: Likewise.
18379 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
18380 (grub_vbe_probe) Added prototype.
18381 (grub_vbe_set_video_mode) Likewise.
18382 (grub_vbe_get_video_mode) Likewise.
18383 (grub_vbe_get_video_mode_info) Likewise.
18384 (grub_vbe_set_pixel_rgb) Likewise.
18385 (grub_vbe_set_pixel_index) Likewise.
18386 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
18387 (pkgdata_MODULES): Added vesafb.mod.
18388 (pkgdata_MODULES): Added vbe_list_modes.mod.
18389 (pkgdata_MODULES): Added vbe_test.mod.
18390 (vbe_mod_SOURCES): Added.
18391 (vbe_mod_CFLAGS): Likewise.
18392 (vesafb_mod_SOURCES): Likewise.
18393 (vesafb_mod_CFLAGS): Likewise.
18394 (vbe_list_modes_mod_SOURCES): Likewise.
18395 (vbe_list_modes_mod_CFLAGS): Likewise.
18396 (vbe_test_mod_SOURCES): Likewise.
18397 (vbe_test_mod_CFLAGS): Likewise.
18398
0a74e62f 183992005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
18400
0a74e62f 18401 * normal/command.c (grub_command_execute): If INTERACTIVE is
18402 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
18403 CMDLINE. Disable the pager if INTERACTIVE is true.
18404 All callers are changed.
18405
18406 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
18407 before reading a config file.
18408 * normal/main.c (read_config_file): Even if a command is not
18409 found, register it if it is within an entry.
18410
18411 * util/grub-emu.c: Include sys/types.h and unistd.h.
18412 (options): Added --hold.
18413 (struct arguments): Added a new member "hold".
18414 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
18415 missing.
18416 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
18417 cleared by a debugger, if it is not zero.
18418
18419 * include/grub/normal.h (grub_command_execute): Add an argument
18420 INTERACTIVE.
18421
e51f85ae 184222005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
18423
18424 * DISTLIST: Added include/grub/i386/pc/vbe.h.
18425
e9c6f39b 184262005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
18427
18428 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
18429 program with another one, because the old one didn't detect a bug
18430 in gcc-3.4. Always use regparm 2, because the new test is still
18431 not enough for gcc-4.0. Someone must investigate a simple test
18432 case which detects a bug in gcc-4.0.
18433
8de3495c 184342005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
18435
18436 * DISTLIST: Added normal/completion.c.
18437
18438 * normal/completion.c: New file.
f19dbdb7 18439
8de3495c 18440 * term/i386/pc/console.c (grub_console_getwh): New function.
18441 (grub_console_term): Assign grub_console_getwh to getwh.
18442
18443 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
18444 function is defined in normal/completion.c as
18445 grub_normal_do_completion.
18446 (grub_cmdline_get): Use grub_normal_do_completion instead of
18447 grub_tab_complete.
18448
18449 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
18450 returns non-zero, otherwise return 0.
18451 (grub_partition_iterate): First, probe the partition map. Then,
18452 call ITERATE only for this partition map.
18453
18454 * kern/misc.c (grub_strncmp): Rewritten.
18455
18456 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
18457 returns non-zero. Otherwise return 0.
18458
18459 * include/grub/partition.h (grub_partition_map_iterate): Return
18460 int instead of void.
18461
18462 * include/grub/normal.h (grub_normal_do_completion): New prototype.
18463
18464 * include/grub/misc.h (grub_strncmp): Change the type of N to
18465 grub_size_t.
18466
18467 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
18468 of void.
18469
18470 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 18471 unsigned explicitly before comparing it with I.
8de3495c 18472
18473 * kern/main.c (grub_env_write_root): Add the attribute unused into
18474 VAR.
18475
18476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18477 normal/completion.c.
18478 (normal_mod_SOURCES): Likewise.
18479 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18480 (normal_mod_SOURCES): Likewise.
18481
18482 * normal/command.c (grub_iterate_commands): If ITERATE returns
18483 non-zero, return one immediately.
18484
e85e144b 184852005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
18486
18487 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
18488 * kern/i386/pc/startup.S: Updated Global Descriptor table's
18489 descriptions.
18490 (grub_vbe_get_controller_info): New function.
18491 (grub_vbe_get_mode_info): Likewise.
18492 (grub_vbe_set_mode): Likewise.
18493 (grub_vbe_get_mode): Likewise.
18494 (grub_vbe_set_memory_window): Likewise.
18495 (grub_vbe_get_memory_window): Likewise.
18496 (grub_vbe_set_scanline_length): Likewise.
18497 (grub_vbe_get_scanline_length): Likewise.
18498 (grub_vbe_set_display_start): Likewise.
18499 (grub_vbe_get_display_start): Likewise.
18500 (grub_vbe_set_palette_data): Likewise.
18501 * include/grub/i386/pc/vbe.h: New file.
18502
c46153d2 185032005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18504
18505 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18506 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
18507 * DISTLIST: Likewise.
18508 * kern/ieee1275/of.c: Moved to ...
18509 * kern/ieee1275/ieee1275.c: ... here.
18510
0cb90c45 185112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18512
18513 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
18514 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
18515 Pass 0 as `end' parameter to grub_strtoul().
18516
a19fb360 185172005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18518
18519 * include/grub/powerpc/ieee1275/console.h: Do not include
18520 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
18521 ifdef.
18522 (grub_console_cur_color): Remove i386-specific prototype.
18523 (grub_console_real_putchar): Likewise.
18524 (grub_console_checkkey): Likewise.
18525 (grub_console_getkey): Likewise.
18526 (grub_console_getxy): Likewise.
18527 (grub_console_gotoxy): Likewise.
18528 (grub_console_cls): Likewise.
18529 (grub_console_setcursor): Likewise.
18530 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
18531 Include <grub/machine/console.h>.
18532 * term/ieee1275/ofconsole.c: Likewise.
18533
4ac9bd04 185342005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
18535
18536 * Makefile.in (LIBLZO): New variable.
18537
18538 * configure.ac: Check for LZO version 2.
18539
18540 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
18541 lzo/lzo1x.h instead of lzo1x.h.
18542
18543 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
18544 of -llzo.
18545
18546 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
18547 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
18548
18549 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
18550 copying the data from PARTITION to P.
18551
f4917dfd 185522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18553
18554 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
18555 negative, unload the module.
18556
18557 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
18558 map is "pc_partition_map" but not "pc".
18559 (usage): Fix the description. The options are --boot-image and
18560 --core-image but not --boot-file or --core-file.
18561 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
18562 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
18563 DEFAULT_DIRECTORY.
18564
18565 * util/i386/pc/grub-install.in: Do not specify --boot-file or
18566 --core-file. Specify INSTALL_DEVICE as an argument.
18567
18568 * util/console.c: Include config.h.
18569 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
18570 [HAVE_NCURSES_H]: Include ncurses.h.
18571 [HAVE_CURSES_H]: Include curses.h.
18572 [!A_NORMAL] (A_NORMAL): Defined as zero.
18573 [!A_STANDOUT] (A_STANDOUT): Likewise.
18574
18575 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
18576 -lncurses.
18577 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
18578
18579 * configure.ac: Check for curses libraries and headers.
18580
18581 * Makefile.in (LIBCURSES): New variable.
18582
18583 * genmk.rb (Script::rule): Set the executable bits.
18584
18585 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
18586 name of the PC partition map is "pc_partition_map" but not "pc".
18587
0e143073 185882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18589
18590 * util/i386/pc/grub-install.in (grub_probefs): New variable.
18591 (modules): Likewise.
18592 (usage): Added descriptions for --modules and --grub-probefs.
18593 Handle --modules and --grub-probefs. Save the arguments in MODULES
18594 and GRUB_PROBEFS, respectively.
18595 Auto-detect a filesystem module against GRUBDIR. If the result is
18596 empty and modules are not specified explicitly, abort the
18597 installation. Add the result to MODULES.
18598
18599 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
18600 disk/powerpc/ieee1275/ofdisk.c,
18601 include/grub/powerpc/ieee1275/init.h and
18602 term/powerpc/ieee1275/ofconsole.c.
18603 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
18604 term/ieee1275/ofconsole.c.
18605
18606 * include/grub/powerpc/ieee1275/console.h: Resurrected.
18607
18608 * COPYING: Upgraded to the latest version. Only the address of the
18609 FSF office has changed.
f19dbdb7 18610
efd6e6d5 186112005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18612
18613 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18614 kern/ieee1275.c with kern/ieee1275/of.c.
18615
18616 * kern/ieee1275.c: Moved to ...
18617 * kern/ieee1275/of.c: ... here.
18618
8ceafda2 186192005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
18620
18621 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 18622 readability.
8ceafda2 18623
18624 * config.guess: Updated to the latest version from gnulib.
18625 * config.sub: Likewise.
18626 * install.sh: Likewise.
18627 * mkinstalldirs: Likewise.
18628
18629 * include/grub/console.h: Removed. This file is arch-specific. Do
18630 not put this in include/grub.
18631
18632 * include/grub/i386/pc/console.h: Resurrected.
18633
18634 * util/console.c: Include grub/machine/console.h instead of
18635 grub/console.h.
18636 * util/grub-emu.c: Likewise.
18637
267f6cd9 186382005-08-04 Marco Gerards <metgerards@student.han.nl>
18639
18640 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
18641 hardcoded value.
f19dbdb7 18642
267f6cd9 18643 From Vincent Pelletier <subdino2004@yahoo.fr>
18644 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
18645 Redefined to use grub_getwh.
18646 (grub_term): New member named getwh.
18647 (grub_getwh): New prototype.
18648 * kern/term.c (grub_getwh): New function.
18649 * term/i386/pc/console.c (grub_console_getwh): New function.
18650 (grub_console_term): New member `getwh'.
18651 * term/i386/pc/vga.c (grub_vga_getwh): New function.
18652 (grub_vga_term): New member `getwh'.
0b5abe02 18653 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 18654 grub_ssize_t.
18655 (grub_ofconsole_getw): New function.
18656 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
18657 (grub_ofconsole_term): New field named getwh and new initial
18658 value.
18659
3be7266d 186602005-08-03 Hollis Blanchard <hollis@penguinppc.org>
18661
18662 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
18663 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
18664 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
18665 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
18666 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
18667 of <grub/machine/ieee1275.h>.
18668 * commands/ieee1275/reboot.c: Likewise.
18669 * boot/powerpc/ieee1275/ieee1275.c: Move ...
18670 * kern/ieee1275.c: ... to here. All users updated. Change all
18671 parameter structs to use new type `grub_ieee1275_cell_t'.
18672 * term/powerpc/ieee1275/ofconsole.c: Move ...
18673 * term/ieee1275/ofconsole.c: ... to here. All users updated.
18674 * disk/powerpc/ieee1275/ofdisk.c: Move ...
18675 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
18676 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
18677 to return int.
18678 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
18679 Remove unused prototypes. All users updated.
18680 * include/grub/powerpc/ieee1275/console.h: Removed.
18681 * include/grub/powerpc/ieee1275/ieee1275.h: Define
18682 `grub_ieee1275_cell_t'.
18683 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
18684 Cast comparisons with -1 to the correct type.
18685 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
18686 type to match `grub_ieee1275_entry_fn'.
18687
8b5f3938 186882005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
18689
18690 * DISTLIST: Added util/i386/pc/grub-probefs.c.
18691
18692 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
18693 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
18694 partmap/sun.c.
18695 (grub_probefs_SOURCES): New variable.
18696
18697 * util/i386/pc/grub-probefs.c: New file.
18698
18699 * util/i386/pc/grub-setup.c (main): Call
18700 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
18701 grub_hfs_init and grub_jfs_init to initialize the system. Call
18702 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
18703 grub_pc_partition_map_fini to finish the system.
18704
ea409713 187052005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
18706
18707 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
18708 function.
18709 (grub_multiboot_load_elf32): Likewise.
18710 (grub_multiboot_is_elf64): Likewise.
18711 (grub_multiboot_load_elf64): Likewise.
18712 (grub_multiboot_load_elf): Likewise.
18713 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
18714 an ELF32 or ELF64 file.
18715 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
18716
18717 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
18718 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
18719 NULL before calling FS->LABEL.
18720 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
18721 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
18722 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
18723 before calling FS->LABEL.
18724
141a288b 187252005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
18726
18727 * util/i386/pc/grub-install.in (datadir): New variable.
18728 (libdir): Removed.
18729 (pkgdatadir): New variable.
18730 (pkglibdir): Removed.
18731
0d5f8a54 187322005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
18733
18734 * DISTLIST: Added util/i386/pc/grub-install.in.
18735
18736 * util/i386/pc/grub-install.in: New file.
18737
18738 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
18739 (grub_install_SOURCES): Likewise.
18740
18741 * genmk.rb: Added support for scripts.
18742 (Script): New class.
18743 (scripts): New variable.
18744
18745 * Makefile.in (install-local): Install sbin_SCRIPTS by
18746 INSTALL_SCRIPT.
18747 (uninstall): Remove sbin_SCRIPTS.
18748
18749 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
18750 device, try to get a GRUB device by
18751 grub_util_biosdisk_get_grub_dev.
18752 Free DEST_DEV.
18753
18754 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
18755 description for --device-map.
18756
5f968e1e 187572005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18758
18759 Change the semantics of variable hooks. They now return strings
18760 instead of error values.
f19dbdb7 18761
5f968e1e 18762 * util/i386/pc/grub-setup.c: Include grub/env.h.
18763 (setup): Use grub_device_set_root instead of grub_env_set.
18764
18765 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
18766 grub_env_get instead of grub_device_set_root and
18767 grub_device_get_root, respectively.
18768
18769 * kern/main.c (grub_env_write_root): New function.
18770 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
18771 grub_env_set instead of grub_device_set_root.
18772
18773 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
18774 many variables.
18775 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
18776 rather than calling ENV->WRITE_HOOK afterwards.
18777 (grub_env_get): Return the result of ENV->READ_HOOK rather than
18778 passing a pointer of a pointer.
18779 (grub_register_variable_hook): Change the types of "read_hook" and
18780 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
18781 respectively.
18782 Allocate the default empty string on the heap, because this string
18783 may be freed later.
18784
18785 * kern/device.c: Include grub/env.h.
18786 (grub_device_set_root): Removed.
18787 (grub_device_get_root): Likewise.
18788 (grub_device_open): Use grub_env_get instead of
18789 grub_device_get_root.
18790
18791 * include/grub/env.h (grub_env_read_hook_t): New type.
18792 (grub_env_write_hook_t): Likewise.
18793 (grub_env_var): Change the types of "read_hook" and "write_hook"
18794 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
18795 (grub_register_variable_hook): Likewise.
18796
18797 * include/grub/device.h (grub_device_set_root): Removed.
18798 (grub_device_set_root): Likewise.
18799
18800 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
18801 make sure that DIRNAME terminates with '/', so that
18802 grub_fat_find_dir will fail if PATH is not a directory.
18803
18804 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
18805 from DIRNAME.
18806 Use the qualifier auto for print_files and print_files_long.
18807 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
18808 as a regular file.
18809 Put a newline only if there is no error.
18810 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
18811 used.
18812
896f0afd 188132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18814
18815 * kern/partition.c (grub_partition_probe): Initialize PART to
18816 NULL. Otherwise, when no partition map is registered, this returns
18817 a garbage.
18818
b28b81b2 188192005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
18820
18821 * partmap/apple.c (apple_partition_map_iterate): Check if POS
18822 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
18823 valid.
18824
5f3607e0 188252005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
18826
18827 * commands/ls.c (grub_ls_list_disks): Print the filesystem
18828 information on each device, if it does not have partitions. Print
18829 "Device" instead of "Disk", because this function is not specific
18830 to disk devices.
18831
18832 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
18833 static to ensure that it is put on the memory rather than a
18834 register.
18835
502c87e8 188362005-07-17 Yoshinori Okuji <okuji@enbug.org>
18837
18838 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
18839 (grub_cat_init): Likewise.
18840 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
18841 (options): Likewise.
18842 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18843 (grub_configfile_init): Likewise.
18844 * font/manager.c (GRUB_MOD_INIT): Likewise.
18845 * commands/help.c (GRUB_MOD_INIT): Likewise.
18846 (grub_help_init): Likewise.
18847 * normal/command.c (grub_command_init): Likewise.
18848 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
18849 * disk/loopback.c (grub_loop_init): Likewise.
18850 (GRUB_MOD_INIT): Likewise.
18851 * commands/ls.c (grub_ls_init): Likewise.
18852 (GRUB_MOD_INIT): Likewise.
18853 (options): Likewise.
18854 * commands/boot.c (grub_boot_init): Likewise.
18855 (GRUB_MOD_INIT): Likewise.
18856 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
18857 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
18858 (GRUB_MOD_INIT): Likewise.
18859 * commands/cmp.c (grub_cmp_init): Likewise.
18860 (GRUB_MOD_INIT): Likewise.
18861
18862 * normal/arg.c: Use <> instead of "" to include header files.
18863 (SHORT_ARG_HELP): New macro.
18864 (SHORT_ARG_USAGE): Likewise.
18865 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
18866 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
18867 descriptions.
18868 (find_short): Check if C is 'h' or 'u' explicitly.
18869 (grub_arg_show_help): Use space characters instead of tabs. Treat
18870 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
18871 are shown with --help and --usage only if they are not used for
18872 the command itself.
18873 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
18874 'h' and 'u'.
18875
18876 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
18877 const into "longarg". Change the type of "shortarg" to int.
18878
f806d18e 188792005-07-17 Yoshinori Okuji <okuji@enbug.org>
18880
18881 * boot/i386/pc/boot.S (boot_drive_check): New label.
18882
18883 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
18884 macro.
18885
18886 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
18887 which do not pass a boot drive correctly. Copied from GRUB Legacy.
18888
e293232b 188892005-07-17 Yoshinori Okuji <okuji@enbug.org>
18890
18891 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
18892 When turning off Gate A20, skip the check and return immediately,
18893 because this is not fatal usually.
18894
ebedfd00 188952005-07-17 Yoshinori Okuji <okuji@enbug.org>
18896
18897 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
18898 be 0x7C00 instead of 0x8000.
18899
18900 * boot/i386/pc/pxeboot.S: Rewritten.
18901
18902 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
18903 EXT_C.
18904 (gate_a20_check_state): Read a byte from 0x108000. Invert the
18905 result.
18906
654fc59f 189072005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
18908
18909 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
18910 robustness. This routine now supports a BIOS call and System
18911 Control Port A to modify the gate A20.
18912
18913 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18914 Increased to 0x440.
18915
09f9923f 189162005-07-12 Hollis Blanchard <hollis@penguinppc.org>
18917
18918 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
18919 device path and resulting ihandle.
18920 (grub_ofdisk_close): dprintf the ihandle being closed.
18921 (grub_ofdisk_read): dprintf function parameters.
18922 * kern/mm.c (grub_mm_init_region): Likewise.
18923 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
18924 (grub_linux_boot): dprintf the Linux entry point, initrd address and
18925 size, and boot arguments.
18926 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
18927 before loading into memory.
18928 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
18929 before loading into memory.
18930
7ef504d8 189312005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
18932
18933 * kern/mm.c: Added much documentation.
18934 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
18935 8, set to 5 instead of 8.
18936
e0f050c2 189372005-07-10 Yoshinori Okuji <okuji@enbug.org>
18938
18939 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
18940
18941 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
18942 (grub_mkdevicemap_SOURCES): New variable.
18943
18944 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
18945 lib/device.c of GRUB Legacy.
18946
7224189a 189472005-07-10 Yoshinori Okuji <okuji@enbug.org>
18948
18949 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
18950 instead of PATH is NULL.
18951
68c864eb 189522005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
18953
18954 * commands/cmp.c (BUFFER_SIZE): New macro.
18955 (grub_cmd_cmp): Close the right file at the right time. Compare
18956 only data just read. Don't report files of different size as
18957 identical. Dynamically allocate buffers. Move variable
18958 declarations at the beginning of function.
18959
e6f3e614 189602005-07-09 Yoshinori Okuji <okuji@enbug.org>
18961
18962 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
18963 reverse.
18964
f8f1559a 189652004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
18966
18967 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
18968 when backspace is pressed at beginning of line.
18969
39c9d41d 189702005-07-03 Yoshinori Okuji <okuji@enbug.org>
18971
18972 * DISTLIST: Added genfslist.sh.
18973
18974 * normal/main.c (fs_module_list): New variable.
18975 (autoload_fs_module): New function.
18976 (read_fs_list): Likewise.
18977 (grub_normal_execute): Call read_fs_list.
18978
18979 * kern/fs.c (grub_fs_autoload_hook): New variable.
18980 (grub_fs_probe): Added support for auto-loading.
18981
18982 * include/grub/normal.h (struct grub_fs_module_list): New struct.
18983 (grub_fs_module_list_t): New type.
18984
18985 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
18986 (grub_fs_autoload_hook): New prototype.
18987
18988 * genfslist.sh: New file.
f19dbdb7 18989
39c9d41d 18990 * genmk.rb: Added a rule to generate a filesystem list.
18991
121c1d83 189922005-06-30 Marco Gerards <metgerards@student.han.nl>
18993
18994 * configure.ac: Fix the test for cross-compiling.
18995
18996 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
18997 define GRUB_UTIL anymore.
18998
18999 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
19000 so this function works on other systems than just big endian.
19001 (load_modules): Likewise.
19002 (add_segments): Likewise.
19003
e75d76e1 190042005-06-23 Hollis Blanchard <hollis@penguinppc.org>
19005
19006 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
19007 contains `l' modifier, get a long from va_arg().
19008
50b5a0a7 190092005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
19010
19011 * kern/mm.c (grub_free): If the next free block which is being
19012 merged is the first free block, set the first block to the block
19013 being freed.
19014 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
19015
89371b20 190162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
19017
19018 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
19019 `grub_ieee1275_chosen'.
19020
168d6e58 190212005-05-08 Hollis Blanchard <hollis@penguinppc.org>
19022
19023 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
19024 (grub_ieee1275_chosen): New variable.
19025 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
19026 `chosen'.
19027 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
19028 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
19029 Rename first argument to `phandle' for consistency.
19030 (grub_ieee1275_get_property_length): Likewise.
19031 (grub_ieee1275_next_property): Likewise. Change type of first argument
19032 to grub_ieee1275_phandle_t.
19033 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
19034 Move export next to declaration.
19035 (grub_ieee1275_chosen): New variable.
19036 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
19037 Correct cosmetic typo.
19038 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
19039 `grub_ieee1275_chosen'.
19040 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
19041 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
19042 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
19043 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
19044 `grub_ieee1275_chosen'.
19045
ca5baa3f 190462005-05-10 Hollis Blanchard <hollis@penguinppc.org>
19047
19048 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
19049 /chosen/bootargs.
19050 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
19051 /chosen/bootargs as "variable=value" pairs.
19052
708b345f 190532005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
19054
19055 * include/grub/misc.h (grub_dprintf): New macro.
19056 (grub_real_dprintf): New prototype.
19057 (grub_strword): Likewise.
19058 (grub_iswordseparator): Likewise.
19059 * kern/misc.c (grub_real_dprintf): New function.
19060 (grub_strword): Likewise.
19061 (grub_iswordseparator): Likewise.
19062
f4c5e67c 190632005-04-30 Hollis Blanchard <hollis@penguinppc.org>
19064
19065 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
19066 (roundup): Remove macro.
19067 (grub_ieee1275_flags): Make static.
19068 (grub_ieee1275_realmode): Remove.
19069 (grub_ieee1275_test_flag): New function.
19070 (grub_ieee1275_set_flag): Likewise.
19071 (find_options): Rename to `grub_ieee1275_find_options'; update
19072 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
19073 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
19074 (cmain): New prototype.
19075 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
19076 `grub_ieee1275_flags' directly.
19077 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
19078 machine/biosdisk.h.
19079 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
19080 Don't include grub/machine/init.h.
19081 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
19082 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
19083 Remove prototype.
19084 (grub_ieee1275_realmode): Likewise.
19085 (grub_ieee1275_flag): New enum.
19086 (grub_ieee1275_test_flag): New prototype.
19087 (grub_ieee1275_set_flag): New prototype.
19088 * include/grub/powerpc/ieee1275/init.h: Remove file.
19089 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
19090 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
19091 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
19092 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
19093 comment.
19094 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
19095 `grub_ieee1275_test_flag'.
19096 (grub_ieee1275_encode_devname): Likewise.
19097
ed16607e 190982005-04-21 Hollis Blanchard <hollis@penguinppc.org>
19099
19100 * include/grub/powerpc/ieee1275/ieee1275.h
19101 (grub_ieee1275_encode_devname): New prototype.
19102 (grub_ieee1275_get_filename): Likewise.
19103 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
19104 function.
19105 (grub_set_prefix): Likewise.
19106 (grub_machine_init): Call grub_set_prefix.
19107 * kern/powerpc/ieee1275/openfw.c: Fix typos.
19108 (grub_parse_type): New enum.
19109 (grub_ieee1275_get_devargs): New function.
19110 (grub_ieee1275_get_devname): Likewise.
19111 (grub_ieee1275_parse_args): Likewise.
19112 (grub_ieee1275_get_filename): Likewise.
19113 (grub_ieee1275_encode_devname): Likewise.
19114
be369920 191152005-03-30 Marco Gerards <metgerards@student.han.nl>
19116
19117 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
19118 `grub_loader_unset'.
19119
a5ce3a4a 191202005-03-26 Hollis Blanchard <hollis@penguinppc.org>
19121
19122 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
19123 instead of grub_ieee1275_interpret.
19124 (grub_halt_init): New function.
19125 (grub_halt_fini): Likewise.
19126 (GRUB_MOD_INIT): Correct message grammar.
19127 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
19128 instead of grub_ieee1275_interpret.
19129 (grub_reboot_init): New function.
19130 (grub_reboot_fini): Likewise.
19131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
19132 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
19133 util/i386/pc/misc.c with commands/ieee1275/halt.c,
19134 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
19135 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
19136 function.
19137 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
19138 Add prototype.
19139 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
19140 prototype.
19141 (grub_halt): Likewise.
19142 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
19143 (cmain): Remove __attribute__((unused)).
19144 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
19145 (grub_heap_len): Likewise.
19146 (grub_machine_fini): New function.
19147 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
19148 (grub_halt): Likewise.
19149 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
19150 function.
19151 * util/powerpc/ieee1275/misc.c: New file.
19152
0058f771 191532005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19154
19155 * DISTLIST: New file.
19156 * gendistlist.sh: Likewise.
f19dbdb7 19157
0058f771 19158 * Makefile.in (COMMON_DISTFILES): Removed.
19159 (BOOT_DISTFILES): Likewise.
19160 (CONF_DISTFILES): Likewise.
19161 (DISK_DISTFILES): Likewise.
19162 (FS_DISTFILES): Likewise.
19163 (INCLUDE_DISTFILES): Likewise.
19164 (KERN_DISTFILES): Likewise.
19165 (LOADER_DISTFILES): Likewise.
19166 (TERM_DISTFILES): Likewise.
19167 (UTIL_DISTFILES): Likewise.
19168 (DISTFILES): Likewise.
19169 (uninstall): Uninstall files in $(pkgdata_DATA).
19170 (DISTLIST): New target.
19171 (distdir): Use the contents of the file DISTLIST to get a list of
19172 distributed files.
19173
46b3b8a5 191742005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19175
19176 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
19177 descriptor. This is ported from GRUB Legacy.
19178
19179 * gencmdlist.sh: Added an extra semicolon to make it work with
19180 old sed versions. Reported by Robert Bihlmeyer
19181 <robbe@orcus.priv.at>.
19182
5822ff87 191832005-03-08 Yoshinori Okuji <okuji@enbug.org>
19184
19185 Automatic loading of commands is supported.
f19dbdb7 19186
5822ff87 19187 * normal/main.c (read_command_list): New function.
19188 (grub_normal_execute): Call read_command_list.
19189
19190 * normal/command.c (grub_register_command): Return zero or CMD.
19191 Allocate CMD->NAME from the heap.
19192 Initialize CMD->MODULE_NAME to zero.
19193 Find the same name as well. If the same command is found and it is
19194 a dummy command, overwrite members. If it is not a dummy command,
19195 return zero.
19196 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
19197 (grub_command_find): If a dummy command is found, load a module
19198 and retry to find a command only once.
19199
19200 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
19201 make sure that each command is loaded.
19202
19203 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
19204 macro.
19205 (struct grub_command): Remove const from the member `name'.
19206 Add a new member `module_name'.
19207 (grub_register_command): Return grub_command_t.
19208
19209 * commands/help.c (grub_cmd_help): Call grub_command_find to make
19210 sure that each command is loaded.
19211
19212 * genmk.rb (PModule::rule): Specify a module name without the
19213 suffix ".mod" to gencmdlist.sh.
19214
7b1f4b57 192152005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19216
19217 * gencmdlist.sh: New file.
f19dbdb7 19218
7b1f4b57 19219 * genmk.rb (PModule::rule): Generate a rule for a command list.
19220 Clean command.lst.
19221 Generate command.lst from $(COMMANDFILES).
19222
19223 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
19224 (DATA): Added $(pkgdata_DATA).
19225 (install-local): Install files in $(pkgdata_DATA).
19226
062aaf39 192272005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19228
19229 * term/i386/pc/vga.c (debug_command): Removed.
19230 (GRUB_MOD_INIT): Do not register the command "debug".
19231
19232 From Hollis Blanchard:
19233 * commands/configfile.c: New file.
19234 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19235 commands/configfile.c.
19236 (pkgdata_MODULES): Added configfile.mod.
19237 (configfile_mod_SOURCES): New variable.
19238 (configfile_mod_CFLAGS): Likewise.
19239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19240 commands/configfile.c.
19241 (pkgdata_MODULES): Added configfile.mod.
19242 (configfile_mod_SOURCES): New variable.
19243 (configfile_mod_CFLAGS): Likewise.
19244 * util/grub-emu.c (main): Call grub_configfile_init and
19245 grub_configfile_fini.
19246 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
19247 prototype.
19248 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 19249
cee01aa6 192502005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19251
19252 * normal/arg.c (grub_arg_show_help): Do not show the bug report
19253 address.
19254
19255 * commands/help.c (grub_cmd_help): Do not print newlines after
19256 the last command in print_command_help.
19257
93f3a1d8 192582005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19259
19260 * commands/default.h: New file.
19261 * commands/timeout.h: Likewise.
19262 * normal/context.c: Likewise.
f19dbdb7 19263
93f3a1d8 19264 * util/misc.c: Do not include sys/times.h.
19265 Include sys/time.h and grub/machine/time.h.
19266 (grub_get_rtc): Rewritten with gettimeofday.
19267
19268 * util/grub-emu.c (main): Call grub_default_init and
19269 grub_timeout_init before grub_normal_init, and call
19270 grub_timeout_fini and grub_default_fini after grub_main.
19271
19272 * util/console.c (grub_ncurses_checkkey): Return the read
19273 character or -1.
19274
19275 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
19276 timeouts.
19277
19278 * normal/main.c (read_config_file): Push MENU. If this fails,
19279 print an error and wait for a user input.
19280 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
19281 If a menu is empty or an error occurs, pop MENU.
19282 (grub_normal_execute): Pop and free MENU after grub_menu_run
19283 returns.
19284
19285 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
19286
19287 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
19288 include time.h.
19289 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19290 without GRUB_UTIL.
19291 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
19292 time.h.
19293 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19294 without GRUB_UTIL.
19295
19296 * include/grub/normal.h (struct grub_menu_list): New struct.
19297 (grub_menu_list_t): New type.
19298 (struct grub_context): New struct.
19299 (grub_context_t): New type.
19300 (grub_register_command): Got rid of EXPORT_FUNC.
19301 (grub_unregister_command): Likewise.
19302 (grub_context_get): New prototype.
19303 (grub_context_get_current_menu): Likewise.
19304 (grub_context_push_menu): Likewise.
19305 (grub_context_pop_menu): Likewise.
19306 [GRUB_UTIL] (grub_default_init): Likewise.
19307 [GRUB_UTIL] (grub_default_fini): Likewise.
19308 [GRUB_UTIL] (grub_timeout_init): Likewise.
19309 [GRUB_UTIL] (grub_timeout_fini): Likewise.
19310
19311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
19312 commands/timeout.c and normal/context.c.
19313 (pkgdata_MODULES): Added default.mod and timeout.mod.
19314 (normal_mod_SOURCES): Added normal/context.c.
19315 (default_mod_SOURCES): New variable.
19316 (default_mod_CFLAGS): Likewise.
19317 (timeout_mod_SOURCES): Likewise.
19318 (timeout_mod_CFLAGS): Likewise.
19319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
19320 conf/i386-pc.rmk.
19321 (pkgdata_MODULES): Added default.mod and timeout.mod.
19322 (normal_mod_SOURCES): Added normal/context.c.
19323 (default_mod_SOURCES): New variable.
19324 (default_mod_CFLAGS): Likewise.
19325 (timeout_mod_SOURCES): Likewise.
19326 (timeout_mod_CFLAGS): Likewise.
19327
19328 * Makefile.in (all-local): Added $(MKFILES).
19329
4ed2e1dd 193302005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
19331
19332 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
19333 (grub_emu_SOURCES): Likewise.
19334 (pkgdata_MODULES): Add `sun.mod'.
19335 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19337 `partmap/sun.c'.
19338 (pkgdata_MODULES): Add `sun.mod'.
19339 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19340 * include/grub/partition.h (grub_sun_partition_map_init): New
19341 prototype.
19342 (grub_sun_partition_map_fini): Likewise.
19343 * partmap/sun.c: New file.
19344 * util/grub-emu.c (main): Initialize and de-initialize the sun
19345 partitionmap support.
19346
4d4e372e 193472005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
19348
19349 This implements an Emacs-like menu entry editor.
f19dbdb7 19350
4d4e372e 19351 * normal/menu_entry.c: New file.
f19dbdb7 19352
4d4e372e 19353 * util/console.c (grub_ncurses_putchar): Translate some Unicode
19354 characters to ASCII.
19355 (saved_char): New variable.
19356 (grub_ncurses_checkkey): Rewritten completely.
19357 (grub_ncurses_getkey): Likewise.
19358 (grub_ncurses_init): Call raw instead of cbreak.
19359
19360 * normal/menu.c (print_entry): Do not put a space.
19361 (init_page): Renamed to ...
19362 (grub_menu_init_page): ... this. All callers changed.
19363 (edit_menu_entry): Removed.
19364 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
19365
19366 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
19367
19368 * kern/misc.c (grub_vprintf): Call grub_refresh.
19369
19370 * normal/menu.c (DISP_LEFT): Renamed to ...
19371 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
19372 * normal/menu.c (DISP_UP): Renamed to ...
19373 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
19374 * normal/menu.c (DISP_RIGHT): Renamed to ...
19375 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
19376 * normal/menu.c (DISP_DOWN): Renamed to ...
19377 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
19378 * normal/menu.c (DISP_HLINE): Renamed to ...
19379 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
19380 * normal/menu.c (DISP_VLINE): Renamed to ...
19381 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
19382 * normal/menu.c (DISP_UL): Renamed to ...
19383 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
19384 * normal/menu.c (DISP_UR): Renamed to ...
19385 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
19386 * normal/menu.c (DISP_LL): Renamed to ...
19387 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
19388 * normal/menu.c (DISP_LR): Renamed to ...
19389 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
19390 * normal/menu.c (TERM_WIDTH): Renamed to ...
19391 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
19392 * normal/menu.c (TERM_HEIGHT): Renamed to ...
19393 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
19394 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
19395 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
19396 * normal/menu.c (TERM_MARGIN): Renamed to ...
19397 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
19398 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
19399 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
19400 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
19401 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
19402 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
19403 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
19404 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
19405 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
19406 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
19407 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
19408 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
19409 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
19410 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
19411 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
19412 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
19413 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
19414 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
19415 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
19416 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
19417 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
19418 All callers changed.
19419
19420 * include/grub/normal.h: New prototype.
19421
19422 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19423 normal/menu_entry.c.
19424 (normal_mod_SOURCES): Likewise.
19425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19426 (normal_mod_SOURCES): Likewise.
19427
e6b92c8a 194282005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
19429
19430 * include/grub/normal.h (grub_halt_init): New prototype.
19431 (grub_halt_fini): Likewise.
19432 (grub_reboot_init): Likewise.
19433 (grub_reboot_fini): Likewise.
19434
19435 * util/grub-emu.c: Include signal.h.
19436 (main_env): New global variable.
19437 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
19438 catch C-c.
19439 (grub_machine_fini): New function.
19440 (main): Call grub_halt_init and grub_reboot_init before
19441 grub_main, and grub_reboot_fini and grub_halt_fini after it.
19442 Call setjmp with MAIN_ENV to go back afterwards.
19443 Call grub_machine_fini right before return.
19444
19445 * include/grub/util/misc.h: Include setjmp.h.
19446 (main_env): New prototype.
19447
19448 * include/grub/kernel.h (grub_machine_fini): New prototype.
19449 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
19450 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
19451
19452 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
19453 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
19454 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 19455
e6b92c8a 19456 * util/i386/pc/misc.c: New file.
f19dbdb7 19457
e6b92c8a 19458 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19459 util/i386/pc/misc.c, commands/i386/pc/halt.c and
19460 commands/i386/pc/reboot.c.
19461
c642636f 194622005-02-14 Guillem Jover <guillem@hadrons.org>
19463
19464 * include/grub/dl.h (grub_dl_check_header): New prototype.
19465 (grub_arch_dl_check_header): Change return type to grub_err_t,
19466 remove size parameter and export function. Update all callers.
19467 * kern/dl.c (grub_dl_check_header): New function.
19468 (grub_dl_load_core): Use `grub_dl_check_header' instead of
19469 `grub_arch_dl_check_header'. Check ELF type. Check if sections
19470 are inside the core.
19471 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
19472 independent ELF header checks.
19473 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19474 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
19475 `grub_dl_check_header' instead of explicit checks. Check for the
19476 ELF type.
19477 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
19478 `grub_dl_check_header' instead of explicit checks. Remove arch
19479 specific ELF header checks.
19480
e6b92c8a 19481 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
19482 argument SIZE.
19483
5eabe94b 194842005-02-13 Hollis Blanchard <hollis@penguinppc.org>
19485
19486 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
19487 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
19488
1b14a681 194892005-02-12 Hollis Blanchard <hollis@penguinppc.org>
19490
19491 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 19492 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 19493 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 19494 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 19495 * partmap/amiga.c (amiga_partition_map_iterate): Return
19496 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
19497 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19498
aca108aa 194992005-02-01 Guillem Jover <guillem@hadrons.org>
19500
19501 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
19502 help info.
19503
c9f9c556 195042005-01-31 Marco Gerards <metgerards@student.han.nl>
19505
19506 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
19507 Removed prototype.
19508 (grub_rescue_cmd_linux): New prototype.
19509 (grub_rescue_cmd_initrd): Likewise.
19510 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
19511 `bi_rec'.
19512 (grub_linux_release_mem): Release the memory for the initrd.
19513 (grub_load_linux): Renamed from this...
19514 (grub_rescue_cmd_linux): ...To this. Changed all callers.
19515 Changed `entry' not to be static. Loop over memory regions to
19516 find another one when the default fails.
19517 (grub_rescue_cmd_initrd): New function.
19518 (grub_linux_init): Remove function.
19519 (grub_linux_fini): Likewise.
19520 (GRUB_MOD_INIT): Register `initrd'.
19521 (GRUB_MOD_FINI): Unregister `initrd'.
19522 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
19523 Function removed.
19524 (grub_linux_normal_fini): Likewise.
19525 (GRUB_MOD_INIT): Register `initrd'.
19526 (GRUB_MOD_FINI): Unregister `initrd'.
19527
990cf3aa 195282005-01-31 Marco Gerards <metgerards@student.han.nl>
19529
19530 * commands/help.c: New file.
19531 * normal/arg.c (show_help): Renamed to...
19532 (grub_arg_show_help): ... this.
19533 * commands/i386/pc/halt.c: New file.
19534 * commands/i386/pc/reboot.c: Likewise.
19535 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
19536 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
19537 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
19538 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
19539 variables.
19540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19541 `commands/help.c'.
19542 (pkgdata_MODULES): Add `help.mod'.
19543 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
19544 * grub/i386/pc/init.h (grub_reboot): New prototype.
19545 (grub_halt): Likewise.
19546 * include/grub/normal.h (grub_arg_show_help): New prototype.
19547 (grub_help_init): Likewise.
19548 (grub_help_fini): Likewise.
19549 * util/grub-emu.c (main): Initialize and deinitialize the help
19550 command.
19551
19552 * normal/cmdline.c (grub_cmdline_get): Doc fix.
19553
19554 * normal/command.c (grub_command_init): Fixed the description of
19555 the `set' and `unset' commands.
19556
195572005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 19558
19559 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
19560 function.
19561 * commands/ieee1275/halt.c: New file.
19562 * commands/ieee1275/reboot.c: Likewise.
19563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
19564 `__attribute__ ((unused))'. Some GCS related fixed.
19565 (grub_suspend_init) [GRUB_UTIL]: Function removed.
19566 (grub_suspend_fini): Likewise.
19567 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
19568 and `halt.mod'.
19569 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
19570 (halt_mod_CFLAGS): New variables.
19571 * include/grub/powerpc/ieee1275/ieee1275.h
19572 (grub_ieee1275_interpret): New prototype.
19573
1ab09cc7 195742005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
19575
19576 * include/grub/misc.h (memmove): New prototype.
19577 (memcpy): Likewise.
19578
8b8cbdb2 195792005-01-22 Hollis Blanchard <hollis@penguinppc.org>
19580
19581 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
19582 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
19583
e3741a27 195842005-01-22 Marco Gerards <metgerards@student.han.nl>
19585
19586 * kern/misc.c (grub_strndup): Function rewritten.
19587
776bd780 195882005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
19589
19590 * normal/menu.c (TERM_WIDTH): Macro redefined.
19591 (TERM_TOP_BORDER_Y): Likewise.
19592 (draw_border): Replaced while-loop by a for-loop. Make the number
19593 of lines consistent with the number of lines displayed in
19594 print_entries. Added a margin below the rectangle.
19595 (print_entry): Make the entry fit in the rectangle.
19596 (print_entries): Display the scroll arrows next to the right
19597 border.
19598
78026bce 195992005-01-21 Marco Gerards <metgerards@student.han.nl>
19600
19601 * fs/minix.c (grub_minix_find_file): Reserve more space for
19602 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
19603 `grub_strncpy' to copy `path' into it.
19604
67bbaf0f 196052005-01-21 Marco Gerards <metgerards@student.han.nl>
19606
19607 Add the loopback device, a device via which files can be accessed
19608 as devices.
f19dbdb7 19609
67bbaf0f 19610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
19611 (pkgdata_MODULES): Add loopback.mod.
19612 (loopback_mod_SOURCES): New variable.
19613 (loopback_mod_CFLAGS): Likewise.
19614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19615 `disk/loopback.c'.
19616 (pkgdata_MODULES): Add loopback.mod.
19617 (loopback_mod_SOURCES): New variable.
19618 (loopback_mod_CFLAGS): Likewise.
19619 * disk/loopback.c: new file.
19620 * include/grub/normal.h (grub_loop_init): New prototype.
19621 (grub_loop_fini): New prototype.
19622 * util/grub-emu.c (main): Initialize and de-initialize loopback
19623 support.
19624 * include/grub/disk.h (grub_disk_dev_id): Add
19625 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
19626
6f1c18bd 196272005-01-20 Hollis Blanchard <hollis@penguinppc.org>
19628
19629 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
19630 function.
19631 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
19632 (suspend_mod_SOURCES): New variable.
19633 (suspend_mod_CFLAGS): Likewise.
19634 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
19635 New prototype.
19636 * commands/ieee1275/suspend.c: New file.
19637
b38551da 196382005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19639
19640 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 19641 ((unused))' to `__attribute__ ((used))'.
b38551da 19642 (GRUB_MOD_FINI): Likewise.
19643 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
19644 * genmk.rb (PModule): Assign space to common symbols when linking
19645 modules.
19646
777aff39 196472005-01-20 Marco Gerards <metgerards@student.han.nl>
19648
19649 * include/grub/mm.h (grub_mm_init_region): Change the type of the
19650 `unsigned' arguments to `grub_size_t'.
19651 (grub_malloc): Likewise.
19652 (grub_realloc): Likewise.
19653 (grub_memalign): Likewise.
19654 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
19655 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19656 * util/misc.c (grub_malloc): Likewise.
19657 (grub_realloc): Likewise.
19658 * kern/mm.c (get_header_from_pointer): Change the casts to
19659 `unsigned' into a cast to `grub_size_t'.
19660
19661 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
19662 point to `currnode' when `currnode' is changed.
19663
19664 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
19665 Schottelius <nico-linux@schottelius.org>.
19666
d0ff18e1 196672005-01-09 Hollis Blanchard <hollis@penguinppc.org>
19668
19669 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
19670 (note_path): Remove variable.
19671 (GRUB_IEEE1275_NOTE_NAME): New macro.
19672 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
19673 (grub_ieee1275_note_hdr): New structure.
19674 (grub_ieee1275_note_desc): Likewise.
19675 (grub_ieee1275_note): Likewise.
19676 (load_note): Remove `dir' argument. All callers updated. Remove
19677 `note_img' and `path'. Do not load a file from `note_path'.
19678 Initialize a struct grub_ieee1275_note and write that to `out'.
19679 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
19680
4ca7004c 196812005-01-05 Marco Gerards <metgerards@student.han.nl>
19682
19683 * util/misc.c (grub_util_read_image): Revert last change. It
19684 called `grub_util_read_at', which seeks from the beginning of the
19685 file.
19686
0b412211 196872005-01-04 Hollis Blanchard <hollis@penguinppc.org>
19688
19689 * TODO: Add note about endianness in grub-mkimage.
19690 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
19691 section.
19692 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
19693 (grub_mkimage_SOURCES): New target.
19694 * include/grub/kernel.h (grub_start_addr): Remove variable.
19695 (grub_end_addr): Likewise.
19696 (grub_total_module_size): Likewise.
19697 (grub_kernel_image_size): Likewise.
19698 (GRUB_MODULE_MAGIC): New constant.
19699 (grub_module_info): New structure.
19700 (grub_arch_modules_addr): New prototype.
19701 (grub_get_end_addr): Remove prototype.
19702 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
19703 * include/grub/powerpc/ieee1275/kernel.h: New file.
19704 * include/grub/util/misc.h (grub_util_get_fp_size): New
19705 prototype.
19706 (grub_util_read_at): Likewise.
19707 (grub_util_write_image_at): Likewise.
19708 * kern/main.c (grub_get_end_addr): Remove function.
19709 (grub_load_modules): Call grub_arch_modules_addr instead of using
19710 grub_end_addr. Look for a grub_module_info struct in memory. Use
19711 the grub_module_info fields instead of calling grub_get_end_addr
19712 as loop conditions. Move grub_add_unused_region code here.
19713 (grub_add_unused_region): Remove function.
19714 * kern/i386/pc/init.c: Include grub/cache.h.
19715 (grub_machine_init): Remove call to grub_get_end_addr. Remove
19716 one call to add_mem_region.
19717 (grub_arch_modules_addr): New function.
19718 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
19719 (grub_total_module_size): Likewise.
19720 Include grub/machine/kernel.h.
19721 (grub_arch_modules_addr): New function.
19722 * util/grub-emu.c (grub_end_addr): Remove variable.
19723 (grub_total_module_size): Likewise.
19724 (grub_arch_modules_addr): New function.
19725 * util/misc.c: Include unistd.h.
19726 (grub_util_get_fp_size): New function.
19727 (grub_util_read_at): Likewise.
19728 (grub_util_write_image_at): Likewise.
19729 (grub_util_read_image): Call grub_util_read_at.
19730 (grub_util_write_image): Call grub_util_write_image_at.
19731 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
19732 additional memory in kernel_img for a struct grub_module_info.
19733 Fill in that grub_module_info.
19734 * util/powerpc/ieee1275/grub-mkimage.c: New file.
19735
458786f8 197362005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19737
19738 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
19739 New function.
19740 * include/grub/powerpc/ieee1275/ieee1275.h
19741 (grub_ieee1275_milliseconds): New prototype.
19742 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
19743 Change to 1000.
19744 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
19745 grub_ieee1275_milliseconds.
19746
ac507d1b 197472005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19748
19749 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
19750 variable.
19751 (find_options): New function.
19752 (cmain): Call find_options.
19753 * include/grub/powerpc/ieee1275/ieee1275.h
19754 (grub_ieee1275_realmode): New extern variable.
19755 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
19756 grub_map if grub_ieee1275_realmode is false.
19757
6b8fd1c4 197582004-12-29 Marco Gerards <metgerards@student.han.nl>
19759
19760 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
19761 lines are inserted and make it work like readline. Reported by
19762 Vincent Pelletier <subdino2004@yahoo.fr>.
19763
8514a1e0 197642004-12-28 Marco Gerards <metgerards@student.han.nl>
19765
19766 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
19767
19768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
19769 `kern/powerpc/cache.S'.
19770
924b6140 197712004-12-27 Marco Gerards <metgerards@student.han.nl>
19772
19773 * genmk.rb: Handle the `Program' class in the main loop. Written
19774 by Johan Rydberg <jrydberg@gnu.org>.
19775 (Program): New class.
19776 (programs): New variable.
19777 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
19778 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
19779 instead of "grub/kernel.h". Include <grub/machine/init.h>.
19780 (help_arch): Function removed.
19781 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
19782 `powerpc/libgcc.h' and `loader.h'.
19783 (pkgdata_PROGRAMS): New variable.
19784 (sbin_UTILITIES): Variable removed.
19785 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
19786 (grubof_SOURCES): Variable re-defined so it only includes the
19787 core functionality.
19788 (grubof_CFLAGS): Remove `-DGRUBOF'.
19789 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
19790 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
19791 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
19792 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
19793 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
19794 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
19795 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
19796 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
19797 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
19798 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
19799 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19800 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
19801 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
19802 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
19803 (pc_mod_CFLAGS): New variables.
19804 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
19805 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
19806 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
19807 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
19808 Moved from here...
19809 * include/grub/i386/pc/init.h (grub_os_area_addr)
19810 (rub_os_area_size): ... to here.
19811 * include/grub/powerpc/ieee1275/ieee1275.h
19812 (grub_ieee1275_entry_fn): Export symbol.
19813 * include/grub/powerpc/ieee1275/init.h: New file.
19814 * include/grub/powerpc/libgcc.h: Likewise.
19815 * include/grub/cache.h: Likewise.
19816 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
19817 <hollis@penguinppc.org>.
19818 * kern/dl.c: Include <grub/cache.h>.
19819 (grub_dl_flush_cache): New function.
19820 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
19821 for this module.
19822 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
19823 (grub_console_init): Removed prototypes.
19824 (grub_machine_init): Don't initialize the modules anymore.
19825 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
19826 static.
19827 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
19828 Macro undef removed.
19829 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
19830 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
19831 relocation `R_PPC_REL32'. Return an error when the relocation is
19832 unknown.
19833 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
19834 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
19835 * util/misc.c (grub_arch_sync_caches): Likewise.
19836
e4b47e0c 198372004-12-19 Marco Gerards <metgerards@student.han.nl>
19838
19839 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
19840 `symlist.c', add `grubof_symlist.c'.
19841 (symlist.c): Variable removed.
19842 (grubof_HEADERS): Variable added.
19843 (grubof_symlist.c): New target.
19844 (kernel_syms.lst): Use `grubof_HEADERS' instead of
19845 `kernel_img_HEADERS'.
19846 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
19847 * kern/powerpc/dl.c: New file.
19848 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
19849 Function removed.
19850 (grub_arch_dl_relocate_symbols): Likewise.
19851 (grub_register_exported_symbols): Likewise.
19852
4ceb3636 198532004-12-13 Marco Gerards <metgerards@student.han.nl>
19854
19855 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
19856 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
19857 to fail instead. Reported by Vincent Pelletier
19858 <subdino2004@yahoo.fr>.
19859
19860 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
19861 it is not allocated. Reported by Vincent Pelletier
19862 <subdino2004@yahoo.fr>.
19863
19864 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
19865 output so the output looks better.
f19dbdb7 19866
3f1578fe 198672004-12-04 Marco Gerards <metgerards@student.han.nl>
19868
19869 Modulize the partition map support and add support for the amiga
19870 partition map.
f19dbdb7 19871
3f1578fe 19872 * commands/ls.c: Include <grub/partition.h> instead of
19873 <grub/machine/partition.h>.
19874 * kern/disk.c: Likewise.
19875 * kern/rescue.c: Likewise.
19876 * loader/i386/pc/chainloader.c: Likewise.
19877 * normal/cmdline.c: Likewise.
19878 * kern/powerpc/ieee1275/init.c: Likewise.
19879 (grub_machine_init): Call `grub_pc_partition_map_init',
19880 `grub_amiga_partition_map_init' and
19881 `grub_apple_partition_map_init'.
19882 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
19883 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
19884 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
19885 `partition.h' and `pc_partition.h'.
19886 (grub_setup_SOURCES): Remove
19887 `disk/i386/pc/partition.c'. Add `kern/partition.c',
19888 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
19889 (grub_emu_SOURCES): Likewise.
19890 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
19891 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
19892 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
19893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
19894 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
19895 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
19896 (grubof_SOURCES): Likewise.
19897 * disk/i386/pc/partition.c: File removed.
19898 * disk/powerpc/ieee1275/partition.c: Likewise.
19899 * include/grub/powerpc/ieee1275/partition.h: Likewise.
19900 * include/grub/i386/pc/partition.h: Likewise.
19901 * kern/partition.c: New file.
19902 * partmap/amiga.c: Likewise.
19903 * partmap/apple.c: Likewise.
19904 * partmap/pc.c: Likewise.
19905 * include/grub/partition.h: Likewise..
19906 * include/grub/pc_partition.h: Likewise.
19907 * util/grub-emu.c: Include <grub/partition.h> instead of
19908 <grub/machine/partition.h>.
19909 (main): Call `grub_pc_partition_map_init',
19910 `grub_amiga_partition_map_init' and
19911 `grub_apple_partition_map_init' and deinitialize afterwards.
19912 * util/i386/pc/biosdisk.c: Include `#include
19913 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
19914 `<grub/machine/partition.h>'.
19915 * util/i386/pc/grub-setup.c: Likewise.
19916 * util/i386/pc/biosdisk.c: Likewise.
19917 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
19918 partition information in case of a PC partition.
19919 * util/i386/pc/grub-setup.c: Include `#include
19920 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
19921 `<grub/machine/partition.h>'.
19922 (setup): Only access the PC specific partition information in case
19923 of a PC partition.
19924
0ef4ced9 199252004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 19926
0ef4ced9 19927 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
19928 (grub_longjmp): Likewise.
19929 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
19930 20.
19931 * normal/powerpc/setjmp.S: New file.
19932 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
19933 `normal/powerpc/setjmp.S'.
19934 (grubof_CFLAGS): Add `-DGRUBOF'.
19935 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
19936 [GRUB_UTIL && !GRUBOF].
f19dbdb7 19937
19950e29 199382004-11-16 Marco Gerards <metgerards@student.han.nl>
19939
19940 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
19941 property named `name'. Correctly handle the error returned by
19942 `grub_ieee1275_finddevice' if a device can not be opened.
19943
a2fea427 199442004-11-02 Hollis Blanchard <hollis@penguinppc.org>
19945
19946 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
19947 `actual' for negativity.
19948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
19949 kern/fshelp.c.
19950
41ea0ea3 199512004-11-01 Marco Gerards <metgerards@student.han.nl>
19952
19953 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
19954 (PAGE_OFFSET): New macro.
19955 (CRTC_ADDR_PORT): Likewise.
19956 (CRTC_DATA_PORT): Likewise.
19957 (START_ADDR_HIGH_REGISTER): Likewise.
19958 (START_ADDR_LOW_REGISTER): Likewise.
19959 (GRAPHICS_ADDR_PORT): Likewise.
19960 (GRAPHICS_DATA_PORT): Likewise.
19961 (READ_MAP_REGISTER): Likewise.
19962 (INPUT_STATUS1_REGISTER): Likewise.
19963 (INPUT_STATUS1_VERTR_BIT): Likewise.
19964 (page): New variable.
19965 (wait_vretrace): New function.
19966 (set_read_map): Likewise.
19967 (set_start_address): Likewise.
19968 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
19969 the right page.
19970 (check_vga_mem): Take the page into account.
19971 (write_char): Likewise.
19972 (write_cursor): Likewise.
19973 (scroll_up): Likewise. Copy the page to the page that is not
19974 shown and switch between both pages.
19975 (grub_vga_putchar): Fix off by one error.
19976 (grub_vga_cls): Wait for the vertical retrace. Take the page into
19977 account.
19978
ad0bd20b 199792004-11-01 Marco Gerards <metgerards@student.han.nl>
19980
19981 Add support for iso9660 (including rockridge).
f19dbdb7 19982
ad0bd20b 19983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
19984 (iso9660_mod_SOURCES): New variable.
19985 (iso9660_mod_CFLAGS): Likewise.
19986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
19987 * include/grub/fs.h (grub_iso9660_init): New prototype.
19988 * util/grub-emu.c (main): Call `grub_iso9660_init'.
19989 * fs/iso9660.c: New file.
19990
19991 * include/grub/misc.h (grub_strncat): New prototype.
19992 * kern/misc.c (grub_strncat): New function.
f19dbdb7 19993
ad0bd20b 19994 * fs/hfs.c (grub_hfs_mount): Translate the error
19995 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
19996 * fs/jfs.c (grub_jfs_mount): Likewise.
19997 * fs/ufs.c (grub_ufs_mount): Likewise.
19998
a5477a59 199992004-10-28 Hollis Blanchard <hollis@penguinppc.org>
20000
20001 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
20002 which initialized BAT registers.
20003 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
20004 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20005 Move from here...
20006 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
20007 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20008 ... to here.
20009 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
20010 (grub_mapclaim): Likewise.
20011 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
20012 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
20013 hand.
20014
9304c1f8 200152004-10-19 Hollis Blanchard <hollis@penguinppc.org>
20016
20017 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
20018 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
20019 -ffreestanding and -msoft-float.
20020
86f4ae25 200212004-10-15 Hollis Blanchard <hollis@penguinppc.org>
20022
20023 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
20024 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
20025 set in grub_ieee1275_flags.
20026
38912228 200272004-10-14 Hollis Blanchard <hollis@penguinppc.org>
20028
20029 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
20030 prototype.
20031 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
20032 grub_console_init first.
20033 Change the memory range used for grub_ieee1275_claim and
20034 grub_mm_init_region.
20035 Print an error message if the claim fails.
20036 Include <grub/misc.h>.
20037
d1923dc8 200382004-10-13 Hollis Blanchard <hollis@penguinppc.org>
20039
20040 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
20041 Call grub_children_iterate for device nodes of type `scsi',
20042 `ide', or `ata'.
20043 (grub_ofdisk_open): Remove manual device alias resolution.
20044 Fix memory leak when device cannot be opened.
f19dbdb7 20045 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 20046 (grub_children_iterate): New prototype.
20047 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
20048 New function.
20049 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20050 Return -1 if args.size was -1.
20051
4512e4f3 200522004-10-11 Hollis Blanchard <hollis@penguinppc.org>
20053
20054 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
20055 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
20056 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
20057 Open Firmware's memory for it; claim memory from _start to _end.
20058 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
20059 (_end): New extern.
20060 (_start): Zero BSS from __bss_start to _end.
20061 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
20062 New extern.
20063 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
20064
4d61feb0 200652004-10-11 Hollis Blanchard <hollis@penguinppc.org>
20066
ad0bd20b 20067 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
20068 -1 if args.base was -1.
4d61feb0 20069
026fa2f9 200702004-10-08 Hollis Blanchard <hollis@penguinppc.org>
20071
20072 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
20073 escape sequence instead of a literal ^L. Also call
20074 grub_ofconsole_gotoxy.
20075
9f2220ef 200762004-10-03 Hollis Blanchard <hollis@penguinppc.org>
20077
20078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
20079 void * arguments to grub_addr_t. All callers updated. Also make
20080 the `result' argument optional.
20081 (grub_ieee1275_release): change void * arguments to grub_addr_t.
20082 All callers updated.
20083
8a572cd7 200842004-09-22 Hollis Blanchard <hollis@penguinppc.org>
20085
20086 * commands/ls.c (grub_ls_list_files): Use the string following the
20087 initial ')', if present, as the filesystem path.
20088 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
20089
20090 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
20091
18aa81f2 200922004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
20093
20094 Make the source code of the menu interface more readable.
f19dbdb7 20095
18aa81f2 20096 * normal/menu.c: Include grub/mm.h.
20097 (TERM_WIDTH): New macro.
20098 (TERM_HEIGHT): Likewise.
20099 (TERM_INFO_HEIGHT): Likewise.
20100 (TERM_MARGIN): Likewise.
20101 (TERM_SCROLL_WIDTH): Likewise.
20102 (TERM_TOP_BORDER_Y): Likewise.
20103 (TERM_LEFT_BORDER_X): Likewise.
20104 (TERM_BORDER_WIDTH): Likewise.
20105 (TERM_MESSAGE_HEIGHT): Likewise.
20106 (TERM_BORDER_HEIGHT): Likewise.
20107 (TERM_NUM_ENTRIES): Likewise.
20108 (TERM_FIRST_ENTRY_Y): Likewise.
20109 (TERM_ENTRY_WIDTH): Likewise.
20110 (TERM_CURSOR_X): Likewise.
20111 (draw_border): Use macros instead of magic numbers.
20112 (print_entry): Likewise.
20113 (print_entries): Likewise.
20114 (run_menu): Likewise. Also, handle the key 'e'.
20115 (run_menu_entry): Ignore empty command lines.
20116 (print_message): Added a new argument EDIT. If EDIT is true,
20117 print a different message.
20118 (init_page): Likewise.
20119 (edit_menu_entry): New function. Not implemented yet.
20120
b47efe30 201212004-09-17 Marco Gerards <metgerards@student.han.nl>
20122
20123 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
20124 can be loaded from normal mode.
f19dbdb7 20125
b47efe30 20126 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
20127 `multiboot.mod'.
20128 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
20129 (multiboot_mod_CFLAGS): New variables.
20130 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 20131 * loader/i386/pc/multiboot_normal.c: Likewise.
20132
b47efe30 20133 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
20134 attribute `unused'.
f19dbdb7 20135
b47efe30 20136 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
20137 `fdiro' to read the mode information from instead of `diro'.
20138
20139 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
20140 looking up a symlink.
20141
20142 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
20143 macro.
20144 * normal/command.c (grub_command_execute): Don't parse the
20145 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
20146 flags of the command.
20147
20148 * normal/menu.c (grub_menu_run): Fix typo.
20149
da75ac71 201502004-09-14 Hollis Blanchard <hollis@penguinppc.org>
20151
20152 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
20153
20154 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
20155 `y + 1' instead of `y - 1'.
20156
20157 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 20158
062b24c2 201592004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
20160
20161 From Hollis Blanchard <hollis@penguinppc.org>:
20162 * kern/misc.c (memmove): New alias for grub_memmove.
20163 (memcmp): New alias for grub_memcmp.
20164 (memset): New alias for grub_memset.
f19dbdb7 20165 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 20166 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 20167 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 20168 (grub_ieee1275_get_property): Likewise.
f19dbdb7 20169
8ddad845 201702004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
20171
20172 Added normal mode command `chainloader' as module chain.mod, which
20173 depends on normal.mod and _chain.mod.
f19dbdb7 20174
8ddad845 20175 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
20176 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
20177 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
20178 Deleted prototype.
20179 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
20180 but arguments parsing moved to ...
20181 (grub_chainloader_cmd): ... here. New function.
20182 * include/grub/i386/pc/chainloader.h: New file.
20183 * loader/i386/pc/chainloader_normal.c: Likewise.
20184
2c1f4ce3 201852004-09-11 Marco Gerards <metgerards@student.han.nl>
20186
20187 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
20188 (grub_mkimage_LDFLAGS): Likewise.
20189 (grub_emu_SOURCES): Likewise.
20190 (kernel_img_HEADERS): Added fshelp.h.
20191 * fs/ext2.c: Include <grub/fshelp.h>.
20192 (FILETYPE_REG): New macro.
20193 (FILETYPE_INO_REG): Likewise.
20194 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
20195 Changed all users.
20196 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
20197 all users.
20198 (grub_fshelp_node): New struct.
20199 (grub_ext2_data): Added member `diropen'. Changed member `inode'
20200 to a pointer.
20201 (grub_ext2_get_file_block): Removed function.
20202 (grub_ext2_read_block): New function.
20203 (grub_ext2_read_file): Replaced parameter `data' by `node'.
20204 This function was written.
20205 (grub_ext2_mount): Read the root inode. Create a diropen struct.
20206 (grub_ext2_find_file): Removed function.
20207 (grub_ext2_read_symlink): New function.
20208 (grub_ext2_iterate_dir): Likewise.
20209 (grub_ext2_open): Rewritten.
20210 (grub_ext2_dir): Rewritten.
20211 * include/grub/fshelp.h: New file.
20212 * fs/fshelp.c: Likewise.
20213
3c52136a 202142004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
20215
20216 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
20217 (print_message): Add a missing newline.
20218 (run_menu): Added timeout support.
20219 (run_menu_entry): New local function.
20220 (grub_menu_run): Added support for booting.
20221
20222 * kern/loader.c (grub_loader_is_loaded): New function.
20223
20224 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
20225 (grub_get_rtc): Exported.
20226
20227 * include/grub/i386/pc/time.h: Include grub/symbol.h.
20228 (grub_get_rtc): Exported.
20229
20230 * include/grub/normal.h (struct grub_command_list): Remove
20231 constant from the member `command'.
20232
20233 * include/grub/loader.h (grub_loader_is_loaded): Declared.
20234
20235 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
20236
20237 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
20238
aa033560 202392004-08-28 Marco Gerards <metgerards@student.han.nl>
20240
20241 Add support for the JFS filesystem.
20242
20243 * fs/jfs.c: New file.
20244 * include/grub/fs.h (grub_jfs_init): New prototype.
20245 (grub_jfs_fini): New prototype.
20246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
20247 (grub_emu_SOURCES): Likewise.
20248 (pkgdata_MODULES): Add jfs.mod.
20249 (jfs_mod_SOURCES): New variable.
20250 (jfs_mod_CFLAGS): Likewise.
20251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
20252 (grubof_SOURCES): Likewise.
20253 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
20254
20255 * fs/fat.c (grub_fat_find_dir): Convert the filename little
20256 endian to the host endian.
20257 (grub_fat_utf16_to_utf8): Move function from there...
20258 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 20259 the endianness of the source string anymore.
aa033560 20260 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
20261
94bc45af 202622004-08-24 Marco Gerards <metgerards@student.han.nl>
20263
20264 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
20265 (grub_boot_fini) [GRUB_UTIL]: Likewise.
20266 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
20267 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 20268
94bc45af 20269 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
20270 (grub_hfs_iterate_dir): Make the function static. Add prototypes
20271 for `node_found' and `it_dir'.
20272 (grub_hfs_dir): Add prototype for `dir_hook'.
20273
20274 * fs/minix.c (grub_minix_get_file_block): Add prototype for
20275 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
20276 and `indir32' to silence a gcc warning.
20277
20278 * include/grub/fs.h (grub_hfs_init): New prototype.
20279 (grub_hfs_fini): Likewise.
f19dbdb7 20280
20281
97543f08 202822004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20283
20284 Each disk device has its own id now. This is useful to make use
20285 of multiple disk devices.
f19dbdb7 20286
97543f08 20287 * include/grub/disk.h (grub_disk_dev_id): New enum.
20288 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
20289 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
20290
20291 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
20292 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20293
20294 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
20295 GRUB_DISK_DEVICE_OFDISK_ID as an id.
20296
20297 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
20298 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20299
20300 * include/grub/disk.h (struct grub_disk_dev): Added a new member
20301 "id" which is used by the cache manager.
20302
20303 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
20304 of just "GRUB".
20305
64372eb4 203062004-08-18 Marco Gerards <metgerards@student.han.nl>
20307
20308 * fs/hfs.c: New file.
20309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
20310 (grub_emu_SOURCES): Likewise.
20311 (pkgdata_MODULES): Add hfs.mod.
20312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
20313 (grubof_SOURCES): Likewise.
20314 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
20315
20316 * include/grub/misc.h (grub_strncasecmp): Add prototype.
20317 * kern/misc.c (grub_strncasecmp): Add function.
20318
cc61b58f 203192004-08-14 Marco Gerards <metgerards@student.han.nl>
20320
20321 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
20322 with parentheses.
20323
20324 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
20325 (grub_ext2_dir): In case the directory entry type is unknown, read
20326 it from the inode.
20327
0ef123f6 203282004-08-02 Peter Bruin <pjbruin@dds.nl>
20329
20330 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
20331 grub_load_linux instead of grub_rescue_cmd_linux as second
20332 argument of grub_rescue_register_command.
20333
20334 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
20335
a447c5df 203362004-07-27 Marco Gerards <metgerards@student.han.nl>
20337
20338 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
20339 function.
20340 * commands/boot.c: Remove the check for `GRUB_UTIL'.
20341 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20342 `loader/powerpc/ieee1275/linux.c',
20343 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
20344 * include/grub/powerpc/ieee1275/ieee1275.h
20345 (grub_ieee1275_release): New prototype.
20346 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
20347 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
20348 normal, boot, linux and linux_normal.
20349 * loader/powerpc/ieee1275/linux.c: New file.
20350 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20351
5a9e3546 203522004-07-12 Marco Gerards <metgerards@student.han.nl>
20353
20354 * normal/arg.c (grub_arg_parse): Correct error handling after
20355 reallocating the argumentlist (check if `argl' is not null instead
20356 of checking if `args' is not null).
20357 * kern/mm.c (grub_realloc): Return the same pointer when using the
20358 same region, instead of returning the header address.
20359
e15199cb 203602004-07-11 Marco Gerards <metgerards@student.han.nl>
20361
20362 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
20363 one block instead of two when looking for the initial partition.
20364 (grub_partition_probe): Initialize the local variable `p' with 0.
20365 Use base 10 for the grub_strtoul call.
20366 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
20367 need for one local variable.
20368 (grub_strtoul): Don't add the new value to `num', instead of that
20369 just assign it.
20370
020616c2 203712004-07-11 Marco Gerards <metgerards@student.han.nl>
20372
20373 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
20374 (pxeboot_img_SOURCES): New variable.
20375 (pxeboot_img_ASFLAGS): Likewise.
20376 (pxeboot_img_LDFLAGS): Likewise.
20377 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
20378 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
20379 <lode_leroy@hotmail.com>.
20380
6c51eb64 203812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20382
20383 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
20384 there was no input.
20385
cfb12aff 203862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20387
20388 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
20389 the history buffer logic.
20390
6eabba74 203912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20392
20393 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
20394 (FILETYPE_INO_SYMLINK): New macros.
20395 (grub_ext2_find_file): Check if the node is a directory using the
20396 inode stat information instead of using the filetype in the
20397 dirent. Exclude the first character of an absolute symlink.
20398 (grub_ext2_dir): Mask out the filetype part of the mode member of
20399 the inode.
20400
66e19ef8 204012004-05-24 Marco Gerards <metgerards@student.han.nl>
20402
20403 Add support for UFS version 1 and 2. Add support for the minix
20404 filesystem version 1 and 2, both the variants with 14 and 30 long
20405 filenames.
f19dbdb7 20406
66e19ef8 20407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
20408 fs/minix.c.
20409 (grub_emu_SOURCES): Likewise.
20410 (pkgdata_MODULES): Add ufs.mod and minix.mod.
20411 (ufs_mod_SOURCES): New variable.
20412 (ufs_mod_CFLAGS): Likewise.
20413 (minix_mod_SOURCES): Likewise.
20414 (minix_mod_CFLAGS): Likewise.
20415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
20416 fs/minix.c.
20417 (grubof_SOURCES): Likewise.
20418 * fs/ufs.c: New file.
20419 * fs/minix.c: New file.
20420 * include/grub/fs.h (grub_ufs_init): New prototype.
20421 (grub_ufs_fini): Likewise.
20422 (grub_minix_init): Likewise.
20423 (grub_minix_fini): Likewise.
20424 * util/grub-emu.c (main): Initialize and deinitialize UFS and
20425 minix fs.
20426
cc2e748a 204272004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
20428
20429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
20430 commands/ls.c, commands/terminal.c, commands/boot.c,
20431 commands/cmp.c and commands/cat.c.
20432 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
20433
20434 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
20435 "env.h"
20436
4b13b216 204372004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20438
20439 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
20440 and grub_, respectively. Because the conversion is trivial and
20441 mechanical, I omit the details here. Please refer to the CVS
20442 if you need more information.
20443
6a142551 204442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20445
20446 * include/pupa: Renamed to ...
20447 * include/grub: ... this.
20448 * util/i386/pc/pupa-mkimage.c: Renamed to ...
20449 * util/i386/pc/grub-mkimage.c: ... this.
20450 * util/i386/pc/pupa-setup.c: Renamed to ...
20451 * util/i386/pc/grub-setup.c: ... this.
20452 * util/pupa-emu.c: Renamed to ...
20453 * util/grub-emu.c: ... this.
20454
e56cdf21 204552004-03-29 Marco Gerards <metgerards@student.han.nl>
20456
20457 Add support for the newworld apple macintosh (PPC). This has been
20458 tested on the powerbook 2000 only. It only adds support for
20459 generic ieee1275 functions, console and disk support. This should
20460 be easy to port to other architectures with support for Open
20461 Firmware.
f19dbdb7 20462
e56cdf21 20463 * configure.ac: Accept the powerpc as host_cpu. In the case of
20464 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
20465 specific tests are only executed while building for the i386.
20466 Inverse test for crosscompile.
20467 * genmk.rb (Utility): Allow assembler files.
20468 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
20469 * conf/powerpc-ieee1275.rmk: New file.
20470 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
20471 * disk/powerpc/ieee1275/partition.c: Likewise.
20472 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
20473 * include/pupa/powerpc/ieee1275/console.h: Likewise.
20474 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
20475 * include/pupa/powerpc/ieee1275/time.h: Likewise.
20476 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
20477 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
20478 * include/pupa/powerpc/ieee1275/loader.h
20479 * include/pupa/powerpc/setjmp.h: Likewise.
20480 * include/pupa/powerpc/types.h: Likewise.
20481 * kern/powerpc/ieee1275/init.c: Likewise.
20482 * kern/powerpc/ieee1275/openfw.c: Likewise.
20483 * term/powerpc/ieee1275/ofconsole.c: Likewise.
20484
20485 These files were written by Johan Rydberg
20486 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 20487
e56cdf21 20488 * boot/powerpc/ieee1275/cmain.c: New file.
20489 * boot/powerpc/ieee1275/crt0.S: Likewise.
20490 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
20491 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
20492
8c8cc205 204932004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
20494
20495 * Makefile.in: Update copyright.
20496 * genmodsrc.sh: Likewise.
20497 * gensymlist.sh: Likewise.
20498 * term/i386/pc/vga.c: Indent correctly.
20499
20500 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
20501 bugreporting address.
20502 * util/i386/pc/pupa-setup.c (usage): Likewise,
20503 (main): Call pupa_ext2_init and pupa_ext2_fini.
20504
f19dbdb7 20505 * fs/fat.c (log2): Renamed to ...
8c8cc205 20506 (fat_log2): ... this.
20507 All callers changed.
20508 * kern/misc.c (memcpy): Alias to pupa_memmove.
20509 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
20510 lvalue cast.
20511 * util/console.c (pupa_ncurses_fini): Return 0.
20512
20513 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
20514 Move fail label here.
20515 [__GNU__]: Don't warn when using stat.
20516 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
20517 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
20518 long int. Use strtol instead of strtoul.
f19dbdb7 20519
db1771cf 205202004-03-14 Marco Gerards <metgerards@student.han.nl>
20521
20522 * commands/boot.c: New file.
20523 * commands/cat.c: Likewise.
20524 * commands/cmp.c: Likewise.
20525 * commands/ls.c: Likewise.
20526 * commands/terminal.c: Likewise.
20527 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
20528 (pupa_register_command): Changed interface to match the new
20529 argument parser.
20530 (pupa_command_execute): Changed (almost rewritten) so it uses
20531 pupa_split_command. Added support for setting variables using the
20532 syntax `foo=bar'.
20533 (rescue_command): Changed to work with the new argument parser.
20534 (terminal_command): Moved from here to commands/terminal.c.
20535 (set_command): New function.
20536 (unset_command): New function.
20537 (insmod_command): New function.
20538 (rmmod_command): New function.
20539 (lsmod_command): New function.
20540 (pupa_command_init): Don't initialize the command terminal
20541 anymore. Initialize the commands set, unset, insmod, rmmod and
20542 lsmod.
20543 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
20544 (kernel_img_HEADERS): Add arg.h and env.h.
20545 (pupa_mkimage_LDFLAGS): Add kern/env.c.
20546 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
20547 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
20548 normal/arg.c.
20549 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
20550 terminal.mod.
20551 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
20552 (boot_mod_SOURCES): New variable.
20553 (terminal_mod_SOURCES): Likewise.
20554 (ls_mod_SOURCES): Likewise.
20555 (cmp_mod_SOURCES): Likewise.
20556 (cat_mod_SOURCES): Likewise.
20557
20558 * normal/arg.c: New file.
20559 * kern/env.c: Likewise.
20560 * include/pupa/arg.h: Likewise.
20561 * include/pupa/env.h: Likewise.
20562 * font/manager.c (font_command): Changed to match argument parsing
20563 interface changes.
20564 (PUPA_MOD_INIT): Likewise.
20565 * hello/hello.c (pupa_cmd_hello): Likewise.
20566 (PUPA_MOD_INIT): Likewise.
20567 * include/pupa/disk.h: Include <pupa/device.h>.
20568 (pupa_print_partinfo): New prototype.
20569 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
20570 (pupa_dl_get_prefix): Likewise.
20571 * include/pupa/misc.h: Include <pupa/err.h>.
20572 (pupa_isgraph): New prototype.
20573 (pupa_isdigit): Likewise.
20574 (pupa_split_cmdline): Likewise.
20575 * include/pupa/normal.h: Include <pupa/arg.h>.
20576 (pupa_command): Changed the prototype of the member `func' to
20577 match the argument parsing interface. Added member `options'.
20578 (pupa_register_command): Updated to match function.
20579 (pupa_arg_parse): New prototype.
20580 (pupa_hello_init) [PUPA_UTIL]: New prototype.
20581 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
20582 (pupa_ls_init) [PUPA_UTIL]: Likewise.
20583 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
20584 (pupa_cat_init) [PUPA_UTIL]: Likewise.
20585 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
20586 (pupa_boot_init) [PUPA_UTIL]: Likewise.
20587 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
20588 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
20589 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
20590 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
20591 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
20592 * kern/disk.c: Include <pupa/file.h>.
20593 (pupa_print_partinfo): New function.
20594 * kern/dl.c: Include <pupa/env.h>.
20595 (pupa_dl_dir): Variable removed.
20596 (pupa_dl_load): Use the environment variable `prefix' instead of
20597 the variable pupa_dl_dir.
20598 (pupa_dl_set_prefix): Function removed.
20599 (pupa_dl_get_prefix): Likewise.
20600 * kern/i386/pc/init.c: Include <pupa/env.h>.
20601 (pupa_machine_init): Use the environment variable `prefix' instead of
20602 using pupa_dl_set_prefix to set the prefix.
20603 * kern/main.c: Include <pupa/env.h>.
20604 (pupa_set_root_dev): Use the environment variable `prefix' instead of
20605 using pupa_dl_get_prefix to get the prefix.
20606 * kern/misc.c: Include <pupa/env.h>.
20607 (pupa_isdigit): New function.
20608 (pupa_isgraph): Likewise.
20609 (pupa_ftoa): Likewise.
20610 (pupa_vsprintf): Added support for printing values of the type
20611 `double'. Make it possible to format variable output when using
20612 formatting like `%1.2%f'.
20613 (pupa_split_cmdline): New function.
20614 * kern/rescue.c: Include <pupa/env.h>.
20615 (next_word): Removed function.
20616 (pupa_rescue_cmd_prefix): Likewise.
20617 (pupa_rescue_cmd_set): New function.
20618 (pupa_rescue_cmd_unset): New function.
20619 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
20620 split the command line instead of splitting it here. Added
20621 support for setting variables using the syntax `foo=bar'. Don't
20622 initialize the prefix command anymore. Initialized the set and
20623 unset commands.
20624 * normal/cmdline.c: Include <pupa/env.h>.
20625 (pupa_tab_complete): Added prototypes for print_simple_completion,
20626 print_partition_completion, add_completion, iterate_commands,
20627 iterate_dev, iterate_part and iterate_dir. Moved code to print
20628 partition information from here to kern/disk.c.
fe6b695a 20629 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 20630 * normal/main.c: Include <pupa/env.h>.
20631 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
20632 instead of using pupa_dl_get_prefix to get the prefix.
20633 * term/i386/pc/vga.c: Include <pupa/arg.h>.
20634 (check_vga_mem): Cast pointers to `void *' to silence a gcc
20635 warning.
20636 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
20637 (pupa_vga_setcolor): Declare unused variables with `__attribute__
20638 ((unused))' to silence a gcc warning.
20639 (pupa_vga_setcolor): Likewise.
20640 (debug_command): Changed to match argument parsing
20641 interface changes.
20642 * util/pupa-emu.c: Include <pupa/env.h>.
20643 (options): Added 0's for unused fields to silence a gcc warning.
20644 (argp): Likewise.
20645 (main): Use the environment variable `prefix' instead of using
20646 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
20647 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
20648 and terminal.
20649
20650 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
20651 * util/misc.c: Include <malloc.h>.
20652 (pupa_malloc): Rewritten so errors are correctly reported.
20653 (pupa_realloc): Likewise.
20654 (pupa_memalign): Likewise.
20655 (pupa_mm_init_region): Declare unused variables with
20656 `__attribute__ ((unused))' to silence a gcc warning.
20657 * normal/i386/setjmp.S: Remove tab at the end of the file to
20658 silence a gcc warning.
20659 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
20660 variables with `__attribute__ ((unused))' to silence a gcc
20661 warning.
20662 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
20663 local variable i unsigned to silence a gcc warning.
20664
20665 * kern/term.c: Include <pupa/misc.h>.
20666 (pupa_more_lines): New variable.
20667 (pupa_more): Likewise.
20668 (pupa_putcode): When the pager is active pause at the end of every
20669 screen.
20670 (pupa_set_more): New function.
20671 * include/pupa/term.h (pupa_set_more): New prototype.
20672
20673
3b1139cb 206742004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
20675
20676 Now this project is GRUB 2 rather than PUPA. The location of
20677 the CVS repository was moved to GRUB's.
f19dbdb7 20678
3b1139cb 20679 * configure.ac: Use bug-grub as the reporting address.
20680 Use GRUB instead of PUPA.
20681 Change the version number to 1.90.
20682
8367695c 206832004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
20684
20685 * genkernsyms.sh: Updated copyright information.
20686 * genmk.rb: Likewise.
20687 * genmodsrc.sh: Likewise.
20688 * gensymlist.sh: Likewise.
20689 * boot/i386/pc/boot.S: Likewise.
20690 * boot/i386/pc/diskboot.S: Likewise.
20691 * disk/i386/pc/biosdisk.c: Likewise.
20692 * disk/i386/pc/partition.c: Likewise.
20693 * font/manager.c: Likewise.
20694 * fs/ext2.c: Likewise.
20695 * fs/fat.c: Likewise.
20696 * include/pupa/boot.h: Likewise.
20697 * include/pupa/device.h: Likewise.
20698 * include/pupa/disk.h: Likewise.
20699 * include/pupa/dl.h: Likewise.
20700 * include/pupa/elf.h: Likewise.
20701 * include/pupa/err.h: Likewise.
20702 * include/pupa/file.h: Likewise.
20703 * include/pupa/font.h: Likewise.
20704 * include/pupa/fs.h: Likewise.
20705 * include/pupa/kernel.h: Likewise.
20706 * include/pupa/loader.h: Likewise.
20707 * include/pupa/misc.h: Likewise.
20708 * include/pupa/mm.h: Likewise.
20709 * include/pupa/net.h: Likewise.
20710 * include/pupa/normal.h: Likewise.
20711 * include/pupa/rescue.h: Likewise.
20712 * include/pupa/setjmp.h: Likewise.
20713 * include/pupa/symbol.h: Likewise.
20714 * include/pupa/term.h: Likewise.
20715 * include/pupa/types.h: Likewise.
20716 * include/pupa/i386/setjmp.h: Likewise.
20717 * include/pupa/i386/types.h: Likewise.
20718 * include/pupa/i386/pc/biosdisk.h: Likewise.
20719 * include/pupa/i386/pc/boot.h: Likewise.
20720 * include/pupa/i386/pc/console.h: Likewise.
20721 * include/pupa/i386/pc/init.h: Likewise.
20722 * include/pupa/i386/pc/kernel.h: Likewise.
20723 * include/pupa/i386/pc/linux.h: Likewise.
20724 * include/pupa/i386/pc/loader.h: Likewise.
20725 * include/pupa/i386/pc/memory.h: Likewise.
20726 * include/pupa/i386/pc/multiboot.h: Likewise.
20727 * include/pupa/i386/pc/partition.h: Likewise.
20728 * include/pupa/i386/pc/time.h: Likewise.
20729 * include/pupa/i386/pc/vga.h: Likewise.
20730 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
20731 * include/pupa/util/getroot.h: Likewise.
20732 * include/pupa/util/misc.h: Likewise.
20733 * include/pupa/util/resolve.h: Likewise.
20734 * kern/device.c: Likewise.
20735 * kern/disk.c: Likewise.
20736 * kern/dl.c: Likewise.
20737 * kern/err.c: Likewise.
20738 * kern/file.c: Likewise.
20739 * kern/fs.c: Likewise.
20740 * kern/loader.c: Likewise.
20741 * kern/main.c: Likewise.
20742 * kern/misc.c: Likewise.
20743 * kern/mm.c: Likewise.
20744 * kern/rescue.c: Likewise.
20745 * kern/term.c: Likewise.
20746 * kern/i386/dl.c: Likewise.
20747 * kern/i386/pc/init.c: Likewise.
20748 * kern/i386/pc/lzo1x.S: Likewise.
20749 * kern/i386/pc/startup.S: Likewise.
20750 * loader/i386/pc/chainloader.c: Likewise.
20751 * loader/i386/pc/linux.c: Likewise.
20752 * loader/i386/pc/multiboot.c: Likewise.
20753 * normal/cmdline.c: Likewise.
20754 * normal/command.c: Likewise.
20755 * normal/main.c: Likewise.
20756 * normal/menu.c: Likewise.
20757 * normal/i386/setjmp.S: Likewise.
20758 * term/i386/pc/console.c: Likewise.
20759 * term/i386/pc/vga.c: Likewise.
20760 * util/console.c: Likewise.
20761 * util/genmoddep.c: Likewise.
20762 * util/misc.c: Likewise.
20763 * util/pupa-emu.c: Likewise.
20764 * util/resolve.c: Likewise.
20765 * util/unifont2pff.rb: Likewise.
20766 * util/i386/pc/biosdisk.c: Likewise.
20767 * util/i386/pc/getroot.c: Likewise.
20768 * util/i386/pc/pupa-mkimage.c: Likewise.
20769 * util/i386/pc/pupa-setup.c: Likewise.
20770
e6eced71 207712004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
20772
20773 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
20774 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
20775 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
20776 reading and reset it after reading.
20777 (pupa_ext2_close): Return PUPA_ERR_NONE.
20778
20779 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
20780 Correct value.
20781 (struct linux_kernel_header): Add kernel_version and
20782 initrd_addr_max.
20783 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
20784 pupa_file_read succeeds.
20785 (pupa_rescue_cmd_initrd): Implement.
20786
5aded270 207872003-12-03 Marco Gerards <metgerards@student.han.nl>
20788
20789 * fs/ext2.c (pupa_ext2_label): New function.
20790 (pupa_ext2_fs): Added label.
20791 * fs/fat.c (pupa_fat_label): New function.
20792 (pupa_fat_fs): Added label.
20793 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
20794
20795 * kern/misc.c (pupa_strndup): New function.
20796 * include/pupa/misc.h (pupa_strndup): New prototype.
20797
20798 * include/pupa/normal.h: Include <pupa/err.h>.
20799 (pupa_set_history): New prototype.
20800 (pupa_iterate_commands): New prototype.
20801 * normal/cmdline.c: Include <pupa/machine/partition.h>,
20802 <pupa/disk.h>, <pupa/file.h>.
20803 (hist_size): New variable.
20804 (hist_lines): Likewise.
20805 (hist_end): Likewise.
20806 (hist_used): Likewise.
20807 (pupa_set_history): New function.
20808 (pupa_history_get): Likewise.
20809 (pupa_history_add): Likewise.
20810 (pupa_history_replace): Likewise.
20811 (pupa_tab_complete): Likewise.
20812 (pupa_cmdline_run): Added tab completion and history buffer. Tab
20813 completion shows partitionnames while completing partitions, this
20814 feature was suggested by Jeff Bailey.
20815 * normal/command.c (pupa_iterate_commands): New function.
20816 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
20817 (pupa_normal_init): Initialize history buffer.
20818 (PUPA_MOD_INIT): Likewise.
20819 (pupa_normal_fini): Free the history buffer.
20820 (PUPA_MOD_FINI): Likewise.
20821
20822 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
20823 key.
20824
20825 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
20826 * configure.ac [i386]: Check for regparam bug.
20827 (NESTED_FUNC_ATTR) [! i386]: Defined.
20828
1f7315a3 208292003-11-17 Marco Gerards <metgerards@student.han.nl>
20830
20831 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
20832 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
20833 (pupa_emu_SOURCES): New variable.
20834 (pupa_emu_LDFLAGS): Likewise.
20835 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
20836 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
20837 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
20838 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20839 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
20840 (pupa_jmp_buf): New typedef.
20841 (pupa_setjmp) [PUPA_UTIL]: New macro.
20842 (pupa_longjmp) [PUPA_UTIL]: Likewise.
20843 * include/pupa/term.h (struct pupa_term): New member `refresh'.
20844 (pupa_refresh): New prototype.
20845 * include/pupa/util/getroot.h: New file.
20846 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
20847 it.
20848 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
20849 (pupa_rescue_cmd_cat): Likewise.
20850 (pupa_rescue_cmd_ls): Likewise.
20851 (pupa_rescue_cmd_testload): Likewise.
20852 (pupa_rescue_cmd_lsmod): Likewise.
20853 * normal/cmdline.c (pupa_cmdline_get): Likewise.
20854 * normal/menu.c (run_menu): Likewise.
20855 * kern/term.c (pupa_cls): Likewise.
20856 (pupa_refresh): New function.
20857 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
20858 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20859 * util/console.c: New file.
f19dbdb7 20860
1f7315a3 20861 * util/i386/pc/getroot.c: New file.
20862 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
20863 (pupa_putchar): New function.
20864 (pupa_refresh): Likewise.
20865 (xgetcwd): Function moved to ...
20866 (strip_extra_slashes): Likewise.
20867 (get_prefix): Likewise.
f19dbdb7 20868 * util/i386/pc/getroot.c: ... here.
1f7315a3 20869 (find_root_device): Function moved and renamed to...
20870 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
20871 Changed all callers.
20872 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
20873 and renamed to...
20874 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
20875 Changed all callers.
20876 * util/misc.c (pupa_memalign): New function.
20877 (pupa_mm_init_region): Likewise.
20878 (pupa_register_exported_symbols): Likewise.
20879 (pupa_putchar): Function removed.
20880 * util/pupa-emu.c: New file.
20881
9a5c1ade 208822003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
20883
20884 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
20885 (_multiboot_mod_SOURCES): New variable.
20886 (_multiboot_mod_CFLAGS): Likewise.
20887 * loader/i386/pc/multiboot.c: New file.
20888 * include/pupa/i386/pc/multiboot.h: Likewise.
20889 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
20890 (pupa_multiboot_real_boot): New function.
20891 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
20892 (pupa_multiboot_real_boot): New prototype.
20893 (pupa_rescue_cmd_multiboot): Likewise
20894 (pupa_rescue_cmd_module): Likewise.
20895
20896 * kern/loader.c (pupa_loader_set): Continue when
20897 pupa_loader_unload_func() fails.
20898 (pupa_loader_unset): New function.
20899 * include/pupa/loader.h (pupa_loader_unset): New prototype.
20900
20901 * kern/misc.c (pupa_stpcpy): New function.
20902 * include/pupa/misc.h (pupa_stpcpy): New prototype.
20903
8e72a9c0 209042003-11-12 Marco Gerards <metgerards@student.han.nl>
20905
20906 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
20907 for available extensions.
20908
20909 * include/pupa/i386/pc/time.h: New file.
20910 * kern/disk.c: Include <pupa/machine/time.h>.
20911 (PUPA_CACHE_TIMEOUT): New macro.
20912 (pupa_last_time): New variable.
20913 (pupa_disk_open): Flush the cache when there was a timeout.
20914 (pupa_disk_close): Reset the timer.
20915 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
20916 pupa_currticks.
20917 * util/misc.c: Include <sys/times.h>
20918 (pupa_get_rtc): New function.
20919
c4adbd32 209202003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
20921
20922 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
20923 as blocks.
20924 (pupa_ext2_get_file_block): Use blocks member.
20925
20926 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
20927 first block. Return -1 instead of pupa_errno on error.
20928
bfd30f06 209292003-10-27 Marco Gerards <metgerards@student.han.nl>
20930
20931 * README: In the pupa-mkimage example use _chain instead of chain
20932 and ext2 instead of fat.
20933 * TODO: Replace ext2fs with jfs as an example. Add an item for
20934 adding journal playback for ext2fs.
20935 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
20936 (pkgdata_MODULES): Added ext2.mod.
20937 (ext2_mod_SOURCES): New variable.
20938 (ext2_mod_CFLAGS): Likewise.
20939 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
20940 * include/pupa/misc.h (pupa_strncpy): New prototype.
20941 (pupa_strcat): Likewise.
20942 (pupa_strncmp): Likewise.
20943 * kern/misc.c (pupa_strcat): Enable function.
20944 (pupa_strncpy): New function.
20945 (pupa_strncmp): Likewise.
20946 * fs/ext2.c: New file.
f19dbdb7 20947
bfd30f06 20948 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
20949 when the read failed before retrying.
20950 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
20951 (_FILE_OFFSET_BITS): Likewise.
20952 * configure.ac: Added AC_SYS_LARGEFILE.
20953
98d15063 209542003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
20955
20956 * genmk.rb (PModule#rule): Make sure to get only symbol names
20957 from the output of nm.
20958 Reported by Robert Millan <zeratul2@wanadoo.es>.
20959
18d9c7cd 209602003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
20961
20962 I forgot to check in these changes for a long time. This adds
20963 incomplete support for VGA console, and this is still very
20964 buggy. Also, a lot of consideration is required for I18N,
20965 UNICODE, and VGA font issues. Therefore, assume that this is
20966 such that "better than nothing".
f19dbdb7 20967
18d9c7cd 20968 * font/manager.c: New file.
20969 * include/pupa/font.h: Likewise.
20970 * include/pupa/i386/pc/vga.h: Likewise.
20971 * term/i386/pc/vga.c: Likewise.
20972 * util/unifont2pff.rb: Likewise.
20973
20974 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
20975 (pkgdata_MODULES): Added vga.mod and font.mod.
20976 (vga_mod_SOURCES): New variables.
20977 (vga_mod_CFLAGS): Likewise.
20978 (font_mod_SOURCES): Likewise.
20979 (font_mod_CFLAGS): Likewise.
20980
20981 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
20982
20983 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 20984 (struct pupa_term): Added init and fini.
18d9c7cd 20985 Changed the argument of putchar to pupa_uint32_t.
20986
20987 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
20988 (pupa_console_real_putchar): New prototype.
20989 (pupa_console_putchar): Removed.
20990 (pupa_console_checkkey): Exported.
20991 (pupa_console_getkey): Likewise.
20992
20993 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
20994 characters.
20995
20996 * kern/term.c (pupa_term_set_current): Rewritten.
20997 (pupa_putchar): Likewise.
20998 (pupa_putcode): New function.
20999
21000 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
21001 (pupa_console_real_putchar): ... this.
21002 (pupa_vga_set_mode): New function.
21003 (pupa_vga_get_font): Likewise.
21004
21005 * normal/command.c: Include pupa/term.h.
21006 (terminal_command): New function.
21007 (pupa_command_init): Register the command "terminal".
21008
21009 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
21010 (DISP_UP): Likewise.
21011 (DISP_RIGHT): Likewise.
21012 (DISP_DOWN): Likewise.
21013 (DISP_HLINE): Likewise.
21014 (DISP_VLINE): Likewise.
21015 (DISP_UL): Likewise.
21016 (DISP_UR): Likewise.
21017 (DISP_LL): Likewise.
21018 (DISP_LR): Likewise.
21019
21020 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 21021
977329f5 210222003-02-08 NIIBE Yutaka <gniibe@m17n.org>
21023
21024 * util/resolve.c (pupa_util_resolve_dependencies): BUG
21025 FIX. Reverse the path_list.
21026
21027 * include/pupa/normal.h: Export pupa_register_command and
21028 pupa_unregister_command.
21029
21030 * hello/hello.c (pupa_cmd_hello): New module.
21031 * conf/i386-pc.rmk: Added hello.mod.
21032
1f5ab428 210332003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
21034
21035 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 21036
1f5ab428 21037 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
21038 (compress_kernel): New variable.
21039 (generate_image): Heavily modified to support compressing a
21040 large part of the core image.
21041
21042 * util/misc.c (pupa_util_read_image): Fix a file descriptor
21043 leak.
21044 (pupa_util_load_image): New function.
21045
21046 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
21047 (pupa_compressed_size): New variable.
21048 (codestart): Enable Gate A20 here.
21049 Decompress the compressed part of the core image.
21050 Rearrange the code to put functions and variables which are
21051 required for initialization in the non-compressed part.
21052 Include lzo1x.S.
21053
21054 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
21055 here.
21056
21057 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
21058
f19dbdb7 21059 * include/pupa/i386/pc/kernel.h
1f5ab428 21060 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
21061 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
21062 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21063 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21064 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
21065
21066 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
21067
21068 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
21069 (Utility#rule): Likewise.
21070
21071 * configure.ac: Check if LZO is available.
21072
ce5bf700 210732003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
21074
21075 * include/pupa/normal.h: New file.
21076 * include/pupa/setjmp.h: Likewise.
21077 * include/pupa/i386/setjmp.h: Likewise.
21078 * normal/cmdline.c: Likewise.
21079 * normal/command.c: Likewise.
21080 * normal/main.c: Likewise.
21081 * normal/menu.c: Likewise.
21082 * normal/i386/setjmp.S: Likewise.
f19dbdb7 21083
ce5bf700 21084 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
21085 (pupa_rescue_cmd_initrd): Likewise.
21086
21087 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
21088 Likewise.
21089
21090 * kern/i386/pc/startup.S (translation_table): New variable.
21091 (translate_keycode): New function.
21092 (pupa_console_getkey): Call translate_keycode.
21093
21094 * kern/rescue.c (attempt_normal_mode): New function.
21095 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
21096 it failed, print a message.
21097
21098 * kern/mm.c (pupa_real_malloc): Print more information when a
21099 free magic is broken.
21100 (pupa_free): If the first free header is not free actually, set
21101 it to P.
21102
21103 * kern/main.c (pupa_load_normal_mode): Just load the module
21104 "normal".
21105 (pupa_main): Don't print the message
21106 "Entering into rescue mode..." here.
21107
21108 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
21109 Declared.
21110 (pupa_rescue_cmd_initrd): Likewise.
21111 (pupa_rescue_cmd_initrd): Likewise.
21112
21113 * include/pupa/symbol.h (FUNCTION): Specify the type.
21114 (VARIABLE): Likewise.
21115
21116 * include/pupa/err.h (pupa_err_t): Added
21117 PUPA_ERR_UNKNOWN_COMMAND.
21118
21119 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
21120 (pupa_dl_get_prefix): Likewise.
21121
21122 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
21123 Added _chain.mod and _linux.mod instead of chain.mod and
21124 linux.mod.
21125 (chain_mod_SOURCES): Renamed to ...
21126 (_chain_mod_SOURCES): ... this.
21127 (chain_mod_CFLAGS): Renamed to ...
21128 (_chain_mod_CFLAGS): ... this.
21129 (linux_mod_SOURCES): Renamed to ...
21130 (_linux_mod_SOURCES): ... this.
21131 (linux_mod_CFLAGS): Renamed to ...
21132 (_linux_mod_CFLAGS): ... this.
21133 (normal_mod_SOURCES): New variable.
21134 (normal_mod_CFLAGS): Likewise.
21135 (normal_mod_ASFLAGS): Likewise.
21136
211372003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
21138
21139 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
21140 possible.
21141
fe6b695a 21142 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 21143 recursively.
21144 (pupa_dl_unref): Unrefer depending modules recursively.
21145 Don't call pupa_dl_unload implicitly, because PUPA can crash if
21146 a module is unloaded before one depending on that module is
21147 unloaded.
21148 (pupa_dl_unload): Unload depending modules explicitly,
21149 if possible.
21150
c04da074 211512003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
21152
21153 * include/pupa/i386/pc/linux.h: New file.
21154 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 21155
c04da074 21156 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
21157 Removed.
21158 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
21159 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
21160 of PUPA_CHAINLOADER_BOOT_SECTOR.
21161
21162 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
21163 (pupa_linux_prot_size): New variable.
21164 (pupa_linux_tmp_addr): Likewise.
21165 (pupa_linux_real_addr): Likewise.
21166 (pupa_linux_boot_zimage): New function.
21167 (pupa_linux_boot_bzimage): Likewise.
21168
21169 * kern/i386/pc/init.c (struct mem_region): New structure.
21170 (MAX_REGIONS): New macro.
21171 (mem_regions): New variable.
21172 (num_regions): Likewise.
21173 (pupa_os_area_addr): Likewise.
21174 (pupa_os_area_size): Likewise.
21175 (pupa_lower_mem): Likewise.
21176 (pupa_upper_mem): Likewise.
21177 (add_mem_region): New function.
21178 (compact_mem_regions): Likewise.
21179 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
21180 the size of the conventional memory and that of so-called upper
21181 memory (before the first memory hole).
21182 Instead of adding each found region to free memory, use
21183 add_mem_region and add them after removing overlaps.
21184 Also, add only 1/4 of the upper memory to free memory. The rest
21185 is used for loading OS images. Maybe this is ad hoc, but this
21186 makes it much easier to relocate OS images when booting.
21187
21188 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
21189 (pupa_enter_rescue_mode): Don't register initrd and module.
21190
21191 * kern/mm.c: Include pupa/dl.h.
21192
21193 * kern/main.c: Include pupa/file.h and pupa/device.h.
21194
21195 * kern/loader.c (pupa_loader_load_module_func): Removed.
21196 (pupa_loader_load_module): Likewise.
21197
21198 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
21199 ``.o''.
21200
21201 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
21202 (pupa_linux_tmp_addr): Likewise.
21203 (pupa_linux_real_addr): Likewise.
21204 (pupa_linux_boot_zimage): Likewise.
21205 (pupa_linux_boot_bzimage): Likewise.
21206
21207 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
21208 (pupa_upper_mem): Likewise.
21209 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
21210 module is too dangerous.
21211
21212 * include/pupa/loader.h (pupa_os_area_addr): Declared.
21213 (pupa_os_area_size): Likewise.
21214 (pupa_loader_set): Remove the first argument. Loader doesn't
21215 manage modules or initrd any longer.
21216 (pupa_loader_load_module): Removed.
21217
21218 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
21219 (linux_mod_SOURCES): New variable.
21220 (linux_mod_CFLAGS): Likewise.
21221
a13f9237 212222003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
21223
21224 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
21225 the length of a blocklist correctly.
21226
21227 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
21228 Use ioctl only if the OS file is a block device.
21229 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
21230 not very useful for normal files.
21231
21232 * kern/main.c (pupa_set_root_dev): New function.
21233 (pupa_load_normal_mode): Likewise.
21234 (pupa_main): Call those above.
21235
21236 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
21237 pupa_uint16_t.
21238
21239 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
21240
a5ffe966 212412003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21242
21243 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
21244 (setup): Configure the installed partition information and the
21245 dl prefix.
21246
21247 * loader/i386/pc/chainloader.c (my_mod): New variable.
21248 (pupa_chainloader_unload): New function.
21249 (pupa_rescue_cmd_chainloader): Refer itself.
21250 (PUPA_MOD_INIT): Save its own module in MY_MOD.
21251
21252 * kern/i386/pc/startup.S (install_partition): Removed.
21253 (version_string): Likewise.
21254 (config_file): Likewise.
21255 (pupa_install_dos_part): New variable.
21256 (pupa_install_bsd_part): Likewise.
21257 (pupa_prefix): Likewise.
21258 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
21259
21260 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
21261 and pupa/misc.h.
21262 (make_install_device): New function.
21263 (pupa_machine_init): Set the dl prefix.
21264
21265 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
21266 (buf): Renamed to ...
21267 (linebuf): ... this.
21268 (pupa_rescue_cmd_prefix): New function.
21269 (pupa_rescue_cmd_insmod): Likewise.
21270 (pupa_rescue_cmd_rmmod): Likewise.
21271 (pupa_rescue_cmd_lsmod): Likewise.
21272 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
21273 rmmod and lsmod.
21274
21275 * kern/mm.c (pupa_memalign): If failed even after invalidating
21276 disk caches, unload unneeded modules and retry.
21277
21278 * kern/misc.c (pupa_memmove): New function.
21279 (pupa_memcpy): Removed.
21280 (pupa_strcpy): New function.
21281 (pupa_itoa): Made static.
21282
21283 * kern/dl.c (pupa_dl_iterate): New function.
21284 (pupa_dl_ref): Likewise.
21285 (pupa_dl_unref): Likewise.
21286 (pupa_dl_unload): Return if succeeded or not.
21287 (pupa_dl_unload_unneeded): New function.
21288 (pupa_dl_unload_all): Likewise.
21289 (pupa_dl_init): Renamed to ...
21290 (pupa_dl_set_prefix): ... this.
21291 (pupa_dl_get_prefix): New function.
21292
21293 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
21294 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
21295 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21296 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21297 (pupa_install_dos_part): Declared.
21298 (pupa_install_bsd_part): Likewise.
21299 (pupa_prefix): Likewise.
21300 (pupa_boot_drive): Likewise.
21301
21302 * include/pupa/types.h: Fix a typo.
21303
21304 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
21305 pupa_memmove.
21306 (pupa_memmove): Declared.
21307 (pupa_strcpy): Likewise.
21308
21309 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
21310 pupa_mod_init takes one argument, its own module.
21311 (pupa_dl_unload_unneeded): Declared.
21312 (pupa_dl_unload_all): Likewise.
21313 (pupa_dl_ref): Likewise.
21314 (pupa_dl_unref): Likewise.
21315 (pupa_dl_iterate): Likewise.
21316 (pupa_dl_init): Renamed to ...
21317 (pupa_dl_set_prefix): ... this.
21318 (pupa_dl_get_prefix): Declared.
21319
21320 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 21321 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 21322 unloaded.
21323 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
21324 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
21325
21326 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
21327 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
21328
012d7999 213292003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21330
21331 * util/i386/pc/pupa-setup.c (setup): Define the internal
21332 function find_first_partition_start at the top level, because GCC
21333 3.0.x cannot compile internal functions in deeper scopes
21334 correctly.
21335 (find_root_device): Use lstat instead of stat.
21336 Don't follow symbolic links.
21337 Fix the path-constructing code.
21338
21339 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
21340 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
21341 by a BLKGETSIZE ioctl first, because block devices don't fill
21342 the member st_mode of the structure stat on Linux.
21343 [__linux__] (linux_find_partition): Use a temporary buffer
21344 REAL_DEV for the working space. Copy it to DEV before returning.
21345 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
21346 buffer cache consistent.
21347 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
21348 strncmp. The previous value was merely wrong.
21349 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
21350
21351 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
21352 FAT size is 12. The previous value was merely wrong.
21353
21354 * kern/main.c (pupa_main): Don't split the starting message from
21355 newlines.
21356
21357 * kern/term.c (pupa_putchar): Put CR after LF instead of before
21358 LF, because BIOS goes crazy about character attributes in this
21359 case.
21360
1cc73a62 213612003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21362
21363 * include/i386/pc/util/biosdisk.h: New file.
21364 * util/i386/pc/biosdisk.c: Likewise.
21365 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 21366
1cc73a62 21367 * Makefile.in (INCLUDE_DISTFILES): Added
21368 include/pupa/i386/pc/util/biosdisk.h.
21369 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
21370 directory util/i386/pc.
21371 (install-local): Added a rule for sbin_UTILITIES.
21372 (uninstall): Likewise.
21373
21374 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
21375
21376 * util/misc.c (xrealloc): New function.
21377 (pupa_malloc): Likewise.
21378 (pupa_free): Likewise.
21379 (pupa_realloc): Likewise.
21380 (pupa_stop): Likewise.
21381 (pupa_putchar): Likewise.
21382
21383 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
21384
21385 * include/pupa/util/misc.h (xrealloc): Declared.
21386
21387 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
21388 macro.
21389 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
21390 (PUPA_BOOT_MACHINE_BPB_END): ... this.
21391
21392 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
21393 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21394
21395 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
21396 way should be implemented.
21397 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21398
21399 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
21400 the size of NAME for safety.
21401 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
21402 0x88.
21403
21404 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
21405 (pupa_setup_SOURCES): Likewise.
21406
21407 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
21408
08b70fe8 214092002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21410
21411 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
21412 bunch of pushl's from pusha, because this destroys the return
21413 value.
21414
62ddcc8f 214152002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21416
21417 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
21418 This means that any missing prototypes could be fatal. Also, you
21419 must take care when writing assembly code. See the comments at
21420 the beginning of startup.S, for more details.
f19dbdb7 21421
62ddcc8f 21422 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
21423 compilation mechanism.
21424 (pupa_chainloader_real_boot): Likewise.
21425 (pupa_biosdisk_rw_int13_extensions): Likewise.
21426 (pupa_biosdisk_rw_standard): Likewise.
21427 (pupa_biosdisk_check_int13_extensions): Likewise.
21428 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
21429 (pupa_biosdisk_get_diskinfo_standard): Likewise.
21430 (pupa_get_memsize): Likewise.
21431 (pupa_get_mmap_entry): Likewise.
21432 (pupa_console_putchar): Likewise.
21433 (pupa_console_setcursor): Likewise.
21434 (pupa_getrtsecs): Use pushl instead of push.
21435
21436 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
21437 memory instead of the stack for a mmap entry, because some
21438 BIOSes may ignore the maximum size and overflow.
21439
21440 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
21441
21442 * genmk.rb (PModule#rule): Compile automatically generated
21443 sources with module-specific CFLAGS as well as other sources.
21444
9962ed99 214452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21446
21447 * configure.ac: Check ld.
21448 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
21449 respectively, before checking endianness and sizes.
21450
21451 * Makefile.in (LD): New variable.
f19dbdb7 21452
abdfc3c5 214532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21454
21455 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
21456
6a161fa9 214572002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21458
21459 * Changelog: New file.
21460