]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
[grub2.git] / ChangeLog
CommitLineData
e1f27065
VS
12009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
4 Fixes amarsh bug.
5
1a0f7f45
RM
62009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
7
8 Remove miscellaneous files in distclean target.
9
10 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11
c631d9fb
CW
122009-12-09 Colin Watson <cjwatson@ubuntu.com>
13
14 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
15 if they're already set. This resolves the conflict between my
16 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17 fixing the --grub-probe option again.
18 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19 change on 2009-10-06, so that we now once again source
20 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21
7c7b6106
RM
222009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23
24 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
26 `util/devicemap.c'.
27
e3069ec1
CPE
282009-12-08 Carles Pina i Estany <carles@pina.cat>
29
30 * include/grub/misc.h (grub_printf_): New declaration.
31 * kern/misc.c (grub_printf_): New definition.
32 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33 instead of `grub_printf' and `_'.
34 * normal/menu_entry.c (store_completion): Likewise.
35 (run): Likewise.
36 (grub_menu_entry_run): Likewise.
37 * normal/menu_text.c (grub_wait_after_message): Likewise.
38 (notify_booting): Likewise.
39 (notify_fallback): Likewise.
40 (notify_execution_failure): Likewise.
41
d6ceebf1
CW
422009-12-07 Colin Watson <cjwatson@ubuntu.com>
43
44 * configure.ac: Check for vasprintf.
45 * util/misc.c (asprintf): Move allocation from here ...
46 (vasprintf): ... to here. New function.
47 (xasprintf): New function.
48 * include/grub/util/misc.h (vasprintf, xasprintf): Add
49 prototypes.
50 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
51 * util/grub-mkfont.c (write_font): Likewise.
52 * util/grub-probe.c (probe): Likewise.
53 * util/hostdisk.c (make_device_name): Likewise.
54
de6daa8b
DM
552009-12-06 David S. Miller <davem@sunset.davemloft.net>
56
57 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
58 anything even prefixed with 'cdrom' as a cdrom.
59
df91e679
FZ
602009-12-06 Felix Zielcke <fzielcke@z-51.de>
61
62 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
63 mount points.
64
98d3dc02
CPE
652009-12-05 Carles Pina i Estany <carles@pina.cat>
66
67 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
68 grub_gettext_msg_list.
69 (grub_gettext_gettranslation_from_position): Return const char *
70 and not char *.
71 (grub_gettext_translate): Add the translated strings into a list,
72 returns from the list if existing there.
73 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
74 (grub_gettext_delete_list): Delete the list.
75 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
76 lang environment variable is changed.
77 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
78
b283f108
VS
792009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Rename kernel.mod to kernel.img.
82
83 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
84 (kernel_mod_EXPORTS): Rename to ...
85 (kernel_img_EXPORTS): ... this.
86 (kernel_mod_SOURCES): Rename to ...
87 (kernel_img_SOURCES): ... this.
88 (kernel_mod_HEADERS): Rename to ...
89 (kernel_img_HEADERS): ... this. All users updated.
90 (kernel_mod_CFLAGS): Rename to ...
91 (kernel_img_CFLAGS): ... this.
92 (kernel_mod_ASFLAGS): Rename to ...
93 (kernel_img_ASFLAGS): ... this.
94 (kernel_mod_LDFLAGS): Rename to ...
95 (kernel_img_LDFLAGS): ... this.
96 * conf/x86_64-efi.rmk: Likewise.
97 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
98 (read_kernel_image): ... this. All users updated.
99 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
100
69055f8a
CPE
1012009-12-05 Carles Pina i Estany <carles@pina.cat>
102
103 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
104 (print_spaces): New function.
105 (grub_print_ucs4): New function.
106 (getstringwidth): New function.
107 (print_message_indented): New function.
108 (print_message): Gettexttize strings using print_message_indented.
109 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
110 width.
111 (get_entry_number): Gettextize and uses dynamic terminal width.
112 (notify_booting, notify_fallback, notify_execution_failure):
113 Gettextize.
114 * normal/menu_entry.c (store_completion): Cleanup the gettextized
115 string.
116 (run): Likewise.
117 (grub_menu_entry_run): Likewise.
118 * PO/POTFILES: Add normal/menu_entry.c.
119
f616f51c
VS
1202009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
123
57bbe3be
CPE
1242009-12-05 Carles Pina i Estany <carles@pina.cat>
125
126 * util/grub-install.in: Install gettext .mo files.
127 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
128
013d67a1
CPE
1292009-12-05 Carles Pina i Estany <carles@pina.cat>
130
131 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
132 grub_dprintf.
133
fb954db0
RM
1342009-12-05 Robert Millan <rmh.grub@aybabtu.com>
135
136 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
137 non-firmware-dependant one in realmode.S takes precedence.
138
6b8474f8
RM
1392009-12-04 Robert Millan <rmh.grub@aybabtu.com>
140
141 * commands/halt.c: Replace misc arch-specific headers with
142 `<grub/misc.h>'.
143 * commands/reboot.c: Likewise.
144 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
145 `<grub/misc.h>'.
146 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
147 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
148 (kernel_img_SOURCES): ... to here.
149
150 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
151 * include/grub/i386/pc/init.h: Likewise.
152 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
153 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
154
155 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
156
157 * include/grub/i386/halt.h: Remove.
158 * include/grub/i386/reboot.h: Likewise.
159
160 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
161
4b2e6ca2
DM
1622009-12-03 David S. Miller <davem@sunset.davemloft.net>
163
164 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
165 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
166 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
167 "progname.h"
168 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
169 * util/sparc64/ieee1275/grub-setup.c: Likewise.
170 (usage): Add missing comma in printf.
171
5239348f
RM
1722009-12-02 Robert Millan <rmh.grub@aybabtu.com>
173
174 Use the same reboot approach on i386 coreboot and qemu as we do on
175 BIOS.
176
177 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
178 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
179 * kern/i386/reboot.c: Remove.
180 * include/grub/i386/reboot.h (grub_reboot): Export function.
181 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
182 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
183 0xf000:0xfff0 instead of 0xffff:0x0000.
184 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
185 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
186
ef34cbd4
RM
1872009-11-30 Robert Millan <rmh.grub@aybabtu.com>
188
189 Fix $srcdir != $objdir build.
190
191 * Makefile.in (po/%.po): Rewrite as ...
192 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
193
dc9837ea
ST
1942009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
195
196 Fix GNU/Hurd grub-install crash.
197 * util/grub-probe.c (probe): Try to access `path' only when it is not
198 NULL.
199
2f857f98
VS
2002009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
201
202 Correct module naming.
203
204 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
205 (GRUB_MOD_INIT(efi_uga)): ... to this
206 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
207 (GRUB_MOD_FINI(efi_uga)): ... to this
208 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
209 (GRUB_MOD_INIT(efi_gop)): ... to this
210 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
211 (GRUB_MOD_FINI(efi_gop)): ... to this
212
c5448046
RM
2132009-11-28 Robert Millan <rmh.grub@aybabtu.com>
214
215 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
216 translatable.
217 (usage): Translate `arg' strings using gettext().
218 Thanks to Jordi Mallach for the suggestion.
219
c85184ad
VS
2202009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
221
222 GOP support. Based on patch from Bean
223 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
224
225 * video/efi_gop.c: New file.
226 * include/grub/efi/graphics_output.h: Likewise.
227 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
228 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
229 variables.
230 * conf/x86_64-efi.rmk: Likewise.
231
8a4c48d8
VS
2322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
233
234 Rename efi_fb to efi_uga.
235
236 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
237 'efi_uga.mod'.
238 (efi_fb_mod_SOURCES): Rename this ...
239 (efi_uga_mod_SOURCES): ... to this.
240 (efi_fb_mod_CFLAGS): Rename this ...
241 (efi_uga_mod_CFLAGS): ... to this.
242 (efi_fb_mod_LDFLAGS): Rename this ...
243 (efi_uga_mod_LDFLAGS): ... to this.
244 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
245 'efi_uga.mod'.
246 (efi_fb_mod_SOURCES): Rename this ...
247 (efi_uga_mod_SOURCES): ... to this.
248 (efi_fb_mod_CFLAGS): Rename this ...
249 (efi_uga_mod_CFLAGS): ... to this.
250 (efi_fb_mod_LDFLAGS): Rename this ...
251 (efi_uga_mod_LDFLAGS): ... to this.
252 * video/efi_fb.c: Move this ...
253 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
254
fb6c1a7b
RM
2552009-11-27 Robert Millan <rmh.grub@aybabtu.com>
256
257 * po/README: New file. Explain our PO file workflow.
258
3bc7896c
RM
2592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
260
261 * po/ChangeLog: Remove. Move relevant entries back to ...
262 * ChangeLog: ... here.
263 * po/ca.po: Remove (now handled by TLP).
264 * po/id.po: Likewise.
265 * po/zh_CN.po: Likewise.
266 * Makefile.in (LINGUAS): Initialize in a way that supports
267 empty set.
268
9ed4841d
RM
2692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
270
271 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
272 reliing on po/LINGUAS.
273 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
274 (po/%.po): ... this.
275
242668a2
FZ
2762009-11-26 Felix Zielcke <fzielcke@z-51.de>
277
278 * util/i386/efi/grub-mkimage.c: Include "progname.h".
279 (main): Use `program_name' instead of nonexistent `progname'.
280
e30dd392
FZ
2812009-11-26 Felix Zielcke <fzielcke@z-51.de>
282
283 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
284 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
285
7656de4f
RM
2862009-11-26 Robert Millan <rmh.grub@aybabtu.com>
287
288 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
289 commit.
290 * conf/i386-efi.rmk: Likewise.
291 * conf/i386-ieee1275.rmk: Likewise.
292 * conf/powerpc-ieee1275.rmk: Likewise.
293 * conf/sparc64-ieee1275.rmk: Likewise.
294 * conf/x86_64-efi.rmk: Likewise.
295
db77c4d4
FZ
2962009-11-26 Felix Zielcke <fzielcke@z-51.de>
297
298 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
299
a755bb04
FZ
3002009-11-26 Felix Zielcke <fzielcke@z-51.de>
301
302 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
303
8a4c07fd
RM
3042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
305
306 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
307 (grub_mkdevicemap_SOURCES): New variable.
308 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
309 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
310 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
311 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
312 (grub_mkdevicemap_SOURCES): Remove.
313 * conf/i386-efi.rmk: Likewise.
314 * conf/i386-ieee1275.rmk: Likewise.
315 * conf/i386-pc.rmk: Likewise.
316 * conf/powerpc-ieee1275.rmk: Likewise.
317 * conf/sparc64-ieee1275.rmk: Likewise.
318 * conf/x86_64-efi.rmk: Likewise.
319 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
320 (usage): Fix strings to use `program_name'.
321 (main): Initialize gettext.
322 * util/grub-editenv.c: Likewise.
323 * util/grub-emu.c: Likewise.
324 * util/grub-fstest.c: Likewise.
325 * util/grub-mkdevicemap.c: Likewise.
326 * util/grub-mkfont.c: Likewise.
327 * util/grub-mkrelpath.c: Likewise.
328 * util/grub-pe2elf.c: Likewise.
329 * util/grub-probe.c: Likewise.
330 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
331 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
332 * util/sparc64/ieee1275/grub-setup.c: Likewise.
333
334 * util/misc.c: Include `"progname.h"'.
335 (progname): Remove variable.
336 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
337
6f61ed55
FZ
3382009-11-25 Felix Zielcke <fzielcke@z-51.de>
339
340 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
341 printf and print a newline after the menuentry header line.
342 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
343
f022876b
FZ
3442009-11-25 Felix Zielcke <fzielcke@z-51.de>
345
346 autoconf >= 2.60 support $(localedir).
347
348 * INSTALL: Note that autoconf 2.60 is required.
349 * configure.ac (AC_PREREQ): Bump to 2.60.
350 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
351 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
352
6717926e
YB
3532009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
354
355 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
356 aclocal is run.
357
08806a54
RM
3582009-11-25 Robert Millan <rmh.grub@aybabtu.com>
359
360 * normal/main.c (grub_normal_read_line): Fix off-by-one
361 buffer overflow.
362
13b33fba
RM
3632009-11-25 Robert Millan <rmh.grub@aybabtu.com>
364
365 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
366 "parser.grub" in grub_command_execute() call.
367
4a8572e9
CPE
3682009-11-24 Carles Pina i Estany <carles@pina.cat>
369
370 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
371 * conf/i386-efi.rmk: Likewise.
372 * conf/i386-ieee1275.rmk: Likewise.
373 * conf/i386-pc.rmk: Likewise.
374 * conf/powerpc-ieee1275.rmk: Likewise.
375 * conf/sparc64-ieee1275.rmk: Likewise.
376 * conf/x86_64-efi.rmk: Likewise.
377 * gettext/gettex.c: Include <grub/i18n.h>.
378 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
379 here ...
380 * include/grub/i18n.h: ... to here
381 * include/grub/i18n.h: ... to here.
382 * kern/misc.c: Include <grub/i18n.h>
383 (grub_gettext_dummy): Move above user.
384
bee48093
FZ
3852009-11-24 Felix Zielcke <fzielcke@z-51.de>
386
387 * util/Makefile.in (install-local): Convert a `for' into a normal
388 shell expansion.
389
a031e91c
RM
3902009-11-24 Robert Millan <rmh.grub@aybabtu.com>
391
392 * autogen.sh: Add automake call.
393 * config.guess: Remove.
394 * config.sub: Likewise.
395 * install-sh: Likewise.
396
26bec39d
FZ
3972009-11-24 Felix Zielcke <fzielcke@z-51.de>
398
399 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
400
8e2532fd
FZ
4012009-11-24 Felix Zielcke <fzielcke@z-51.de>
402
403 * util/Makefile.in (install-local): Convert a make `$(foreach)'
404 function to a normal shell `for'.
405
fefa1b7d
FZ
4062009-11-24 Felix Zielcke <fzielcke@z-51.de>
407
408 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
409
4501250b
FZ
4102009-11-24 Felix Zielcke <fzielcke@z-51.de>
411
412 * util/grub-mkrelpath.c: New file.
413 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
414 (grub_mkrelpath_SOURCES): New variable.
415 * include/grub/util/misc.h: New function prototype.
416 * util/misc.c (make_system_path_relative_to_its_root): New function.
417
418 * util/grub-mkconfig_lib.in (bindir): New variable.
419 (grub_mkrelpath): Likewise.
420 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
421
422 * util/probe.c (probe): Make the file path relative to its root.
423 Change a info message to use the GRUB path. Enable again the
424 check if we can read the file with GRUB facilities.
425
426 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
427 to its root.
428
11d9778b
FZ
4292009-11-24 Felix Zielcke <fzielcke@z-51.de>
430
431 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
432 platform.
433
4465287d
FZ
4342009-11-24 Felix Zielcke <fzielcke@z-51.de>
435
436 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
437 strncmp().
438
62b47f22
FZ
4392009-11-24 Felix Zielcke <fzielcke@z-51.de>
440
441 * util/getroot.c (grub_util_is_dmraid): New function.
442 (grub_util_get_dev_abstraction): Treat dmraid and multipath
443 devices as normal ones, not as LVM.
444
1eafb9b9 4452009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
446
447 * conf/common.rmk: Add grub-gettext_lib target and updates
448 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
449 LDFLAGS.
450 * gettext/gettext.c: New file. (Reads mo files).
451 * include/grub/file.h (grub_file_pread): New prototype.
452 * include/grub/i18n.h (_): New prototype.
453 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
454 prototypes.
455 * kern/misc.c (grub_gettext_dummy): New function.
456 * normal/menu_text.c: Include <grub/i18n.h>.
457 * normal/menu_text.c (print_timeout): Gettexttize string.
458 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
459 * po/POTFILES: Add `normal/menu_text.c'.
460 * po/ca.po: Add new translations.
c3ea6bd4
CPE
461 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
462 gettext module and defines locale_dir and lang in grub.cfg.
463 * NEWS: Add gettext support.
464
0fdb2568
RM
4652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
466
467 * util/hostdisk.c: Include `<grub/i18n.h>'.
468 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
469 (make_device_name): Rewrite using asprintf.
470 (convert_system_partition_to_system_disk): Replace 0 with NULL.
471 (find_system_device): If a device is not found, generate one just
472 by reusing the OS path name.
473 (read_device_map): Make it permissible for device.map not to exist.
474
f515aa62
RM
4752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
476
477 * script/sh/execute.c: Move from here ...
478 * script/execute.c: ... to here. Update all users.
479 * script/sh/function.c: Move from here ...
480 * script/function.c: ... to here. Update all users.
481 * script/sh/lexer.c: Move from here ...
482 * script/lexer.c: ... to here. Update all users.
483 * script/sh/main.c: Move from here ...
484 * script/main.c: ... to here. Update all users.
485 * script/sh/parser.y: Move from here ...
486 * script/parser.y: ... to here. Update all users.
487 * script/sh/script.c: Move from here ...
488 * script/script.c: ... to here. Update all users.
489
f84b481b
RM
4902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
491
492 * configure.ac: Detect all `emu' platforms. Define
493 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
494 --enable-grub-emu logic. Disable include/grub/machine
495 symlink on `emu' platforms.
496
497 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
498 * gensymlist.sh.in: Likewise.
499
500 * include/grub/i386/coreboot/machine.h: Remove file.
501 * include/grub/i386/efi/machine.h: Likewise.
502 * include/grub/i386/ieee1275/machine.h: Likewise.
503 * include/grub/i386/pc/machine.h: Likewise.
504 * include/grub/i386/qemu/machine.h: Likewise.
505 * include/grub/powerpc/ieee1275/machine.h: Likewise.
506 * include/grub/sparc64/ieee1275/machine.h: Likewise.
507 * include/grub/x86_64/efi/machine.h: Likewise.
508
509 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
510 * commands/halt.c: Likewise.
511 * commands/reboot.c: Likewise.
512 * include/grub/autoefi.h: Likewise.
513 * include/grub/i386/at_keyboard.h: Likewise.
514 * include/grub/i386/kernel.h: Likewise.
515 * include/grub/i386/loader.h: Likewise.
516 * include/grub/i386/pc/memory.h: Likewise.
517 * kern/dl.c: Likewise.
518 * kern/i386/coreboot/init.c: Likewise.
519 * loader/i386/bsd.c: Likewise.
520 * loader/i386/linux.c: Likewise.
521 * loader/multiboot_loader.c: Likewise.
522 * term/i386/pc/serial.c: Likewise.
523 * term/usb_keyboard.c: Likewise.
524
525 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
526 `<grub/machine/machine.h>'
527 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
528 * util/misc.c: Remove `<grub/machine/machine.h>' and
529 `<grub/machine/time.h>'.
530
531 * Makefile.in (enable_grub_emu): Remove variable.
532 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
533
534 * conf/any-emu.rmk: New file.
535 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
536 (grub_emu_init.c): Move from here ...
537 * conf/any-emu.rmk: ... to here.
538
539 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
540 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
541 * conf/any-emu.rmk: ... to here.
542
4efeab03
RM
5432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
544
545 * include/grub/parser.h (grub_parser_register): Document need
546 of `name' parameter.
547 * normal/main.c (grub_normal_read_line): Simplify prompt string.
548 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
549 "sh" to "grub".
550
ea1dd8bf
RM
5512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
552
553 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
554 `$(XGETTEXT)'.
555 * include/grub/i18n.h (N_): New macro.
556 * util/mkisofs/mkisofs.h: Likewise.
557 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
558 around N_().
559 (usage): Use gettext() to translate help strings when printing them.
560
0c140626
RM
5612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
562
563 Based on patch from Bean
564 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
565
566 * video/efi_fb.c: New file.
567 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
568 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
569 variables.
570 * conf/x86_64-efi.rmk: Likewise.
571
87d58298
RM
5722009-11-22 Robert Millan <rmh.grub@aybabtu.com>
573
574 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
575 * util/i386/pc/grub-setup.c: Likewise.
576
994cc3a3
ST
5772009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
578
579 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
580 <hurd/fs.h>
581 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
582 file_get_storage_info to implement grub_guess_root_device.
583
26a61d6a
FZ
5842009-11-21 Felix Zielcke <fzielcke@z-51.de>
585
586 * Makefile.in (target): Use make's builtin $(shell) function
587 instead of calling directly $(SHELL) to create the locale directories,
588 inside the $(foreach) function.
589
74ff1dd5
FZ
5902009-11-21 Felix Zielcke <fzielcke@z-51.de>
591
592 * util/grub-mkrescue.in: Print an error and usage if output option
593 has not been given.
594
0b787d0e
FZ
5952009-11-21 Felix Zielcke <fzielcke@z-51.de>
596
597 Patch from Loïc Minier <loic.minier@ubuntu.com>.
598 * util/grub.d/30_os-prober.in: Cope with Linux entries where
599 root and /boot are on different devices.
600
1164b270
RM
6012009-11-21 Robert Millan <rmh.grub@aybabtu.com>
602
603 Fix build for srcdir != objdir.
604
605 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
606 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
607 $(srcdir).
608 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
609 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
610 reference for input.
611
13774a2f
RM
6122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
613
614 * util/grub-mkrescue.in: Use source directory direcly (without copiing
615 or hardlinking it). Remove -J option, Joliet is not compatible with
616 multiple source directories.
617
efda854e
RM
6182009-11-21 Carles Pina i Estany <carles@pina.cat>
6192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
620
621 * util/grub-mkrescue.in: Recognize `--override-directory' option.
622 (process_input_dir): New function. Process an arbitrary input
623 directory.
624 Misc adjustments to support both "override mode" and system-wide mode.
625
6c09890c
FZ
6262009-11-20 Felix Zielcke <fzielcke@z-51.de>
627
628 * configure.ac (UNIFONT_BDF): Rename to ...
629 (FONT_SOURCE): ... this. Update all users.
630
a797824f
FZ
6312009-11-20 Felix Zielcke <fzielcke@z-51.de>
632
633 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
634 to the list of unifont files to look for.
635
cd4f42b0
RM
6362009-11-19 Robert Millan <rmh.grub@aybabtu.com>
637
638 Patch from Joe Auricchio <jauricchio@gmail.com>
639 * commands/minicmd.c (grub_mini_cmd_clear): New function.
640 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
641 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
642
393c783d
FZ
6432009-11-19 Felix Zielcke <fzielcke@z-51.de>
644
645 * Makefile.in (install-local): Add a missing backslash.
646
b2f1e327
FZ
6472009-11-19 Felix Zielcke <fzielcke@z-51.de>
648
649 * include/grub/x86_64/io.h: New file.
650
f577f7a0
RM
6512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
652
653 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
654 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
655 Include `"progname.h"'.
656 (main): Initialize gettext.
657 * util/i386/pc/grub-setup.c: Gettexttize.
658 * util/i386/pc/grub-mkimage.c: Likewise.
659
660 * Makefile.in (po/*.po): Redefine as ...
661 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
662
3bc7896c
RM
663 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
664
c37943b6
RM
6652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
666
667 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
668 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
669 (program_name): Remove.
670 (main): Initialize gettext support.
6323f705
RM
671 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
672 Include `<libintl.h>'.
673 (_): New macro.
c37943b6
RM
674
675 * util/mkisofs/eltorito.c: Gettexttize.
676 * util/mkisofs/joliet.c: Likewise.
677 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
678 * util/mkisofs/multi.c: Likewise.
679 * util/mkisofs/rock.c: Likewise.
680 * util/mkisofs/tree.c: Likewise.
681 * util/mkisofs/write.c: Likewise.
682
3bc7896c
RM
683 * po/POTFILES: Update with new files.
684
5ce77c6e
RM
6852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
686
687 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
688 * util/mkisofs/iso9660.h: Likewise.
689 * util/mkisofs/joliet.c: Likewise.
690 * util/mkisofs/mkisofs.c: Likewise.
691 * util/mkisofs/mkisofs.h: Likewise.
692 * util/mkisofs/rock.c: Likewise.
693 * util/mkisofs/tree.c: Likewise.
694 * util/mkisofs/write.c: Likewise.
695
696 * util/mkisofs/eltorito.c (rcsid): Remove.
697 * util/mkisofs/hash.c: Likewise.
698 * util/mkisofs/joliet.c: Likewise.
699 * util/mkisofs/name.c: Likewise.
700 * util/mkisofs/rock.c: Likewise.
701 * util/mkisofs/tree.c: Likewise.
702 * util/mkisofs/write.c: Likewise.
703
1dabbc77
RM
7042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
705
706 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
707 instead of static allocation.
708 * util/mkisofs/match.h: Likewise.
709
633877cb
RM
7102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
711
3bc7896c
RM
712 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
713 and `util/grub.d/10_linux.in'.
633877cb
RM
714 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
715 translatable Shell files.
716
af1c0c85
RM
7172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
718
719 * Makefile.in ($(srcdir)/aclocal.m4): New target.
720
769ae37b
RM
7212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
722
723 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 724 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
725 * util/grub.d/10_kfreebsd.in (bindir): New variable.
726 Add gettext initialization.
727 (kfreebsd_entry): Make menuentry output translatable.
728
7292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
730
731 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
732 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
733 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
734 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
735 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 736 * po/LINGUAS: New file.
769ae37b
RM
737
7382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
739
740 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
741 other things).
742 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
743 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
744 bindtextdomain() calls for gettext initialization.
745
7462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
747
748 * gnulib/progname.c: New file (imported from Gnulib).
749 * gnulib/progname.h: Likewise.
750 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
751 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
752 (usage): Replace `progname' with `program_name'.
753 (main): Use set_program_name() for program name initialization.
754
7552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
756
757 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
758 from here ...
759 * Makefile.in (CPPFLAGS): ... to here.
760
7612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
762
763 * aclocal.m4: Move from here ...
764 * acinclude.m4: ... to here.
765 * autogen.sh: Add call to `aclocal'.
766 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
767
7682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
769
770 * Makefile.in (CLEANFILES): Add `po/*.mo'.
771 (LINGUAS): New variable.
772 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
773 (install-local): Install MO files.
774 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
775 * include/grub/i18n.h: New file.
3bc7896c
RM
776 * po/POTFILES: New file.
777 * po/ca.po: New file.
769ae37b
RM
778 * util/grub.d/10_linux.in (bindir): New variable.
779 Add gettext initialization.
780 (linux_entry): Make menuentry output translatable.
781 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
782 (usage): Make --help output translatable.
783 (main): Initialize gettext.
784
02c0a6ad
RM
7852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
786
787 * import_gcry.py: New file (written by Vladimir with minor
788 adjustments).
789 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
790 ciphers.
791 * INSTALL: Document that Python is required for bootstrap.
792
7932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
794
795 Import ciphers from libgcrypt 1.4.4.
796
797 * lib/libgcrypt/cipher/ChangeLog
798 * lib/libgcrypt/cipher/ac.c
799 * lib/libgcrypt/cipher/arcfour.c
800 * lib/libgcrypt/cipher/bithelp.h
801 * lib/libgcrypt/cipher/blowfish.c
802 * lib/libgcrypt/cipher/camellia-glue.c
803 * lib/libgcrypt/cipher/camellia.c
804 * lib/libgcrypt/cipher/camellia.h
805 * lib/libgcrypt/cipher/cast5.c
806 * lib/libgcrypt/cipher/cipher.c
807 * lib/libgcrypt/cipher/crc.c
808 * lib/libgcrypt/cipher/des.c
809 * lib/libgcrypt/cipher/dsa.c
810 * lib/libgcrypt/cipher/ecc.c
811 * lib/libgcrypt/cipher/elgamal.c
812 * lib/libgcrypt/cipher/hash-common.c
813 * lib/libgcrypt/cipher/hash-common.h
814 * lib/libgcrypt/cipher/hmac-tests.c
815 * lib/libgcrypt/cipher/md.c
816 * lib/libgcrypt/cipher/md4.c
817 * lib/libgcrypt/cipher/md5.c
818 * lib/libgcrypt/cipher/primegen.c
819 * lib/libgcrypt/cipher/pubkey.c
820 * lib/libgcrypt/cipher/rfc2268.c
821 * lib/libgcrypt/cipher/rijndael-tables.h
822 * lib/libgcrypt/cipher/rijndael.c
823 * lib/libgcrypt/cipher/rmd.h
824 * lib/libgcrypt/cipher/rmd160.c
825 * lib/libgcrypt/cipher/rsa.c
826 * lib/libgcrypt/cipher/seed.c
827 * lib/libgcrypt/cipher/serpent.c
828 * lib/libgcrypt/cipher/sha1.c
829 * lib/libgcrypt/cipher/sha256.c
830 * lib/libgcrypt/cipher/sha512.c
831 * lib/libgcrypt/cipher/tiger.c
832 * lib/libgcrypt/cipher/twofish.c
833 * lib/libgcrypt/cipher/whirlpool.c
834
af2f93ac
RM
8352009-11-16 Robert Millan <rmh.grub@aybabtu.com>
836
837 Fix build for systems without error().
838
839 * gnulib/error.c: New file (imported from Gnulib).
840 * gnulib/error.h: Likewise.
841 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
842 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
843 (this variable is now used by error()).
844
73fb3dd5
FZ
8452009-11-16 Felix Zielcke <fzielcke@z-51.de>
846
814f5e96
FZ
847 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
848 instead of relying that char is signed.
73fb3dd5 849
a691ca33
VS
8502009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
853 blocksize different from specified.
854 (grub_pxefs_read): Likewise.
855
2af8f0f4
FZ
8562009-11-16 Felix Zielcke <fzielcke@z-51.de>
857
858 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
859
860 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
861 (grub_ata_readwrite): Likewise. Update 2 format strings.
862 (grub_atapi_read): Likewise.
863
864 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
865 * conf/i386.rmk (pkglib_MODULES): ... to here ...
866 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
867 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
868 (ata_mod_LDFLAGS): Move from here ...
869 * conf/i386.rmk: ... to here ...
870 * conf/x86_64-efi.rmk: ... and here.
871 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
872 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
873
83bdecaf
RM
8742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
875
876 Relicense multiboot.h, with RMS' blessing.
877
878 * include/multiboot.h: Change to X11 license.
879
fd6fd3d7
RM
8802009-11-15 Robert Millan <rmh.grub@aybabtu.com>
881
882 Support --version in grub-mkisofs.
883
884 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
885 (OPTION_VERSION): New macro.
886 (ld_options): Recognize --version.
887 (usage): Move `program_name' from here ...
888 (program_name): ... to here. Add `static' qualifier.
889 (main): Recognize `OPTION_VERSION'.
890
16a88c49
FZ
8912009-11-15 Felix Zielcke <fzielcke@z-51.de>
892
893 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
894 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
895
a4158476
RM
8962009-11-14 Robert Millan <rmh.grub@aybabtu.com>
897
898 Fix help2man generation for mkisofs.
899
900 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
901 (usage): Send output to stdout (rather than stderr).
902
fc2208b0
RM
9032009-11-14 Robert Millan <rmh.grub@aybabtu.com>
904
905 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
906 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
907 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
908 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
909 (bin_SCRIPTS): Add `grub-mkfloppy'.
910 (grub_mkfloppy_SOURCES): New variable.
911
912 * util/grub-mkrescue.in: New file.
913 * util/i386/pc/grub-mkfloppy.in: New file.
914
915 * util/i386/coreboot/grub-mkrescue.in: Remove.
916 * util/i386/pc/grub-mkrescue.in: Remove.
917
8d0edf4a
RM
9182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
919
920 * include/grub/multiboot.h (struct grub_multiboot_header): Move
921 from here ...
922 * include/multiboot.h (struct multiboot_header): ... to here. Update
923 all users.
924 * include/grub/multiboot.h (struct grub_multiboot_info): Move
925 from here ...
926 * include/multiboot.h (struct multiboot_info): ... to here. Update
927 all users.
928 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
929 from here ...
930 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
931 Update all users.
932 * include/grub/multiboot.h (struct grub_mod_list): Move
933 from here ...
934 * include/multiboot.h (struct multiboot_mod_list): ... to here.
935 Update all users.
936
a73f5969
RM
9372009-11-13 Robert Millan <rmh.grub@aybabtu.com>
938
939 * include/multiboot2.h (multiboot_word): Rename from this ...
940 (multiboot2_word): ... to this. Update all users.
941 (multiboot_header): Rename from this ...
942 (multiboot2_header): ... to this. Update all users.
943 (multiboot_tag_header): Rename from this ...
944 (multiboot2_tag_header): ... to this. Update all users.
945 (multiboot_tag_start): Rename from this ...
946 (multiboot2_tag_start): ... to this. Update all users.
947 (multiboot_tag_name): Rename from this ...
948 (multiboot2_tag_name): ... to this. Update all users.
949 (multiboot_tag_module): Rename from this ...
950 (multiboot2_tag_module): ... to this. Update all users.
951 (multiboot_tag_memory): Rename from this ...
952 (multiboot2_tag_memory): ... to this. Update all users.
953 (multiboot_tag_unused): Rename from this ...
954 (multiboot2_tag_unused): ... to this. Update all users.
955 (multiboot_tag_end): Rename from this ...
956 (multiboot2_tag_end): ... to this. Update all users.
957
1c8927f0
RM
9582009-11-13 Robert Millan <rmh.grub@aybabtu.com>
959
960 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
961 this platform we should support Multiboot1 first.
962
963 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
964 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
965 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
966
6e1e0d89
RM
9672009-11-12 Robert Millan <rmh.grub@aybabtu.com>
968
969 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
970 of write calls (converting them to fwrite() if they aren't already).
971 (get_torito_desc): Likewise.
972 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
973
7f2b34d8
RM
9742009-11-12 Robert Millan <rmh.grub@aybabtu.com>
975
976 * util/i386/pc/grub-install.in: Move from here ...
977 * util/grub-install.in: ... to here. Update all users.
978
c0ef3311
CW
9792009-11-11 Colin Watson <cjwatson@ubuntu.com>
980
981 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
982
e1f240ff
RM
9832009-11-11 Robert Millan <rmh.grub@aybabtu.com>
984
985 Support for El Torito without floppy emulation.
986
987 * util/mkisofs/eltorito.c: Include `<errno.h>'.
988 (init_boot_catalog): Improve error handling.
989 (get_torito_desc): Don't use floppy emulation unless requested by
990 user. Patch boot information table when requested via
991 `-boot-info-table'.
992 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
993 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
994 (use_boot_info_table): New variables.
995 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
996 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
997 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
998 `--eltorito-emul-floppy'.
999 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
1000 and `OPTION_ELTORITO_EMUL_FLOPPY'.
1001 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
1002 (use_boot_info_table, get_731): New prototypes.
1003 * util/mkisofs/write.c (get_731): New function.
1004
af7d4de5
FZ
10052009-11-11 Felix Zielcke <fzielcke@z-51.de>
1006
1007 Fix the generation of the man page.
1008
1009 * util/pc/i386/grub-install.in: Source
1010 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1011
2c55dbc0
RM
10122009-11-11 Robert Millan <rmh.grub@aybabtu.com>
1013
1014 Large file support for grub-mkisofs.
1015
1016 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
1017 * util/mkisofs/mkisofs.c (next_extent, last_extent)
1018 (session_start): Upgrade type to `uint64_t'. Update all users.
1019 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
1020 (struct directory_entry): Upgrade type of `starting_block' and
1021 `size' to `uint64_t'. Update all users.
1022 (struct deferred): Remove unused structure.
1023 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
1024 Update all users.
1025 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
1026 file is larger than `UINT32_MAX'.
1027 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
1028 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
1029 return value.
1030 (struct deferred_write): Upgrade type of `extent' and `size' to
1031 `uint64_t'. Update all users.
1032 (last_extent_written): Upgrade type to `uint64_t'. Update all
1033 users.
1034 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
1035 Update all users. Upgrade type of `remain' to `int64_t' and
1036 `use' to `size_t'. Use error() to handle fread() errors.
1037 (write_files): Rely on write_one_file() rather than calling
1038 xfwrite() directly.
1039
6a9cead5
FZ
10402009-11-09 Felix Zielcke <fzielcke@z-51.de>
1041
1042 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
1043
4825d790
RM
10442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1045
1046 * util/mkisofs/fnmatch.c: Remove.
1047 * util/mkisofs/getopt1.c: Likewise.
1048 * util/mkisofs/getopt.c: Likewise.
1049 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
1050 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
1051 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
1052 `gnulib/getopt1.c' and `gnulib/getopt.c'.
1053 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
1054
1055 * configure.ac: Detect `mingw32msvc' host_os.
1056 Check for lstat(), getuid() and getgid().
1057
1058 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
1059 instances of `u_char' with `uint8_t'.
1060
1061 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
1062 [!HAVE_GETUID] (getuid): New function (stub).
1063 [!HAVE_GETGID] (getgid): Likewise.
1064 [!HAVE_LSTAT] (lstat): Likewise.
1065 [!S_IROTH] (S_IROTH): New macro (dummy).
1066 [!S_IRGRP] (S_IRGRP): Likewise.
1067
84b860d8
RM
10682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1069
1070 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
1071 conditional expression).
1072
66e9b712
RM
10732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1074
1075 Import from Gnulib.
1076
1077 * gnulib/fnmatch.c: New file.
1078 * gnulib/fnmatch.h: Likewise.
1079 * gnulib/fnmatch_loop.c: Likewise.
1080 * gnulib/getopt.c: Likewise.
1081 * gnulib/getopt.h: Likewise.
1082 * gnulib/getopt1.c: Likewise.
1083 * gnulib/getopt_int.h: Likewise.
1084 * gnulib/gettext.h: Likewise.
1085
34f4a5b0
RM
10862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1087
1088 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
1089 * normal/handler.c (read_handler_list): Likewise.
1090
ac451143
RM
10912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1092
1093 Misc cleanup.
1094
1095 * kern/command.c (grub_register_command_prio): Use
1096 grub_zalloc() instead of explicitly zeroing data.
1097 * kern/list.c: Include `<grub/mm.h>'.
1098 (grub_named_list_find): Replace `0' with `NULL'.
1099 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
1100 (fs_module_list): Change type to `grub_named_list_t'. Update all
1101 users.
1102 * normal/dyncmd.c (read_command_list): Add space between function
1103 call and parenthesis.
1104 * normal/handler.c (read_handler_list): Likewise.
1105
4089b167
RM
11062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1107
1108 * normal/auth.c (punishment_delay): Moved from here ...
1109 (grub_auth_strcmp): ... to here (inside function).
1110
325f5037
RM
11112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1112
1113 * include/grub/list.h (struct grub_named_list): Remove `const'
1114 qualifier from `name'.
1115 (struct grub_prio_list): Likewise.
1116
7aea29a3
RM
11172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1118
1119 * normal/auth.c: Include `<grub/time.h>'.
1120 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
1121
3fd6f044
RM
11222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1123
1124 * normal/auth.c (punishment_delay): New variable.
1125 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
1126 (grub_auth_check_authentication): Punish failed login attempts with
1127 an incremental (2^N) delay.
1128
a4cd68e4
RM
11292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1130
1131 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
1132 path with $(srcdir).
1133
7ad12f43
VS
11342009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
1137
c1129f03
RM
11382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1139
1140 * util/i386/coreboot/grub-mkrescue.in: New file.
1141 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
1142 variables.
1143
1144 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
1145 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
1146 * configure.ac: Add header and function checks to satisfy grub-mkisofs
1147 requirements.
1148 * util/mkisofs/defaults.h: New file.
1149 * util/mkisofs/eltorito.c: Likewise.
1150 * util/mkisofs/exclude.h: Likewise.
1151 * util/mkisofs/fnmatch.c: Likewise.
1152 * util/mkisofs/getopt.c: Likewise.
1153 * util/mkisofs/getopt1.c: Likewise.
1154 * util/mkisofs/hash.c: Likewise.
1155 * util/mkisofs/include/fctldefs.h: Likewise.
1156 * util/mkisofs/include/mconfig.h: Likewise.
1157 * util/mkisofs/include/prototyp.h: Likewise.
1158 * util/mkisofs/include/statdefs.h: Likewise.
1159 * util/mkisofs/iso9660.h: Likewise.
1160 * util/mkisofs/joliet.c: Likewise.
1161 * util/mkisofs/match.c: Likewise.
1162 * util/mkisofs/match.h: Likewise.
1163 * util/mkisofs/mkisofs.c: Likewise.
1164 * util/mkisofs/mkisofs.h: Likewise.
1165 * util/mkisofs/multi.c: Likewise.
1166 * util/mkisofs/name.c: Likewise.
1167 * util/mkisofs/rock.c: Likewise.
1168 * util/mkisofs/tree.c: Likewise.
1169 * util/mkisofs/write.c: Likewise.
1170
ec8bb77d
VS
11712009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
1174 being insecure.
1175
3716b12c
RM
11762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1177
1178 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
1179 `grub-mkimage' (and use $0 when possible).
1180
b97b7b91
RM
11812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1182
1183 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
1184 error message for excessively large memory map.
1185
04114812
RM
11862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1187
1188 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
1189 executable bit.
1190
e4eb2373
RM
11912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1192
1193 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
1194 message for coreboot users.
1195
c926e1d5 11962009-11-07 Robert Millan <rmh.grub@aybabtu.com>
1197
1198 Fix build with GNU gold.
1199
1200 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
1201 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
1202 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
1203 link addresses.
1204 * aclocal.m4: Likewise.
1205
86e5b1db 12062009-11-04 Felix Zielcke <fzielcke@z-51.de>
1207
1208 * configure.ac (AC_PREREQ): Bump to 2.59d.
1209 * INSTALL: Make it more clear when Autoconf and Ruby are
1210 needed and when to run `./autogen.sh'.
1211
246cd78f 12122009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1213
1214 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
1215 OSes.
1216
4f9dfb37 12172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1218
1219 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
1220
b82bd5e1 12212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1222
1223 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
1224 giving it to GNU Mach.
1225
ff1a9bca 12262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1227
1228 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
1229 GNU partition number to get internal GRUB partition number.
1230
61697d9c 12312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1232
1233 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
1234 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
1235
a50569e1 12362009-11-01 Robert Millan <rmh.grub@aybabtu.com>
1237
1238 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
1239 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
1240 case.
1241
5b153867 12422009-11-01 Felix Zielcke <fzielcke@z-51.de>
1243
1244 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
1245
d9e2cd70 12462009-10-30 Robert Millan <rmh.grub@aybabtu.com>
1247
1248 Fix build problem.
1249
1250 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
1251 `-isystem=$(srcdir)/include'.
1252
805111a4 12532009-10-30 Robert Millan <rmh.grub@aybabtu.com>
1254
1255 * util/i386/pc/grub-install.in: Remove hint that device.map should be
1256 checked (grub-install doesn't currently rely on it).
1257
fa6e945f 12582009-10-29 Robert Millan <rmh.grub@aybabtu.com>
1259
1260 Revert SVN r2660.
1261
1262 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
1263 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
1264 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
1265 * conf/i386-ieee1275.rmk: Likewise.
1266 * conf/i386-pc.rmk: Likewise.
1267 * conf/powerpc-ieee1275.rmk: Likewise.
1268 * conf/sparc64-ieee1275.rmk: Likewise.
1269 * conf/x86_64-efi.rmk: Likewise.
1270
cee15086 12712009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1272
1273 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
1274
95b9239e 12752009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1276
1277 * include/grub/misc.h: Stop checking for APPLE_CC.
1278
2ed19dfd 12792009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1280
1281 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
1282 doesn't cause an infinite call loop.
1283
fdcdde19 12842009-10-28 Felix Zielcke <fzielcke@z-51.de>
1285
1286 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
1287 strings.
1288
cefabfe1 12892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1290
1291 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
1292 variable.
1293 * Makefile.in: Likewise.
1294
ed96ab6d 12952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1296
1297 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
1298
0579b753 12992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1300
1301 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
1302
478df409 13032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1304
1305 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
1306
083d1679 13072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1308
1309 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
1310 from here ...
1311 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
1312
5947ae32 13132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1314
1315 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
1316 in $(MAKEINFO) invocation. This makes it clear in output that
1317 errors are being ignored.
1318
94180ff6 13192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1320
1321 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
1322 from here ...
1323 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
1324 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
1325 * conf/i386-ieee1275.rmk: Likewise.
1326 * conf/i386-pc.rmk: Likewise.
1327 * conf/powerpc-ieee1275.rmk: Likewise.
1328 * conf/sparc64-ieee1275.rmk: Likewise.
1329 * conf/x86_64-efi.rmk: Likewise.
1330
9031b03a 13312009-10-26 Colin Watson <cjwatson@ubuntu.com>
1332
1333 * util/grub-editenv.c (main): If only a command is given, use
1334 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
1335 (usage): FILENAME is now optional and has a default.
1336
e4f6809b 13372009-10-26 Colin Watson <cjwatson@ubuntu.com>
1338
1339 Improve grub-mkconfig performance when there are several menu
1340 entries on a single filesystem.
1341
1342 * util/grub.d/10_linux.in (linux_entry): Cache the output of
1343 prepare_grub_to_access_device.
1344 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1345 * util/grub.d/30_os-prober.in: Likewise.
1346
67937d4d 13472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1348
1349 * util/grub.d/10_freebsd.in: Remove.
1350 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
1351 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
1352
ee3756cc 13532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1354
5c35048e 1355 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 1356
4dea1c6f 13572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1358
1359 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
1360 grub_util_error() call.
1361
042484d7 13622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1363
1364 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
1365 `reserved_first_sector' member.
1366 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
1367 `reserved_first_sector' to 1.
1368 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
1369 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
1370 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
1371 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
1372 filesystems which begin at first sector.
1373 (options): New option --skip-fs-probe.
1374 (main): Handle --skip-fs-probe and pass it to setup().
1375
d64448a7 13762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1377
1378 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
1379 (memset): Fix function prototype.
1380
508d42ec 13812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13822009-10-25 Vasily Averin <vvs@parallels.com>
1383
1384 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
1385 `dirent.direntlen == 0'.
1386
b240e30c 13872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1388
1389 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
1390 `cpio'.
1391 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
1392
346e7fbe 13932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1394
1395 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
1396 `__trampoline_setup' and `__ucmpdi2'.
1397 * include/grub/powerpc/libgcc.h: Only export symbols for functions
1398 that libgcc provides.
1399
cdb308b0 14002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1401
1402 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
1403 * include/grub/sparc64/libgcc.h (memset): Likewise.
1404 * include/grub/misc.h (memset, memcmp): New function prototypes.
1405
fb26abc2 14062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1407
1408 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
1409 `cpio'.
1410 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
1411
f6693890 14122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1413
1414 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
1415 * docs/grub.cfg: Compensate for recent change in multiboot
1416 loader (since 2009-08-14 it won't pass filename to payload).
1417 * util/grub.d/10_hurd.in: Likewise.
1418
0933cdc0 14192009-10-21 Felix Zielcke <fzielcke@z-51.de>
1420
1421 * config.guess: Update to latest version from config git
1422 repository.
1423 * config.sub: Likewise.
1424
3b2fe8c2 14252009-10-20 Robert Millan <rmh.grub@aybabtu.com>
1426
1427 Fix build on sparc64.
1428
1429 * configure.ac: Perform checks for libgcc symbols before
1430 adding `-nostdlib' to LDFLAGS.
1431
46695a62 14322009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 Let user specify OpenBSD root device.
1435
1436 * loader/i386/bsd.c (openbsd_root): New variable.
1437 (openbsd_opts): New option 'root'.
1438 (OPENBSD_ROOT_ARG): New macro.
1439 (grub_openbsd_boot): Use 'openbsd_root'.
1440 (grub_cmd_openbsd): Fill 'openbsd_root'.
1441
d2b6b7fc 14422009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1443
1444 * NEWS: Misc adjustments.
1445
421bd7ac 14462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
1449
f1d29d87 14502009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1451
1452 * configure.ac: Bump version to 1.97.
1453
6f3cd880 14542009-10-16 Colin Watson <cjwatson@ubuntu.com>
1455
1456 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
1457 -mno-3dnow on x86 architectures. Some toolchains enable these
1458 features by default, but they rely on registers that aren't enabled
1459 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
1460
035f7122 14612009-10-15 Robert Millan <rmh.grub@aybabtu.com>
1462
1463 Make entry text a bit more readable.
1464
1465 * util/grub.d/10_linux.in: Add `with' before `Linux'.
1466
44998e58 14672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
1470
cd2851b3 14712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
1474 operations.
1475
c6f3b249 14762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * configure.ac: Add missing dollar.
1479
6b5886ba 14802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
1483
1484 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
1485 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
1486 exports.
1487 * include/grub/sparc64/libgcc.h: Likewise. Use
1488 preprocessor conditionals.
1489
e9d66f6d 14902009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1491
1492 * conf/common.rmk (grub-dumpbios): Remove rule.
1493 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
1494 * util/grub-dumpbios.in: Remove file.
1495
9155bc17 14962009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1497
1498 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
1499 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
1500
1501 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
1502 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
1503 users.
1504
1505 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
1506 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
1507 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
1508 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
1509 users.
1510
bf7f7a18 15112009-10-12 Robert Millan <rmh.grub@aybabtu.com>
1512
1513 * term/tparm.c: Switch to GPLv3.
1514
86564c26 15152009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1516
1517 * include/grub/i386/cpuid.h: Add header protection.
1518
5c936493 15192009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1520
1521 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
1522
1523 * include/grub/i386/cpuid.h: New file.
1524 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
1525 (has_longmode): Rename to ...
1526 (grub_cpuid_has_longmode): ... this. Update all users. Remove
1527 `static' attribute.
1528 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
1529 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
1530 on a CPU that doesn't implement AMD64 instruction set.
1531
186e7cf2 15322009-10-06 Colin Watson <cjwatson@ubuntu.com>
1533
1534 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
1535 that version.texi is rebuilt on version number changes.
1536
83b65c4a 15372009-10-06 Colin Watson <cjwatson@ubuntu.com>
1538
1539 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
1540 Fixes bug #27602.
1541
d244281c 15422009-10-06 Colin Watson <cjwatson@ubuntu.com>
1543
1544 * util/i386/pc/grub-install.in: Source
1545 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
1546 that the --grub-probe option will work.
1547 * util/sparc64/ieee1275/grub-install.in: Likewise.
1548
da25306d 15492009-10-05 Robert Millan <rmh.grub@aybabtu.com>
1550
1551 * configure.ac: Bump version to 1.97~beta4.
1552
e8ee83c0 15532009-10-03 Robert Millan <rmh.grub@aybabtu.com>
1554
1555 Resync grub-mkdevicemap in x86_64-efi.
1556
1557 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
1558 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
1559 `util/devicemap.c'.
1560
50dcabcf 15612009-10-01 Colin Watson <cjwatson@ubuntu.com>
1562
1563 * util/grub-editenv.c (create_envblk_file): Write new block with a
1564 .new suffix and then rename it into place, to ensure atomic
1565 creation.
1566
0e51c3a7 15672009-09-28 Robert Millan <rmh.grub@aybabtu.com>
1568
1569 Do not automatically install headers.
1570
1571 * Makefile.in (include_DATA): Remove. Update all users.
1572
31299a95 15732009-09-26 Robert Millan <rmh.grub@aybabtu.com>
1574
1575 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
1576 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
1577
1578 * util/osdetect.lua: Remove.
1579 * script/lua/lauxlib.c: Likewise.
1580 * script/lua/ldebug.c: Likewise.
1581 * script/lua/grub_main.c: Likewise.
1582 * script/lua/lauxlib.h: Likewise.
1583 * script/lua/ldebug.h: Likewise.
1584 * script/lua/ltablib.c: Likewise.
1585 * script/lua/liolib.c: Likewise.
1586 * script/lua/lstrlib.c: Likewise.
1587 * script/lua/lualib.h: Likewise.
1588 * script/lua/ldo.c: Likewise.
1589 * script/lua/ldump.c: Likewise.
1590 * script/lua/ldo.h: Likewise.
1591 * script/lua/loslib.c: Likewise.
1592 * script/lua/lundump.c: Likewise.
1593 * script/lua/grub_lib.c: Likewise.
1594 * script/lua/ldblib.c: Likewise.
1595 * script/lua/lundump.h: Likewise.
1596 * script/lua/lmem.c: Likewise.
1597 * script/lua/grub_lib.h: Likewise.
1598 * script/lua/lmathlib.c: Likewise.
1599 * script/lua/lstate.c: Likewise.
1600 * script/lua/ltm.c: Likewise.
1601 * script/lua/lvm.c: Likewise.
1602 * script/lua/lmem.h: Likewise.
1603 * script/lua/lstate.h: Likewise.
1604 * script/lua/ltm.h: Likewise.
1605 * script/lua/ltable.c: Likewise.
1606 * script/lua/lvm.h: Likewise.
1607 * script/lua/llex.c: Likewise.
1608 * script/lua/lgc.c: Likewise.
1609 * script/lua/grub_lua.h: Likewise.
1610 * script/lua/loadlib.c: Likewise.
1611 * script/lua/lfunc.c: Likewise.
1612 * script/lua/lopcodes.c: Likewise.
1613 * script/lua/lparser.c: Likewise.
1614 * script/lua/ltable.h: Likewise.
1615 * script/lua/llex.h: Likewise.
1616 * script/lua/lgc.h: Likewise.
1617 * script/lua/lfunc.h: Likewise.
1618 * script/lua/lbaselib.c: Likewise.
1619 * script/lua/lopcodes.h: Likewise.
1620 * script/lua/lparser.h: Likewise.
1621 * script/lua/lzio.c: Likewise.
1622 * script/lua/linit.c: Likewise.
1623 * script/lua/lobject.c: Likewise.
1624 * script/lua/llimits.h: Likewise.
1625 * script/lua/lstring.c: Likewise.
1626 * script/lua/lzio.h: Likewise.
1627 * script/lua/lapi.c: Likewise.
1628 * script/lua/lcode.c: Likewise.
1629 * script/lua/lua.h: Likewise.
1630 * script/lua/lobject.h: Likewise.
1631 * script/lua/lstring.h: Likewise.
1632 * script/lua/lapi.h: Likewise.
1633 * script/lua/lcode.h: Likewise.
1634 * script/lua/luaconf.h: Likewise.
1635
cb8a2c38 16362009-09-26 Colin Watson <cjwatson@ubuntu.com>
1637
1638 * docs/grub.texi (Command-line and menu entry commands): Document
1639 date and echo commands.
1640
6b9b6276 16412009-09-24 Pavel Roskin <proski@gnu.org>
1642
1643 * include/grub/kernel.h (struct grub_module_header): Remove
1644 `grub_module_header_types'. Make `type' unsigned. Make `size'
1645 32-bit on all platforms.
1646 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
1647 8-bit field. Use grub_host_to_target32() for `size'.
1648 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
1649 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
1650 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
1651
4e5a02a7 16522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1653
1654 Fix "lost keypress" bug in at_keyboard.
1655
1656 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
1657 Checks for readyness of input buffer (without flushing it).
1658 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
1659 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
1660
c6dcedf6 16612009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1662
1663 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
1664 size check within GRUB_MACHINE_PCBIOS section.
1665
74c958b1 16662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1667
1668 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
1669 return value.
1670 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
1671 KEYBOARD_ISREADY check.
1672 (grub_at_keyboard_checkkey): Rename to ...
1673 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
1674 Remove gratuitous cast.
1675
ff420223 16762009-09-23 Colin Watson <cjwatson@ubuntu.com>
1677
1678 * configure.ac: Call AC_PROG_MKDIR_P.
1679 * Makefile.in (docs/stamp-vti): Create docs directory. Create
1680 version.texi in $(builddir) rather than $(srcdir).
1681 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
1682 to makeinfo's @include search path.
1683
d96875df 16842009-09-23 Felix Zielcke <fzielcke@z-51.de>
1685
1686 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
1687
9b3f8365 16882009-09-23 Felix Zielcke <fzielcke@z-51.de>
1689
1690 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
1691 for `*.dpkg-new'.
1692
c44c90db 16932009-09-21 Colin Watson <cjwatson@ubuntu.com>
1694
1695 Build info documentation. Some code borrowed from Automake.
1696
1697 * configure.ac: Check for makeinfo.
1698 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
1699 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
1700 docs/version.texi.
1701 (MOSTLYCLEANFILES): Add vti.tmp.
1702 (docs/version.texi, docs/stamp-vti): Update automatically.
1703 (docs/grub.info): Build info documentation. Use --force and ignore
1704 errors for now.
1705 (all-local): Add $(INFOS).
1706 (install-local): Install info files.
1707 (uninstall): Uninstall info files.
1708 * docs/version.texi: Remove from revision control. This file is
1709 automatically generated on build now.
1710 * gendistlist.sh: Add `*.info'.
1711
e0b37bb5 17122009-09-21 Felix Zielcke <fzielcke@z-51.de>
1713
1714 * kern/term.c: Fix indentation.
1715
5a78865b 17162009-09-21 Felix Zielcke <fzielcke@z-51.de>
1717
1718 * util/hostdisk.c: Fix a comment.
1719
dace7e8a 17202009-09-20 Robert Millan <rmh.grub@aybabtu.com>
1721
1722 Fix regression introduced in r2539.
1723
1724 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
1725 to 0xA1.
1726
a83d079b 17272009-09-19 Colin Watson <cjwatson@ubuntu.com>
1728
1729 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 1730 os-prober. Under normal operation, it does not print anything to
1731 stderr; if it does, we need to debug it, and throwing away stderr
1732 makes that excessively difficult.
a83d079b 1733
be94a509 17342009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
1737
63f745e8 17382009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1739
1740 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
1741 AC_LANG_PROGRAM from autoconf.
1742 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
1743 prototypes (fixes warning).
1744
1745 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
1746 `--disable-werror' was used.
1747
bbb2a70f 17482009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1749
1750 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
1751 uninitialized `lastaddr'.
1752
77c24f1d 17532009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1754
0f0b8c87 1755 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 1756
07197f23 17572009-09-14 Colin Watson <cjwatson@ubuntu.com>
1758
1759 * commands/test.c (get_fileinfo): Return immediately if
1760 grub_fs_probe fails.
1761
dabf1798 17622009-09-14 José Martínez <xosemp@gmail.com>
1763
1764 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
1765
d52109a7 17662009-09-14 Colin Watson <cjwatson@ubuntu.com>
1767
1768 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
1769 output.
1770
56532179 17712009-09-13 Robert Millan <rmh.grub@aybabtu.com>
1772
1773 * configure.ac: Remove --enable-grub-pe2elf. Only build
1774 grub-pe2elf when needed by the build system itself.
1775 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
1776
8ef070f5 17772009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1778
1779 * configure.ac: Bump version to 1.97~beta3.
1780 * docs/version.texi: Likewise.
1781
61229557 17822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1783
1784 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
1785 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
1786 from here ...
1787 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
1788 (grub_linux_setup_video): ... to here (with some adjustments).
1789
5c9f8d84 17902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1791
1792 Fix memory corruption issue (spotted by Colin Watson).
1793
1794 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
1795 causing returned size to be stored in an incorrect memory location.
1796 Fix use of uninitialized value when storing the returned size.
1797
e8f5d6e9 17982009-09-12 Yves Blusseau <blusseau@zetam.org>
1799
1800 Change clean rules to properly remove files
1801
1802 * genmk.rb: add new clean rules
1803 * Makefile.in (clean): add the new targets
1804 (mostlyclean): likewise
1805
cda2a409 18062009-09-11 Colin Watson <cjwatson@ubuntu.com>
1807
1808 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
1809 to grub_uint64_t.
1810 * fs/ntfs.c (init_file): Understand 64-bit sizes for
1811 non-resident files.
1812
86695375 18132009-09-11 Colin Watson <cjwatson@ubuntu.com>
1814
1815 * configure.ac: Don't look for help2man when cross-compiling. Fixes
1816 part of bug #27349.
1817
8aa1541a 18182009-09-10 Felix Zielcke <fzielcke@z-51.de>
1819
1820 * util/grub-mkconfig.in: Make the created config mode 400 and
1821 print a warning if it fails.
1822
48d9bb0a 18232009-09-10 Robert Millan <rmh.grub@aybabtu.com>
1824
1825 * util/grub.d/40_custom.in: Ask user to type custom entries below
1826 comment, rather than below 'exec tail' line.
1827
3b0521be 18282009-09-10 Colin Watson <cjwatson@ubuntu.com>
1829
1830 * util/grub.d/40_custom.in: Make sure that the explanatory text is
1831 visible in grub.cfg.
1832
50051d55 18332009-09-10 Colin Watson <cjwatson@ubuntu.com>
1834
1835 * util/grub.d/40_custom.in: Make it a little clearer how to use this
1836 file.
1837
c0d34387 18382009-09-10 Felix Zielcke <fzielcke@z-51.de>
1839
1840 * docs/grub.cfg: Add an example menu entry for memtest86+.
1841
80a608f3 18422009-09-09 Felix Zielcke <fzielcke@z-51.de>
1843
a2094832 1844 * config.guess: Update to latest version from config git.
80a608f3 1845 * config.sub: Likewise.
1846
99423078 18472009-09-08 Colin Watson <cjwatson@ubuntu.com>
1848
1849 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
1850 unknown-command case. Fixes bug #27320.
1851
44454e4c 18522009-09-08 Felix Zielcke <fzielcke@z-51.de>
1853
1854 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
1855 `help' if the command exists.
1856
e30d87ad 18572009-09-06 Robert Millan <rmh.grub@aybabtu.com>
1858
1859 * INSTALL: Require GCC 4.1.3 or later.
1860
9a86f1ec 18612009-09-06 Yves Blusseau <blusseau@zetam.org>
1862
1863 * Makefile.in (RMKFILES): add i386-qemu.rmk
1864 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
1865 $(srcdir)/stamp-h.in
1866
7f26d466 18672009-09-05 Robert Millan <rmh.grub@aybabtu.com>
1868
1869 * util/grub-probe.c (probe): Comment out buggy codepath, which
1870 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
1871 should be re-enabled after 1.97.
1872
3a613259 18732009-09-05 Felix Zielcke <fzielcke@z-51.de>
1874
1875 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
1876 find searches for.
1877
197f76c7 18782009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
1881 unnecessary calls to grub_error.
1882
70ba68ce 18832009-09-04 Colin Watson <cjwatson@ubuntu.com>
1884
1885 * NEWS: Mention `keystatus' and Unicode fonts.
1886
4ff0d7a4 18872009-09-04 Robert Millan <rmh.grub@aybabtu.com>
1888
1889 * configure.ac: Bump version to 1.97~beta2.
1890 * docs/version.texi: Likewise.
1891
77c55a87 18922009-09-03 Colin Watson <cjwatson@ubuntu.com>
1893
1894 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
1895 containing unwind information in some cases where it previously did
1896 not. Use -fno-dwarf2-cfi-asm if available to restore the old
1897 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
1898 discussion.
1899
f79572cd 19002009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
1901
1902 Embedding loadenv module into grub-emu
1903
1904 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
1905 commands/loadenv.c
1906 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
1907 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
1908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
1909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
1910 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
1911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
1912
93a81088 19132009-09-03 Magnus Granberg <zorry@ume.nu>
1914
1915 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
1916 include -fPIE in the default specs.
1917 * configure.ac: Check if pie_possible is yes and add -fno-PIE
1918 to TARGET_CFLAGS.
1919
160034b2 19202009-09-03 Felix Zielcke <fzielcke@z-51.de>
1921
1922 * INSTALL: Note that GNU Bison 2.3 or later is required.
1923
087c07c4 19242009-09-03 Colin Watson <cjwatson@ubuntu.com>
1925
1926 * kern/i386/pc/startup.S: Fix typo.
1927
cbf978c0 19282009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
1931 according to GCS.
1932
19332009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 1934
1935 * docs/grub.texi (Naming convention): Describe one-based partition
1936 numbering.
1937 (Device syntax): Likewise.
1938 (File name syntax): Likewise.
1939 (Block list syntax): Likewise.
1940 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
1941 menu.lst.
1942 (File name syntax): Likewise.
1943 (Command-line and menu entry commands): Document acpi, blocklist,
1944 crc, export, insmod, keystatus, ls, set, and unset commands.
1945
f3e8cdfd 19462009-09-02 Colin Watson <cjwatson@ubuntu.com>
1947
1948 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
1949 to avoid implying that only one of --shift, --ctrl, or --alt may be
1950 used.
1951
c0bc232b 19522009-09-02 Colin Watson <cjwatson@ubuntu.com>
1953
1954 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
1955 rather than comparing against S_IFREG, which will almost never work.
1956
aa0f752d 19572009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
1960 (write_blocklists): Likewise.
1961
ecb3166a 19622009-09-01 Colin Watson <cjwatson@ubuntu.com>
1963
1964 * script/lua/grub_lua.h (fputs): Supply a format string as the first
1965 argument to grub_printf.
1966
c403a125 19672009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 1968
1969 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 1970 non GNU test.
31aba781 1971
b5e7312c 19722009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * kern/file.c (grub_file_read): Spelling fix
1975
fe00f472 19762009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
1979 loading of headers in some cases.
1980
cc55302e 19812009-08-30 Robert Millan <rmh.grub@aybabtu.com>
1982
1983 * configure.ac: Bump version to 1.97~beta1.
1984 * docs/version.texi: Likewise.
1985
5c90cdd2 19862009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 1987
1988 * include/grub/i386/xnu.h: Add license header.
1989 include grub/err.h explicitly.
1990
c90edae4 19912009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1992
1993 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
1994 to `ufs' in the vfs.root.mountfrom kernel parameter.
1995
d8888b5c 19962009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1997
1998 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
1999
2000 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
2001 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
2002
2003 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
2004 `ARRAY_SIZE' macro.
2005
6f07b921 20062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * kern/file.c (grub_file_read): Check offset.
2009 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
2010 * fs/jfs.c (grub_jfs_read_file): Likewise.
2011 * fs/ntfs.c (grub_ntfs_read): Likewise.
2012 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
2013 * fs/minix.c (grub_minix_read_file): Correct offset check.
2014 * fs/ufs.c (grub_ufs_read_file): Likewise.
2015
b4f34077 20162009-08-28 Colin Watson <cjwatson@ubuntu.com>
2017
2018 * term/i386/pc/console.c (bios_data_area): Cast
2019 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
2020
e7c69859 20212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 1-bit optimised blitters.
2024
2025 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
2026 prototype.
2027 (grub_video_fbblit_replace_24bit_1bit): Likewise.
2028 (grub_video_fbblit_replace_16bit_1bit): Likewise.
2029 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2030 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2031 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
2032 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
2033 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
2034 function.
2035 (grub_video_fbblit_replace_24bit_1bit): Likewise.
2036 (grub_video_fbblit_replace_16bit_1bit): Likewise.
2037 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2038 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2039 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
2040 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
2041 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
2042 when possible.
2043 * video/video.c (grub_video_get_blit_format): Return
2044 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
2045
a57da43f 20462009-08-28 Colin Watson <cjwatson@ubuntu.com>
2047
2048 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
2049 the first argument to grub_printf.
2050
4cbe67e5 20512009-08-28 Colin Watson <cjwatson@ubuntu.com>
20522009-08-28 Robert Millan <rmh.grub@aybabtu.com>
2053
2054 Add `getkeystatus' terminal method. Add a new `keystatus' command
2055 to query it.
2056
2057 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
2058 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
2059 modifier key bitmasks.
2060 (struct grub_term_input): Add `getkeystatus' member.
2061 (grub_getkeystatus): Add prototype.
2062 * kern/term.c (grub_getkeystatus): New function.
2063
2064 * include/grub/i386/pc/memory.h
2065 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
2066 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
2067 Data Area layout.
2068 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
2069 (grub_console_term_input): Set `getkeystatus' member.
2070 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
2071 constants.
2072 (grub_usb_keyboard_getreport): Likewise.
2073 (grub_usb_keyboard_checkkey): Likewise.
2074 (grub_usb_keyboard_getkeystatus): New function.
2075 (grub_usb_keyboard_term): Set `getkeystatus' member.
2076
2077 * commands/keystatus.c: New file.
2078 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
2079 (keystatus_mod_SOURCES): New variable.
2080 (keystatus_mod_CFLAGS): Likewise.
2081 (keystatus_mod_LDFLAGS): Likewise.
2082 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
2083 commands/keystatus.c.
2084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2086 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2088 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2089 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 2090
6e2a9085 20912009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Split befs.mod and afs.mod into *_be.mod and *.mod
2094
2095 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
2096 (grub_fstest_SOURCES): Likewise.
2097 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
2098 (afs_be_mod_SOURCES): New variable.
2099 (afs_be_mod_CFLAGS): Likewise.
2100 (afs_be_mod_LDFLAGS): Likewise.
2101 (befs_be_mod_SOURCES): Likewise.
2102 (befs_be_mod_CFLAGS): Likewise.
2103 (befs_be_mod_LDFLAGS): Likewise.
2104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
2105 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2107 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2108 (grub_emu_SOURCES): Likewise.
2109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2110 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2111 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
2112 * fs/afs_be.c: New file.
2113 * fs/befs_be.c: New file.
2114 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
2115 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
2116 (U16): Replaced with ...
2117 (grub_afs_to_cpu16): ...this. All users updated.
2118 (U32): Replaced with ...
2119 (grub_afs_to_cpu32): ...this. All users updated.
2120 (U64): Replaced with ...
2121 (grub_afs_to_cpu64): ...this. All users updated.
2122 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
2123 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 2124 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 2125 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
2126 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
2127 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
2128 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2129 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
2130 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
2131 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
2132 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2133
32a71655 21342009-08-26 Bean <bean123ch@gmail.com>
2135
2136 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
2137 64-bit number.
2138 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2139 (grub_xfs_inode_block): Change return type to grub_uint64_t.
2140 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
2141
552bf6c5 21422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 NetBSD memory map support.
2145
2146 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
2147 (grub_netbsd_btinfo_mmap_header): New structure.
2148 (grub_netbsd_btinfo_mmap_entry): Likewise.
2149 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2150
1ae2078c 21512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 Enable bsd.mod on coreboot.
2154
2155 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
2156 (bsd_mod_SOURCES): New variable.
2157 (bsd_mod_CFLAGS): Likewise.
2158 (bsd_mod_LDFLAGS): Likewise.
2159 (bsd_mod_ASFLAGS): Likewise.
2160 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
2161 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
2162
beefc598 21632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Cleanup NetBSD root support.
2166
2167 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
2168 grub_bsd_get_device.
2169 Fix typo.
2170
3b76e68b 21712009-08-25 Felix Zielcke <fzielcke@z-51.de>
2172
2173 * util/grub.d/00_header.in: Move check for the video backend of
2174 gfxterm from here ...
2175 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
2176 a suitable video backend.
2177
aea664ea 21782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 Fix breakage in grub-setup.
2181
2182 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
2183 "msdos_partition_map".
2184
ff747d50 21852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Fix breakage in normal/auth.c.
2188
2189 * normal/auth.c (grub_iswordseparator): New function.
2190
e7e1f93f 21912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Authentication support.
2194
2195 * commands/password.c: New file.
2196 * conf/common.rmk (pkglib_MODULES): Add password.mod.
2197 (password_mod_SOURCES): New variable.
2198 (password_mod_CFLAGS): Likewise.
2199 (password_mod_LDFLAGS): Likewise.
2200 (normal_mod_SOURCES): Add normal/auth.c.
2201 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
2202 normal/auth.c.
2203 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2204 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2205 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2207 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2208 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
2209 * include/grub/auth.h: New file.
2210 * include/grub/err.h (grub_err_t): New enum value
2211 GRUB_ERR_ACCESS_DENIED.
2212 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
2213 'users'.
2214 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
2215 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
2216 users updated.
2217 * normal/auth.c: New file.
2218 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
2219 (grub_cmdline_run): Don't allow to go to command line without
2220 authentication.
2221 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
2222 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
2223 menuentry without superuser rights.
2224 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
2225 user isn't a superuser.
2226
70f1161d 22272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Save space by inlining misc.c functions.
2230
2231 * kern/misc.c (grub_iswordseparator): Made static.
2232 * kern/misc.c (grub_strcat): Moved from here ...
2233 * include/grub/misc.h (grub_strcat): ... here. Inlined.
2234 * kern/misc.c (grub_strncat): Moved from here ...
2235 * include/grub/misc.h (grub_strncat): ... here. Inlined.
2236 * kern/misc.c (grub_strcasecmp): Moved from here ...
2237 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
2238 * kern/misc.c (grub_strncasecmp): Moved from here ...
2239 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
2240 * kern/misc.c (grub_isalpha): Moved from here ...
2241 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
2242 * kern/misc.c (grub_isdigit): Moved from here ...
2243 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
2244 * kern/misc.c (grub_isgraph): Moved from here ...
2245 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
2246 * kern/misc.c (grub_tolower): Moved from here ...
2247 * include/grub/misc.h (grub_tolower): ... here. Inlined.
2248
48e40bff 22492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * script/sh/function.c (grub_script_function_find): Cut error message
2252 not to flood terminal.
2253 * script/sh/lexer.c (grub_script_yylex): Remove command line length
2254 limit.
2255 * script/sh/script.c (grub_script_arg_add): Duplicate string.
2256
c385bfc3 22572009-08-24 Colin Watson <cjwatson@ubuntu.com>
2258
2259 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
2260 `report' grub_uint8_t *.
2261 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
2262 Use a 50-millisecond timeout rather than just repeating
2263 grub_usb_keyboard_getreport 50 times.
2264 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
2265
2d21e3e8 22662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 Rename *_partition_map to part_*
2269
2270 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
2271 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
2272 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
2273 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
2274 All users updated.
2275 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
2276 All users updated.
2277 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
2278 * util/grub-probe.c (probe_partmap): Don't transform partition name
2279 to get module name.
2280
dd103c4e 22812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 Fix OpenBSD and NetBSD support.
2284
2285 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
2286 memory address conflict.
2287 (OPENBSD_MMAP_ACPI): New definition.
2288 (OPENBSD_MMAP_NVS): Likewise.
2289 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
2290 and OPENBSD_MMAP_NVS.
2291 Add memory map terminator
2292 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 2293 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 2294
16c84d74 22952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 Let user specify NetBSD root device.
2298
2299 * loader/i386/bsd.c (netbsd_root): New variable.
2300 (netbsd_opts): New option 'root'.
2301 (NETBSD_ROOT_ARG): New macro.
2302 (grub_netbsd_boot): Use 'netbsd_root'.
2303 (grub_bsd_unload): Free 'netbsd_root'.
2304 (grub_cmd_netbsd): Fill 'netbsd_root'.
2305
adb29902 23062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 Support for 64-bit NetBSD.
2309
2310 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
2311 point when booting non-FreeBSD.
2312
f5ae9f74 23132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 Support --no-smp and --no-acpi for NetBSD.
2316
2317 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
2318 (NETBSD_AB_NOACPI): Likewise.
2319 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
2320 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
2321
de74f136 23222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
2325 errors.
2326 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
2327 errors. Call grub_error when needed.
2328
e9a925da 23292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * commands/search.c (search_fs): Try searching without autoload first.
2332 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2333 filesystem module explicitly for faster booting.
2334
5174302b 23352009-08-23 Colin Watson <cjwatson@ubuntu.com>
2336
2337 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
2338
c8c80635 23392009-08-23 Colin Watson <cjwatson@ubuntu.com>
2340
2341 * util/grub.d/30_os-prober.in: Disable os-prober if
2342 `GRUB_DISABLE_OS_PROBER' was set to true.
2343
71acf5e5 23442009-08-23 Robert Millan <rmh.grub@aybabtu.com>
2345
2346 * partmap/pc.c: Rename to ...
2347 * partmap/msdos.c: ... this. Update all users.
2348 (grub_pc_partition_map): Rename to ...
2349 (grub_msdos_partition_map): ... this. Update all users.
2350
2351 * parttool/pcpart.c: Rename to ...
2352 * parttool/msdospart.c: ... this. Update all users.
2353
2354 * include/grub/pc_partition.h: Rename to ...
2355 * include/grub/msdos_partition.h: ... this. Update all users.
2356 (grub_pc_partition_bsd_entry): Rename to ...
2357 (grub_msdos_partition_bsd_entry): ... this. Update all users.
2358 (grub_pc_partition_disk_label): Rename to ...
2359 (grub_msdos_partition_disk_label): ... this. Update all users.
2360 (grub_pc_partition_entry): Rename to ...
2361 (grub_msdos_partition_entry): ... this. Update all users.
2362 (grub_pc_partition_mbr): Rename to ...
2363 (grub_msdos_partition_mbr): ... this. Update all users.
2364 (grub_pc_partition): Rename to ...
2365 (grub_msdos_partition): ... this. Update all users.
2366 (grub_pc_partition_is_empty): Rename to ...
2367 (grub_msdos_partition_is_empty): ... this. Update all users.
2368 (grub_pc_partition_is_extended): Rename to ...
2369 (grub_msdos_partition_is_extended): ... this. Update all users.
2370 (grub_pc_partition_is_bsd): Rename to ...
2371 (grub_msdos_partition_is_bsd): ... this. Update all users.
2372
2373 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
2374 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
2375 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
2376 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
2377 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
2378 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
2379 (gpt_mod_LDFLAGS): Rename to ...
2380 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
2381 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
2382 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
2383 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
2384 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
2385 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
2386 (part_gpt_mod_LDFLAGS): ... this.
2387 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
2388 `pcpart.mod' to `msdospart.mod'.
2389 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
2390 to ...
2391 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
2392 (msdospart_mod_LDFLAGS): ... this.
2393
c11fded5 23942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
2397 (openbsd_opts): Likewise.
2398 (netbsd_opts): Likewise.
2399 (freebsd_flags): Added 0 terminator.
2400 (openbsd_flags): Likewise.
2401 (netbsd_flags): Likewise.
2402 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
2403 (grub_cmd_freebsd): Transformed into extended command.
2404 (grub_cmd_openbsd): Likewise.
2405 (grub_cmd_netbsd): Likewise.
2406 (cmd_freebsd): Changed type to grub_extcmd_t.
2407 (cmd_openbsd): Likewise.
2408 (cmd_netbsd): Likewise.
2409 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
2410 grub_cmd_openbsd as extended commands.
2411 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
2412 cmd_netbsd and cmd_openbsd
2413
11d1c769 24142009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
2417
7a9094e5 24182009-08-21 Pavel Roskin <proski@gnu.org>
2419
5496c37e 2420 * Makefile.in (install-local): When checking if a file is in the
2421 build directory, use "test -e" to detect symlinks.
2422
7a9094e5 2423 * Makefile.in (install-local): Remove all files in
2424 $(DESTDIR)$(pkglibdir) before installing new files there.
2425
e53cea11 24262009-08-18 Felix Zielcke <fzielcke@z-51.de>
2427
2428 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
2429 grub-mkelfimage.
2430
9aced544 24312009-08-18 Felix Zielcke <fzielcke@z-51.de>
2432
2433 * util/grub-mkconfig.in: Don't use gfxterm by default if not
2434 explicitly specified by the user.
2435
b7da6bab 24362009-08-18 Pavel Roskin <proski@gnu.org>
2437
2438 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
2439 grub_uint8_t pointer for data.
2440 * include/grub/fbutil.h (struct grub_video_fbblit_info):
2441 Likewise.
2442 * video/fb/fbutil.c: Remove unnecessary casts.
2443
19f1b335 24442009-08-17 Michal Suchanek <hramrach@centrum.cz>
2445
2446 VBE cleanup.
2447
2448 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
2449 (grub_vbe_set_video_mode): Save active mode info
2450 only after setting the mode.
2451 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
2452 second argument.
2453
2f467aa9 24542009-08-17 Michal Suchanek <hramrach@centrum.cz>
2455
2456 Rename variables for clarity.
2457
2458 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
2459 (active_vbe_mode_info): ... this. All users updated.
2460 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
2461 All users updated.
2462 (initial_mode): Rename to ...
2463 (initial_vbe_mode): ... this. All users updated.
2464 (mode_in_use): Rename to ..
2465 (vbe_mode_in_use): ... this. All users updated.
2466 (mode_list): Rename to ..
2467 (vbe_mode_list): ... this. All users updated.
2468 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
2469 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
2470 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
2471 'mode_list_size' to 'vbe_mode_list_size'.
2472 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
2473 'best_mode_info' to 'best_vbe_mode_info' and
2474 'best_mode' to 'best_vbe_mode'
2475
6025fcd7 24762009-08-17 Michal Suchanek <hramrach@centrum.cz>
2477
2478 Remove duplicate grub_video_fb_get_video_ptr.
2479
2480 * include/grub/fbutil.h (get_data_ptr): Rename to ...
2481 (grub_video_fb_get_video_ptr): ... this.
2482 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
2483 * video/fb/fbutil.c: Add comment about addressing.
2484 (get_data_ptr): Rename to ...
2485 (grub_video_fb_get_video_ptr): ... this. All users updated.
2486 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
2487
cc8c6faf 24882009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2489
2490 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
2491 grub_dprintf() that was just added.
2492
08aa61f0 24932009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2494
2495 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
2496 (DEFAULT_VIDEO_MODE): Remove macros.
2497 (grub_linux_boot): Remove assumption that Linux has FB support,
2498 and use "text" as default video mode.
2499
7cef4f75 25002009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
2503 grub_dprintf.
2504 * fs/fat.c (grub_fat_read_data): Likewise.
2505
e1f39873 25062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
2509 payload.
2510 (grub_module): Likewise.
2511
c166d79e 25122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
2515 mbi->cmdline but free playground.
2516
c60cee8e 25172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 Handle group offset on UFS1.
2520
2521 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
2522 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
2523
c0d8b5d4 25242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 Split ufs.mod into ufs1.mod and ufs2.mod.
2527
2528 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
2529 (grub_fstest_SOURCES): Likewise.
2530 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
2531 (ufs_mod_SOURCES): Remove.
2532 (ufs_mod_CFLAGS): Likewise.
2533 (ufs_mod_LDFLAGS): Likewise.
2534 (ufs1_mod_SOURCES): New variable.
2535 (ufs1_mod_CFLAGS): Likewise.
2536 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 2537 (ufs2_mod_SOURCES): New variable.
2538 (ufs2_mod_CFLAGS): Likewise.
2539 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 2540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
2541 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2542 Likewise.
2543 (grub_emu_SOURCES): Likewise.
2544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2545 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2546 (grub_setup_SOURCES): Likewise.
2547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2548 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
2549 (grub_setup_SOURCES): Likewise.
2550 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2551 Likewise.
2552 * fs/ufs2.c: New file.
2553 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
2554
d3539132 25552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 Framebuffer split.
2558
2559 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
2560 subsystem at the end.
2561 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
2562 (video_fb_mod_SOURCES): New variable.
2563 (video_fb_mod_CFLAGS): Likewise.
2564 (video_fb_mod_LDFLAGS): Likewise.
2565 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
2566 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
2567 * video/i386/pc/vbeblit.c: Moved from here ...
2568 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
2569 * video/i386/pc/vbefill.c: Moved from here ...
2570 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
2571 * video/i386/pc/vbeutil.c: Moved from here ...
2572 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
2573 * include/grub/i386/pc/vbeblit.h: Moved from here ...
2574 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
2575 * include/grub/i386/pc/vbefill.h: Moved from here ...
2576 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
2577 * include/grub/i386/pc/vbeutil.h: Moved from here ...
2578 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
2579 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
2580 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
2581 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
2582 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
2583 (grub_video_adapter): Added 'get_info_and_fini'.
2584 (grub_video_get_info_and_fini): New prototype.
2585 (grub_video_set_mode): make modestring const char *.
2586 * loader/i386/linux.c (grub_linux_setup_video): Use
2587 grub_video_get_info_and_fini.
2588 (grub_linux_boot): Move modesetting just before booting.
2589 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
2590 grub_video_get_info_and_fini.
2591 * video/i386/pc/vbe.c: Moved framebuffer part ...
2592 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
2593 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
2594 grub_video_fbstd_colors and grub_video_fb_set_palette.
2595 (grub_video_vbe_init): Clear 'framebuffer' variable and use
2596 grub_video_fb_init.
2597 (grub_video_vbe_fini): Use grub_video_fb_fini.
2598 (grub_video_vbe_setup): Use framebuffer.render_target instead of
2599 render_target and use grub_video_fb_set_active_render_target and
2600 grub_video_fb_set_palette.
2601 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
2602 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
2603 (grub_video_vbe_adapter): Use framebuffer.
2604 * video/video.c (grub_video_get_info_and_fini): New function.
2605 (grub_video_set_mode): Make modestring const char *.
2606 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
2607 values are already initialised.
2608
d404ee56 26092009-08-14 Pavel Roskin <proski@gnu.org>
2610
2611 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
2612 ABS and APPLE_CC.
2613 * boot/i386/pc/diskboot.S: Likewise.
2614 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
2615 sectors allow compilation on MacOSX.
2616 * conf/i386-pc.rmk: Enable unconditional compilation of
2617 lnxboot.img.
2618
9a10df16 26192009-08-13 Colin Watson <cjwatson@ubuntu.com>
2620
2621 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
2622 * util/grub.d/00_header.in: Enter interruptible sleep if
2623 GRUB_HIDDEN_TIMEOUT is set.
2624
be3c9ca7 26252009-08-13 Yves Blusseau <blusseau@zetam.org>
2626
2627 * include/grub/symbol.h: Add the LOCAL macro.
2628 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
2629 starting with "L_".
2630
1f9e557e 26312009-08-13 Pavel Roskin <proski@gnu.org>
2632
9ca62843 2633 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
2634 any modern compilers we support.
2635
1f9e557e 2636 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
2637 Use local labels starting with "L_" so that Apple assembler
2638 knows they are local.
2639
81623db6 26402009-08-10 Robert Millan <rmh.grub@aybabtu.com>
2641
2642 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
2643 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
2644 (bsd_kernel_types): ... this enum.
2645
2646 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
2647 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
2648 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
2649
2650 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
2651 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
2652 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
2653 messages.
2654
f5d35e7a 26552009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2656
2657 * util/grub-dumpdevtree: Moved from here ...
2658 * util/i386/efi/grub-dumpdevtree: ... to here.
2659 (hexify): New function. Converts a string to its hex version.
2660 Generate hex versions of "efi" and "device-properties" by calling
2661 hexify() on the ASCII strings rather than by hardcoding numbers.
2662
d1e1d527 26632009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2664
2665 * fs/jfs.c: Update copyright year.
2666
1ebbe064 26672009-08-08 Felix Zielcke <fzielcke@z-51.de>
2668
2669 * util/grub.d/00_header.in: Fix a comment.
2670 * util/grub.d/10_linux.in: Likewise.
2671 * util/grub.d/10_windows.in: Likewise.
2672 * util/grub.d/10_hurd.in: Likewise.
2673
a78c8d24 26742009-08-08 Felix Zielcke <fzielcke@z-51.de>
2675
2676 * util/grub-mkconfig.in: Allow the user to specify the used font
2677 with GRUB_FONT.
2678
29a6b9e8 26792009-08-08 Pavel Roskin <proski@gnu.org>
2680
b5f16cc4 2681 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
2682 available, xfs.mod needs it now.
2683
2f5cb827 2684 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
2685 the "g" modifier in sed when the intention is to strip something
2686 once. This fixes comparison of kernels with multiple dashes.
2687
29a6b9e8 2688 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
2689 on it. Add missing space before closing bracket. Fix
2690 misleading formatting.
2691
892a3d98 26922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2693
2694 * docs/grub.texi: Major overhaul. Remove all sections that are
2695 specific to GRUB Legacy, or mostly composed of Legacy-specific
2696 information.
2697
ed94253f 26982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2699
2700 * docs/version.texi: New file. Provides version information for
2701 grub.texi.
2702
126d6628 27032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2704
2705 * docs/grub.texi: Update CVS information to SVN.
2706 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
2707
998b5aa9 27082009-08-07 Felix Zielcke <fzielcke@z-51.de>
2709
2710 * util/grub-mkconfig.in: Remove a wrong `fi'.
2711
818e094a 27122009-08-07 Felix Zielcke <fzielcke@z-51.de>
2713
2714 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
2715 (grub_jfs_uuid): New function.
2716 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
2717
b969c52f 27182009-08-07 Felix Zielcke <fzielcke@z-51.de>
2719
2720 * util/grub-mkconfig_lib.in (font_path): Move the functionality
2721 of it to ...
2722 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
2723 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
2724
7a4894cc 27252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2726
2727 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
2728 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
2729 Update all users.
2730
2731 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
2732 not just "vmlinu[zx]".
2733 Moved from here ...
2734 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
2735 all users.
2736
2737 * util/grub.d/10_linux.in (find_latest): Moved from here ...
2738 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
2739 all users.
2740
4e2171f8 27412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2742
2743 * util/grub.d/10_freebsd.in: Use an absolute device path for
2744 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
2745
6dcfcb32 27462009-08-06 Felix Zielcke <fzielcke@z-51.de>
2747
2748 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2749 handling of multiple abstraction modules.
2750
f56a8756 27512009-08-04 Robert Millan <rmh.grub@aybabtu.com>
2752
2753 Fix a bug resulting in black screen when loading Linux using a
2754 packed video mode.
2755
2756 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
2757 function.
2758
2759 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
2760 (grub_vbe_bios_getset_dac_palette_width): New function.
2761 (grub_vbe_bios_get_dac_palette_width)
2762 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
2763 grub_vbe_bios_getset_dac_palette_width()).
2764
2765 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
2766 check for return status.
2767 (grub_vbe_get_video_mode_info): When getting information for a packed
2768 mode (<= 8 bpp), obtain DAC palette width using
2769 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
2770 {red,green,blue}_mark_size.
2771
222671b2 27722009-08-04 Felix Zielcke <fzielcke@z-51.de>
2773
ecb1a6d9 2774 * commands/search.c (options): Fix help output to match actual code.
222671b2 2775
f84114f5 27762009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
2779 of homegrown code.
2780
bd288a20 27812009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 2782
2783 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
2784 on XFS or ReiserFS.
2785
8aab5e25 27862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 Support Apple partition map with sector size different from 512 bytes.
2789
2790 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
2791 (apple_partition_map_iterate): Respect 'aheader.blocksize'
2792 and 'apart.partmap_size'.
2793
6ad6258a 27942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27952009-08-01 Robert Millan <rmh.grub@aybabtu.com>
2796
2797 Fix cpuid command.
2798
2799 * commands/i386/cpuid.c (options): New variable.
2800 (grub_cmd_cpuid): Return real error.
2801 (GRUB_MOD_INIT(cpuid)): Declare options.
2802
67459bc6 28032009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
2806 valid.
2807
fbc6ab54 28082009-07-31 Bean <bean123ch@gmail.com>
2809
2810 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
2811 log2_inode.
2812 (grub_fshelp_node): Move inode field to the end.
2813 (grub_xfs_data): Remove inode field.
2814 (grub_xfs_inode_block): Calculate inode size using sblock.
2815 (grub_xfs_inode_offset): Likewise.
2816 (grub_xfs_read_inode): Calculate inode size using sblock.
2817 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
2818 (grub_xfs_iterate_dir): Calculate inode size using sblock.
2819 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
2820 to match inode size.
2821 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
2822 not accessible when data is null.
2823 (grub_xfs_open): Likewise.
2824
f45d6cfc 28252009-07-31 Bean <bean123ch@gmail.com>
2826
2827 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
2828 Don't change pv->disk if it's already set.
2829
2830 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
2831 (grub_raid_register): ... here.
2832 (grub_raid_rescan): Removed.
2833
2834 * include/grub/raid.h (grub_raid_rescan): Removed.
2835
2836 * util/grub-fstest.c: Remove include file <grub/raid.h>.
2837 (fstest): Replace grub_raid_rescan with module fini function followed
2838 by init function.
2839
2840 * util/grub-probe.c: Add include file <grub/raid.h>.
2841 (probe_raid_level): New function.
2842 (probe): Detect abstraction by walking the disk device, support two
2843 level of abstraction (LVM on RAID) when detecting partition map.
2844
24443b5a 28452009-07-31 Pavel Roskin <proski@gnu.org>
2846
2847 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
2848 to grub_zalloc(), it was erroneous.
2849 Reported by Bean <bean123ch@gmail.com>
2850
a275d9e7 28512009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 2854 embedding zone, not only the first one.
a275d9e7 2855
56c5a47f 28562009-07-29 Joe Auricchio <jauricchio@gmail.com>
2857
2858 * term/gfxterm.c (clear_char): New function.
2859 (grub_virtual_screen_setup): Use clear_char.
2860 (scroll_up): Likewise.
2861 (grub_virtual_screen_cls): Likewise.
2862
67bb323a 28632009-07-29 Felix Zielcke <fzielcke@z-51.de>
2864
2865 * util/deviceiter.c (get_acceleraid_disk_name): New static
2866 function.
2867 (grub_util_iterate_devices): Handle Accelraid devices.
2868 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
2869
388a7c75 28702009-07-28 Robert Millan <rmh.grub@aybabtu.com>
2871
2872 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
2873 separator for the suggested gfxpayload string (';' collides with the
2874 parser and needs escaping).
2875
3bb7abcf 28762009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
2879 Clear direction flag before jumping to OS.
2880 (grub_multiboot2_real_boot): Likewise.
2881
2ddd36d7 28822009-07-28 Felix Zielcke <fzielcke@z-51.de>
2883
2884 * util/i386/pc/grub-install: Fix parsing of --disk-module
2885 option.
2886
c521b62b 28872009-07-28 Felix Zielcke <fzielcke@z-51.de>
2888
2889 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
2890 when embedding.
2891
880e0a0c 28922009-07-26 Felix Zielcke <fzielcke@z-51.de>
2893
2894 * util/grub-mkconfig.in (package_version): New variable.
2895 Use it do display the version.
2896
2366e356 28972009-07-25 Felix Zielcke <fzielcke@z-51.de>
2898
2899 * kern/file.c (grub_file_open): Revert to previous check with
2900 grub_errno.
2901
7ad8c80e 29022009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
2905 from help line. It's out of sync with code.
2906
72b9658b 29072009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
2910 entries on failed boot.
2911
77435277 29122009-07-25 Felix Zielcke <fzielcke@z-51.de>
2913
2914 * kern/file.c (grub_file_open): Fix an error check.
2915
fcaa8b21 29162009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
2917
35d16c74 2918 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
2919 partition map couldn't be identified.
fcaa8b21 2920
48904cd1 29212009-07-23 Pavel Roskin <proski@gnu.org>
2922
ef3c317f 2923 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
2924 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
2925 case of little endian words becomes just an optimization.
2926 Respect const modifier.
ad8ea1f4 2927 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 2928
48904cd1 2929 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
2930 to avoid loss of upper bits if align is unsigned and shorter
2931 than addr.
2932
260c9a89 29332009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 UUID support for UFS
2936
2937 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
2938 (grub_ufs_uuid): New function.
2939 (grub_ufs_fs): add .uuid
2940
f76ce889 29412009-07-21 Pavel Roskin <proski@gnu.org>
2942
2943 * kern/dl.c (grub_dl_check_header): Make static.
2944
6a6cbcaf 29452009-07-21 Felix Zielcke <fzielcke@z-51.de>
2946
2947 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
2948 add drivemap for Vista. It breaks Windows 7.
2949
cffcddb2 29502009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
2953 128 bytes
2954
1ef44b80 29552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 Add BFS support
2958
2959 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
2960 (grub_fstest_SOURCES): Likewise.
2961 (pkglib_MODULES): Add befs.mod.
2962 (befs_mod_SOURCES): New variable.
2963 (befs_mod_CFLAGS): Likewise.
2964 (befs_mod_LDFLAGS): Likewise.
2965 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
2966 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2968 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2969 (grub_setup_SOURCES): Likewise.
2970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2971 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2972 (grub_setup_SOURCES): Likewise.
2973 * fs/befs.c: New file.
2974 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
2975 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
2976 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
2977 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
2978 (B_KEY_INDEX_ALIGN): New declaration.
2979 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
2980 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
2981 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
2982 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
2983 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
2984 (grub_afs_mount) [MODE_BFS]: Likewise.
2985 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
2986 (grub_afs_fs): Use GRUB_AFS_FSNAME
2987 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
2988 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
2989 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
2990 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
2991
4f253044 29922009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
2993
2994 * util/getroot.c (find_root_device): Add support for MacOSX.
2995 * util/hostdisk.c: Likewise.
2996
57a55913 29972009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * font/font.c (find_glyph): Check whether a font is present to avoid
3000 segmentation fault.
75421ca9 3001
30022009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 3003
3004 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
3005
e98cd0c2 30062009-07-20 Pavel Roskin <proski@gnu.org>
3007
3008 * configure.ac: Trim excessively wordy excuses.
3009
1d2d169a 30102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 Add symlink, mtime and label support to AtheFS.
3013
3014 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
3015 (grub_afs_iterate_dir): Handle symlinks.
3016 (grub_afs_open): Use grub_afs_read_symlink.
3017 (grub_afs_dir): Likewise.
3018 Pass mtime.
3019 (grub_afs_label): New function.
3020 (grub_afs_fs): Add grub_afs_label.
3021 (grub_afs_read_symlink): New function.
3022
186f3189 30232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 Fix AtheFS support.
3026
3027 * fs/afs.c: Fix comments style.
3028 (grub_afs_blockrun): Declare as packed.
3029 (grub_afs_datastream): Likewise.
3030 (grub_afs_bnode): Likewise.
3031 (grub_afs_btree): Likewise.
3032 (grub_afs_sblock): Likewise.
3033 Declare `name' as char.
3034 (grub_afs_inode): Declare as packed.
3035 Change void *vnode to grub_uint32_t unused.
3036 (grub_afs_iterate_dir): Check that key_size is positive.
3037 (grub_afs_mount): Don't read superblock twice.
75421ca9 3038 (grub_afs_dir): Don't free node in case of error,
186f3189 3039 grub_fshelp_find_file already handles this.
3040 (grub_afs_open): Likewise.
3041
5680109e 30422009-07-19 Pavel Roskin <proski@gnu.org>
3043
3044 * Makefile.in: Remove LIBLZO and enable_lzo.
3045 * conf/i386-pc.rmk: Remove lzo support.
3046 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
3047 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
3048 support.
3049 * kern/i386/pc/lzo1x.S: Remove.
3050 * kern/i386/pc/startup.S: Remove lzo support.
3051 * util/i386/pc/grub-mkimage.c: Likewise.
3052
ac70fa32 30532009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
3056 * fs/xfs.c (grub_xfs_dir): Likewise.
3057 * fs/afs.c (grub_afs_dir): Likewise.
3058 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3059 (grub_iso9660_open): Likewise.
3060 * fs/jfs.c (grub_jfs_open): Likewise.
3061 * fs/ext2.c (grub_ext2_dir): Likewise.
3062 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
3063 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 3064
eab58da2 30652009-07-16 Pavel Roskin <proski@gnu.org>
3066
d2838156 3067 * configure.ac: Never add "-c" to CFLAGS.
3068
55c70904 3069 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
3070
43e6200c 3071 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
3072 grub_cv_cc_efiemu should be used.
3073
ce7a733d 3074 * configure.ac: Typo fixes.
3075
eab58da2 3076 * kern/mm.c (grub_zalloc): New function.
3077 (grub_debug_zalloc): Likewise.
3078 * include/grub/mm.h: Declare grub_zalloc() and
3079 grub_debug_zalloc().
3080 * util/misc.c (grub_zalloc): New function.
3081 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
3082 instead of grub_malloc(), remove unneeded initializations.
3083 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
3084 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
3085 * commands/parttool.c (grub_cmd_parttool): Likewise.
3086 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3087 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
3088 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
3089 * disk/usbms.c (grub_usbms_finddevs): Likewise.
3090 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
3091 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
3092 (grub_cmd_efiemu_pnvram): Likewise.
3093 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
3094 * fs/iso9660.c (grub_iso9660_mount): Likewise.
3095 (grub_iso9660_iterate_dir): Likewise.
3096 * fs/jfs.c (grub_jfs_opendir): Likewise.
3097 * fs/ntfs.c (list_file): Likewise.
3098 (grub_ntfs_mount): Likewise.
3099 * kern/disk.c (grub_disk_open): Likewise.
3100 * kern/dl.c (grub_dl_load_core): Likewise.
3101 * kern/elf.c (grub_elf_file): Likewise.
3102 * kern/env.c (grub_env_context_open): Likewise.
3103 (grub_env_set): Likewise.
3104 (grub_env_set_data_slot): Likewise.
3105 * kern/file.c (grub_file_open): Likewise.
3106 * kern/fs.c (grub_fs_blocklist_open): Likewise.
3107 * loader/i386/multiboot.c (grub_module): Likewise.
3108 * loader/xnu.c (grub_xnu_create_key): Likewise.
3109 (grub_xnu_create_value): Likewise.
3110 * normal/main.c (grub_normal_add_menu_entry): Likewise.
3111 (read_config_file): Likewise.
3112 * normal/menu_entry.c (make_screen): Likewise.
3113 * partmap/sun.c (sun_partition_map_iterate): Likewise.
3114 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
3115 * script/sh/script.c (grub_script_parse): Likewise.
3116 * video/bitmap.c (grub_video_bitmap_create): Likewise.
3117 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3118 * video/readers/png.c (grub_png_output_byte): Likewise.
3119 (grub_video_reader_png): Likewise.
3120
830afef7 31212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 3122
3123 Enable all targets that can be built by default
3124
830afef7 3125 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 3126 grub-mkfont and grub-fstest if they can be built
3127
ee293aee 31282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 Fix hang and segmentation fault in grub-emu-usb
3131
3132 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
3133 * util/usb.c (grub_libusb_devices): likewise
3134 (grub_libusb_init): rename to ...
3135 (GRUB_MOD_INIT (libusb)):...this
3136 (grub_libusb_fini): rename to ..
3137 (GRUB_MOD_FINI (libusb)):...this
3138 * disk/usbms.c (grub_usbms_transfer): fix retry logic
3139 * include/grub/disk.h (grub_raid_init): removed, it's useless
3140 (grub_raid_fini): likewise
3141 (grub_lvm_init): likewise
3142 (grub_lvm_fini): likewise
3143 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
3144 by grub_init_all
3145
94414221 31462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 Fix libusb
3149
3150 * Makefile.in (LIBUSB): new macro
3151 * genmk.rb (Utility/print_tail): new method
3152 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
3153 (top level): call util.print_tail at the end.
3154
59ade63d 31552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 Make FreeBSD accept zpool.cache
3158
3159 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
3160 type is /boot/zfs/zpool.cache
3161
a58da8c7 31622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Fix 64-bit efiemu
3165
3166 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
3167 correct wrong typedef
3168 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
3169
20591577 31702009-07-15 Pavel Roskin <proski@gnu.org>
3171
560ca572 3172 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
3173 * kern/disk.c (struct grub_disk_cache): Likewise.
3174
e8e8e4fd 3175 * commands/probe.c (options): Typo fix.
3176
fde24e10 3177 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
3178 Increase to 0x5a to accommodate FAT32. Adjust other offsets
3179 accordingly.
3180 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
3181
379c54c1 3182 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
3183 the end of "Error" to make the message more readable.
3184
7bd8f5bf 3185 * boot/i386/pc/boot.S (kernel_segment): Remove.
3186 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
3187 for destination.
3188
40b132c5 3189 * boot/i386/pc/boot.S (boot_version): Remove.
3190 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3191 Remove.
3192
20591577 3193 * include/grub/i386/pc/boot.h: Sort all offsets.
3194 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
3195 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
3196 * boot/i386/pc/boot.S: Assert location of every offset listed in
3197 include/grub/i386/pc/boot.h.
3198
2df32b2c 31992009-07-13 Pavel Roskin <proski@gnu.org>
3200
44b5d879 3201 * include/grub/i386/coreboot/machine.h: Rename
3202 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
3203 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
3204 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
3205
17dc3751 3206 * kern/dl.c: Force native word size to suppress warnings when
3207 compiling grub-emu.
3208
2df32b2c 3209 * kern/device.c (grub_device_iterate): Change struct part_ent to
3210 hold the name, not a pointer to it. Use one grub_malloc() per
3211 partition, not two. Free partition_name if grub_malloc() fails.
3212 Set ents to NULL only before grub_partition_iterate() is called.
3213
75c59f59 32142009-07-11 Bean <bean123ch@gmail.com>
3215
3216 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
3217 childname.
3218
0ae1bf88 32192009-07-10 Bean <bean123ch@gmail.com>
32202009-07-10 Robert Millan <rmh.grub@aybabtu.com>
3221
3222 * kern/ieee1275/openfw.c (grub_children_iterate)
3223 (grub_devalias_iterate): Fix size evaluation for property or path
3224 strings, which was broken since r2132.
3225
8279cade 32262009-07-07 Pavel Roskin <proski@gnu.org>
3227
7d8a52d3 3228 * commands/search.c (search_file): Merge into ...
3229 (search_fs): ... this. Accept search type as argument.
3230 (grub_cmd_search): Pass search type to search_fs().
3231
25f9a05a 3232 * include/grub/util/console.h: New file.
3233 * util/console.c: Use it instead of grub/machine/console.h.
3234 * util/grub-emu.c: Likewise.
3235
8279cade 3236 * lib/arg.c (find_long_option): Remove.
3237 (find_long): Add `len' argument, make `s' const char *.
3238 (grub_arg_parse): Parse long options in place, not in a
3239 temporary buffer.
3240
4a11b60f 32412009-07-06 Pavel Roskin <proski@gnu.org>
3242
99f68041 3243 * commands/search.c (search_fs): Fix potential NULL pointer
3244 dereference.
3245
4a11b60f 3246 * commands/search.c (search_fs): Replace QUID macro with quid_fn
3247 function pointer.
3248
e110f4de 32492009-07-06 Daniel Mierswa <impulze@impulze.org>
3250
3251 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
3252 comparison.
3253
46eeb6a2 32542009-07-05 Pavel Roskin <proski@gnu.org>
3255
bab74958 3256 * include/grub/i386/linux.h (struct linux_kernel_params):
3257 Restore padding3, it's still needed.
3258
46eeb6a2 3259 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
3260 FreeBSD.
3261 * util/osdetect.lua: Likewise.
3262
b4a1dc79 32632009-07-05 Bean <bean123ch@gmail.com>
3264
3265 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
3266
3267 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
3268 (grub_lua_getenv): Likewise.
3269 (grub_lua_setenv): Likewise.
3270 (save_errno): New function.
3271 (push_result): Likewise.
3272 (grub_lua_enum_device): Likewise.
3273 (grub_lua_enum_file): Likewise.
3274 (grub_lua_file_open): Likewise.
3275 (grub_lua_file_close): Likewise.
3276 (grub_lua_file_seek): Likewise.
3277 (grub_lua_file_read): Likewise.
3278 (grub_lua_file_getline): Likewise.
3279 (grub_lua_file_getsize): Likewise.
3280 (grub_lua_file_getpos): Likewise.
3281 (grub_lua_file_eof): Likewise.
3282 (grub_lua_file_exist): Likewise.
3283 (grub_lua_add_menu): Likewise.
3284
3285 * script/lua/grub_lua.h (isupper): New inline function.
3286 (islower): Likewise.
3287 (ispunct): Likewise.
3288 (isxdigit): Likewise.
3289 (strcspn): Change to normal function.
3290 (strpbkr): New function declaration.
3291 (memchr): Likewise.
3292
3293 * script/lua/grub_main.c (scan_str): New function.
3294 (strcspn): Likewise.
3295 (strpbrk): Likewise.
3296 (memchr): Likewise.
3297
3298 * script/lua/linit.c (lualibs): Enable the string library.
3299
3300 * util/osdetect.lua: New file.
3301
2da92295 33022009-07-04 Robert Millan <rmh.grub@aybabtu.com>
3303
3304 * include/grub/i386/linux.h (struct linux_kernel_params): Add
3305 `capabilities' member.
3306
b2582ec9 33072009-07-02 Pavel Roskin <proski@gnu.org>
3308
3309 * genparttoollist.sh: Add missing newline at the end.
3310
32622956 33112009-07-01 Pavel Roskin <proski@gnu.org>
3312
87a7339e 3313 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
3314
d23af54e 3315 * util/hostdisk.c (open_device): Remove `const' from
3316 `sysctl_size', as sysctlbyname() can change it (in this case it
3317 doesn't actually happen).
3318
c94b18a9 3319 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
3320 using signed long int constants.
3321
c6cd3ef0 3322 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
3323 constant to avoid a warning on FreeBSD.
3324
0df63420 3325 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
3326 where it's needed.
3327
999577f1 3328 * Makefile.in: Install include/grub/machine symlink.
3329
6f41557f 3330 * Makefile.in: When installing symlinks, use "cp -fR", which
3331 works on FreeBSD and MacOSX.
3332 From Yves Blusseau <cl7m42e02@sneakemail.com>
3333
c8d22988 3334 * kern/dl.c (grub_dl_resolve_symbol): Make static.
3335 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
3336
1b96e952 3337 * util/misc.c: Move grub_reboot() and grub_halt() ...
3338 * util/grub-emu.c: ... here. Make main_env static.
3339 * include/grub/util/misc.h: Remove main_env.
3340
2ef0084d 3341 * kern/mm.c: Use correct format to print size_t.
3342
32622956 3343 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
3344 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
3345 * kern/powerpc/dl.c: Likewise.
3346 * kern/sparc64/dl.c: Likewise.
3347 * kern/x86_64/dl.c: Likewise.
3348
3f7f0cd0 33492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3350
3351 Fix grub-emu build on sparc64-ieee1275.
3352
75421ca9 3353 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 3354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
3355
211d06b5 33562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3357
3358 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
3359 (grub_reboot, grub_halt): New functions.
3360
3361 * util/i386/pc/misc.c: Delete. Update all users.
3362 * util/sparc64/ieee1275/misc.c: Likewise.
3363 * util/powerpc/ieee1275/misc.c: Likewise.
3364
aaf53e3c 33652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3366
3367 * conf/i386.rmk (setjmp_mod_SOURCES)
3368 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
3369 * conf/common.rmk (setjmp_mod_SOURCES)
3370 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
3371 to use $(target_cpu).
3372 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
3373 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
3374 * conf/powerpc-ieee1275.rmk: Likewise.
3375 * conf/sparc64-ieee1275.rmk: Likewise.
3376
3377 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
3378 $(target_cpu) for kern/$(target_cpu)/dl.c.
3379 * conf/i386-efi.rmk: Likewise.
3380 * conf/i386-ieee1275.rmk: Likewise.
3381 * conf/x86_64-efi.rmk: Likewise.
3382 * conf/i386-coreboot.rmk: Likewise.
3383 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
3384 $(target_cpu) for kern/$(target_cpu)/dl.c and for
3385 kern/$(target_cpu)/cache.S.
3386 * conf/sparc64-ieee1275.rmk: Likewise.
3387
a337130b 33882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3389
3390 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
3391 type to `grub_uint8_t', and adjust `padding9' accordingly.
3392
c6fe4d53 33932009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3394
b09db61d 3395 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
3396
c6fe4d53 3397 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
3398 assembly in final jump, using register constraints.
3399
b09db61d 3400 (grub_linux_boot): For text mode, initialize `have_vga' using
3401 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
3402
3403 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
3404 right before the final jump.
3405
3406 Set `video_mode' to 0x3.
3407
3408 Document initialization of `video_page', `video_mode' and
3409 `video_ega_bx'.
3410
28333ad0 34112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3412
3413 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
3414 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 3415 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 3416
02164e1b 34172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3418
3419 Fix build on Debian / sparc.
3420
3421 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
3422
18b6c557 34232009-06-28 Pavel Roskin <proski@gnu.org>
3424
85f2aab6 3425 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
3426 fix a warning.
3427
18b6c557 3428 * util/grub.d/10_linux.in: Match SUSE style initrd names.
3429
ad760f81 34302009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3431
3432 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
3433 `err'.
3434
87a4623b 34352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3436
3437 Revert r2338.
3438
3439 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
3440 file can't be opened. grub_file_open() is already supposed to set
75421ca9 3441 grub_errno / grub_errmsg appropriately.
87a4623b 3442 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3443
8231fb77 34442009-06-27 Pavel Roskin <proski@gnu.org>
34452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3446
3447 * include/grub/dl.h: Include grub/elf.h.
3448 (struct grub_dl): Add symtab field.
3449 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
3450 GRUB_MODULES_MACHINE_READONLY.
3451 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
3452 of the header for read-only modules.
3453 (grub_dl_unload): Free mod->symtab for read-only modules.
3454 * kern/i386/dl.c: Use mod->symtab.
3455 * kern/powerpc/dl.c: Likewise.
3456 * kern/sparc64/dl.c: Likewise.
3457 * kern/x86_64/dl.c: Likewise.
3458
3459 * conf/i386-qemu.rmk: New file.
3460 * kern/i386/qemu/startup.S: Likewise.
3461 * kern/i386/qemu/mmap.c: Likewise.
3462 * boot/i386/qemu/boot.S: Likewise.
3463 * include/grub/i386/qemu/time.h: Likewise.
3464 * include/grub/i386/qemu/serial.h: Likewise.
3465 * include/grub/i386/qemu/kernel.h: Likewise.
3466 * include/grub/i386/qemu/console.h: Likewise.
3467 * include/grub/i386/qemu/boot.h: Likewise.
3468 * include/grub/i386/qemu/init.h: Likewise.
3469 * include/grub/i386/qemu/machine.h: Likewise.
3470 * include/grub/i386/qemu/loader.h: Likewise.
3471 * include/grub/i386/qemu/memory.h: Likewise.
3472
3473 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
3474 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
3475 [qemu] (pkglib_IMAGES): Add `boot.img'.
3476 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
3477 [qemu] (boot_img_FORMAT): New variables.
3478 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
3479 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
3480 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
3481 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3482 [qemu] (kernel_img_FORMAT): New variables.
3483
3484 * configure.ac: Recognise `i386-qemu'.
3485
3486 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
3487 (for no compression).
3488 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
3489 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
3490 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
3491 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
3492 ifdefs).
3493
97fe384e 34942009-06-27 Pavel Roskin <proski@gnu.org>
3495
3496 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
3497 read.
3498 * efiemu/prepare32.c: Likewise.
3499 * efiemu/prepare64.c: Likewise.
3500
c402ab17 35012009-06-26 Pavel Roskin <proski@gnu.org>
3502
3503 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
3504 * include/grub/elf.h: Define symbols without "32" or "64" based
3505 on GRUB_TARGET_WORDSIZE.
3506 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
3507 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
3508 ELF definitions.
3509 * efiemu/loadcore64.c: Likewise.
3510 * loader/i386/bsd32.c: Likewise.
3511 * loader/i386/bsd64.c: Likewise.
3512 * kern/dl.c: Remove own ELF definitions.
3513 * util/i386/efi/grub-mkimage.c: Likewise.
3514
9bbdfd4d 35152009-06-23 Robert Millan <rmh.grub@aybabtu.com>
3516
3517 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
3518 segment 0x0 unconditionally, because the reference generated by
3519 GAS is an absolute address.
3520
a42ce6e9 35212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3522
3523 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
3524 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
3525
c952cf92 35262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3527
3528 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
3529 indexes. Check for -f explicitly.
cc3752ad 3530 (search_file): Improve error message.
3531 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 3532
132a0a59 35332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3534
3535 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
3536 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
3537
387a140c 35382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3539
3540 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
3541 * conf/i386-ieee1275.rmk: Likewise.
3542 * conf/i386-coreboot.rmk: Likewise.
3543
3544 * kern/i386/pc/startup.S (grub_stop): Remove function.
3545 * kern/i386/ieee1275/startup.S: Likewise.
3546 * kern/i386/coreboot/startup.S: Likewise.
3547 * kern/i386/misc.S (grub_stop): New function.
3548
41da9665 35492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3550
3551 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
3552 * kern/i386/realmode.S (real_to_prot): ... to here.
3553
bf337234 35542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3555
3556 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
3557 with `kernel.img'.
3558 (kernel_elf_SOURCES): Rename to ...
3559 (kernel_img_SOURCES): ... this.
3560 (kernel_elf_HEADERS): Rename to ...
3561 (kernel_img_HEADERS): ... this. Update all users.
3562 (kernel_elf_ASFLAGS): Rename to ...
3563 (kernel_img_ASFLAGS): ... this.
3564 (kernel_elf_CFLAGS): Rename to ...
3565 (kernel_img_CFLAGS): ... this.
3566 (kernel_elf_LDFLAGS): Rename to ...
3567 (kernel_img_LDFLAGS): ... this.
3568 * conf/i386-coreboot.rmk: Likewise.
3569 * conf/powerpc-ieee1275.rmk: Likewise.
3570
3571 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
3572 with "kernel.img".
3573
f52196ff 35742009-06-21 Pavel Roskin <proski@gnu.org>
3575
c3cee413 3576 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
3577 to match nested functions.
3578 * loader/sparc64/ieee1275/linux.c: Likewise.
3579
f52196ff 3580 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
3581
58750afc 35822009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3583
3584 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
3585 all i386 platforms.
3586
15355c7d 35872009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3588
3589 Fix asm file handling on ELF, and remove workarounds.
3590
3591 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 3592 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 3593 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
3594 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
3595
3f3ec72b 35962009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 Load BSD ELF modules
3599
3600 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
3601 and loader/i386/bsd64.c
3602 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
3603 (FREEBSD_MODTYPE_ELF_MODULE): New definition
3604 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
3605 (grub_freebsd_load_elfmodule32): New declaration
3606 (grub_freebsd_load_elfmoduleobj64): Likewise
3607 (grub_freebsd_load_elf_meta32): Likewise
3608 (grub_freebsd_load_elf_meta64): Likewise
3609 (grub_freebsd_add_meta): Likewise
3610 (grub_freebsd_add_meta_module): Likewise
3611 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
3612 (grub_freebsd_add_meta_module): Likewise and move module-specific
3613 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
3614 (grub_cmd_freebsd): Add elf-kernel specific parts
3615 based on grub_freebsd_add_meta_module
3616 (grub_cmd_freebsd_module): Add type parsing moved from
3617 grub_freebsd_add_meta_module
3618 (grub_cmd_freebsd_module_elf): New function
3619 (cmd_freebsd_module_elf): New variable
3620 (GRUB_MOD_INIT): Register freebsd_module_elf
3621 * loader/i386/bsd32.c: New file
3622 * loader/i386/bsd64.c: Likewise
3623 * loader/i386/bsdXX.c: Likewise
3624 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
3625 (grub_elf64_load): Likewise
3626 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
3627 All users updated
3628 (grub_elf64_load_hook_t): Likewise
3629
0db15301 36302009-06-21 Colin Watson <cjwatson@ubuntu.com>
3631
3632 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
3633 variable.
3634 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
3635 don't write a menu entry for recovery mode.
3636
546796c1 36372009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3638
3639 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
3640 after it's no longer needed.
3641
cd7310d5 36422009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3643
3644 * include/grub/i386/loader.h (grub_linux_prot_size)
3645 (grub_linux_tmp_addr, grub_linux_real_addr)
3646 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
3647 GRUB_MACHINE_PCBIOS.
3648 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
3649 common grub_util_info() call to ...
3650 (generate_image): ... here.
3651 Fix use of uninitialized memory, comparison of signed with
3652 unsigned integers and memory leak.
3653 Remove bogus module address message.
3654
ab32d3b5 36552009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
3658 grub_raid_register
3659 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
3660
024ef597 36612009-06-19 Pavel Roskin <proski@gnu.org>
3662
3663 * configure.ac: Remove stray AC_MSG_CHECKING.
3664
3ac72b51 36652009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 3668
e14cd814 36692009-06-18 Pavel Roskin <proski@gnu.org>
3670
3671 * conf/common.rmk: Add fs_file.mod.
3672 * disk/fs_file.c: New file.
3673 * include/grub/disk.h (enum grub_disk_dev_id): Add
3674 GRUB_DISK_DEVICE_FILE_ID.
3675
26586d98 36762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Fix build with Apple's toolchain. Part 2
3679
3680 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
3681 a fake start
3682
26de2bcd 36832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Fix build with Apple's toolchain. Part 1
3686
3687 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
3688 for long calls
3689 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 3690 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 3691 Apple's toolchain
3692
09b3490b 36932009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 Fix warnings
3696
3697 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
3698 (decomp_block): initialize ch
3699 use grub_memcpy instead of memcpy
3700
c22a006a 37012009-06-17 Pavel Roskin <proski@gnu.org>
3702
d3638678 3703 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
3704 version, use declarations needed to use vga_text as the startup
3705 console.
3706
c22a006a 3707 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
3708 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
3709 the kernel.
3710 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
3711 and grub_at_keyboard_fini(), it's done on module load and
3712 unload.
3713
05b129e0 37142009-06-17 Felix Zielcke <fzielcke@z-51.de>
3715
3716 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
3717 file can't be found.
3718 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3719
cf24ed9e 37202009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 Fix newline handling
3723
3724 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 3725 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 3726 (grub_script_yylex): don't segfault on unterminated script
3727 newline terminates command and variable
3728
74aa8e4b 37292009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 avoid double grub_adjust_range call. Bug reported by David Simner
3732
3733 * kern/disk.c (grub_disk_write): change to raw disk access before
3734 calling disk_read
3735
1bd265f3 37362009-06-17 Colin Watson <cjwatson@ubuntu.com>
3737
3738 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
3739 spaces, for the benefit of help2man.
3740 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3741
a2d08c06 37422009-06-16 Pavel Roskin <proski@gnu.org>
3743
3744 * kern/i386/halt.c: Include grub/machine/init.h.
3745 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
3746
b97bcb19 37472009-06-16 Felix Zielcke <fzielcke@z-51.de>
3748
3749 * util/grub.d/30_os-prober.in: Use ${root} in the generated
3750 drivemap menuentry.
3751
0644f96c 37522009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
3753
3754 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
3755 `echo' command.
3756
3ef17a2e 37572009-06-16 Pavel Roskin <proski@gnu.org>
3758
3759 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
3760 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
3761 save %dx, we only need %dl and we never change it.
3762 * boot/i386/pc/cdboot.S: Don't set the root drive.
3763 * boot/i386/pc/pxeboot.S: Likewise.
3764 * include/grub/i386/pc/boot.h: Remove
3765 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
3766 GRUB_BOOT_MACHINE_DRIVE_CHECK.
3767 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
3768 * kern/i386/pc/init.c (make_install_device): Remove references
3769 to grub_root_drive.
3770 * kern/i386/pc/startup.S: Likewise.
3771 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
3772
693fe637 37732009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 xnu_uuid command
3776
3777 * commands/xnu_uuid.c: new file
3778 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
3779 (xnu_uuid_mod_SOURCES): new variable
3780 (xnu_uuid_mod_CFLAGS): likewise
3781 (xnu_uuid_mod_LDFLAGS): likewise
3782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3783 * conf/i386-ieee1275.rmk: likewise
3784 * conf/i386-pc.rmk: likewise
3785 * conf/powerpc-ieee1275.rmk: likewise
3786 * conf/sparc64-ieee1275.rmk: likewise
3787 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
3788
c9da87d0 37892009-06-16 Pavel Roskin <proski@gnu.org>
3790
3791 * configure.ac: Avoid '==' in test command, it's not portable.
3792
9c6f4596 37932009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Probe command
3796
3797 * commands/probe.c: new file
3798 * conf/common.rmk (pkglib_MODULES): add probe.mod
3799 (probe_mod_SOURCES): new variable
3800 (probe_mod_CFLAGS): likewise
3801 (probe_mod_LDFLAGS): likewise
3802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3803 * conf/i386-ieee1275.rmk: likewise
3804 * conf/i386-pc.rmk: likewise
3805 * conf/powerpc-ieee1275.rmk: likewise
3806 * conf/sparc64-ieee1275.rmk: likewise
3807
70b7f9fd 38082009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 Fix handling of string like \"hello\" and "a
3811 b"
3812
3813 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
3814 (grub_script_yylex): fix parsing of quoting, escaping and newline
3815
71c79a6b 38162009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3817
dd74360c 3818 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 3819 handling
dd74360c 3820
0644f96c 38212009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 3822
3823 * util/grub-mkconfig.in: Fix parsing of --output option.
3824
e40893c3 38252009-06-12 Pavel Roskin <proski@gnu.org>
3826
3827 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
3828 genmk.rb don't need to be generated or installed.
3829
3a1acfe2 38302009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * commands/i386/pc/drivemap_int13h.S: add more comments
3833
3a4575d4 38342009-06-11 Pavel Roskin <proski@gnu.org>
3835
0658e928 3836 * Makefile.in (uninstall): Uninstall manuals.
3837
ca0388f0 3838 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
3839 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
3840 and update-grub_lib in two places.
3841 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
3842
e3b27c39 3843 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
3844 a compiler warning.
3845
3a4575d4 3846 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
3847 `entry_lo' to fix variable shadowing.
3848
af1f4f55 38492009-06-11 Christian Franke <franke@computer.org>
3850
3851 * kern/misc.c (__enable_execute_stack): Add missing return type
3852 to prevent gcc warning.
3853
5225e649 38542009-06-11 Felix Zielcke <fzielcke@z-51.de>
3855
3856 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
3857
7d83bd47 38582009-06-11 Pavel Roskin <proski@gnu.org>
3859
c1cb63ba 3860 * Makefile.in: Don't rely on any scripts being executable.
3861 Always use $(SHELL) to run shell scripts.
3862
7d83bd47 3863 * configure.ac: Always define ___main if using -nostdlib. This
3864 fixes tests on Cygwin.
3865
948f48e7 38662009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
3867
3868 UDF fix
3869
7d83bd47 3870 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 3871 is in bytes and not in blocks
7d83bd47 3872
8ada9bc1 38732009-06-11 Pavel Roskin <proski@gnu.org>
3874
3875 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
3876 warning.
3877
25ad2323 38782009-06-11 Felix Zielcke <fzielcke@z-51.de>
3879
3880 * util/grub.d/30_os-prober.in: Fix a comment. Source
3881 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
3882 to set the root device. Place drivemap command in the generated
3883 chain entry.
3884
e65acb0c 38852009-06-11 Pavel Roskin <proski@gnu.org>
3886
3887 * configure.ac: Remove host_m32. Issues with 64-bit utilities
3888 have long been resolved.
3889
f285fe2d 38902009-06-11 Colin Watson <cjwatson@ubuntu.com>
3891
bd47b0b5 3892 * util/grub.d/10_linux.in: Capitalise "Linux".
3893
f285fe2d 3894 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
3895
a0c62e4e 38962009-06-11 Pavel Roskin <proski@gnu.org>
3897
b6783cb2 3898 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
3899 fix a gcc warning and ensure that the function won't ever exit.
3900
dde032e8 3901 * kern/i386/ieee1275/init.c: Add missing prototype for
3902 grub_stop_floppy().
3903
22cd079d 3904 * loader/ieee1275/multiboot2.c [__i386__]: Include
3905 grub/cpu/multiboot.h.
3906
a0c62e4e 3907 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
3908 casts to short - they are not portable and cause warnings. Fix
3909 use of uninitialized values in input_buf. Use ARRAY_SIZE.
3910
63963d17 39112009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 Drivemap fixes
3914
3915 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
3916 new function
3917 (grub_get_root_biosnumber_saved): new variable
3918 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
3919 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 3920 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 3921 %dx after the call if necessary
3922 * conf/common.rmk (pkglib_MODULES): remove boot.mod
3923 (boot_mod_SOURCES): remove
3924 (boot_mod_CFLAGS): remove
3925 (boot_mod_LDFLAGS): remove
3926 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
3927 (boot_mod_SOURCES): new variable
3928 (boot_mod_CFLAGS): likewise
3929 (boot_mod_LDFLAGS): likewise
3930 * conf/i386-efi.rmk: likewise
3931 * conf/i386-ieee1275.rmk: likewise
3932 * conf/i386-pc.rmk: likewise
3933 * conf/powerpc-ieee1275.rmk: likewise
3934 * conf/sparc64-ieee1275.rmk: likewise
3935 * conf/x86_64-efi.rmk: likewise
3936 * include/grub/i386/pc/biosnum.h: new file
3937 * lib/i386/pc/biosnum.c: likewise
3938 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
3939 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
3940 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 3941
33abf7ae 39422009-06-10 Pavel Roskin <proski@gnu.org>
3943
5ac35b35 3944 * io/gzio.c (test_header): Don't reuse one buffer for all data.
3945 Use separate variables. Read only the file size at the end, but
3946 not the checksum that we don't use.
3947
5c5215d5 3948 * kern/file.c (grub_file_read): Use void pointer for the buffer.
3949 Adjust all callers.
3950
27d5fef7 3951 * kern/ieee1275/openfw.c: Remove libc includes.
3952 * kern/ieee1275/cmain.c: Likewise.
3953 * include/grub/ieee1275/ieee1275.h: Likewise.
3954
33abf7ae 3955 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
3956 compiler warnings.
3957
19d50c2b 39582009-06-10 Felix Zielcke <fzielcke@z-51.de>
3959
3960 * Makefile.in: Remove all trailing whitespace.
3961 * conf/i386-pc.rmk: Likewise.
3962 * conf/powerpc-ieee1275.rmk: Likewise.
3963 * conf/sparc64-ieee1275.rmk: Likewise.
3964 * docs/grub.texi: Likewise.
3965 * docs/texinfo.tex: Likewise.
3966 * disk/fs_uuid.c: Likewise.
3967 * disk/lvm.c: Likewise.
3968 * disk/scsi.c: Likewise.
3969 * disk/ata.c: Likewise.
3970 * disk/ieee1275/ofdisk.c: Likewise.
3971 * disk/i386/pc/biosdisk.c: Likewise.
3972 * disk/host.c: Likewise.
3973 * disk/raid.c: Likewise.
3974 * disk/efi/efidisk.c: Likewise.
3975 * disk/usbms.c: Likewise.
3976 * disk/memdisk.c: Likewise.
3977 * disk/loopback.c: Likewise.
3978 * kern/powerpc/dl.c: Likewise.
3979 * kern/device.c: Likewise.
3980 * kern/dl.c: Likewise.
3981 * kern/sparc64/dl.c: Likewise.
3982 * kern/ieee1275/ieee1275.c: Likewise.
3983 * kern/term.c: Likewise.
3984 * kern/fs.c: Likewise.
3985 * kern/i386/dl.c: Likewise.
3986 * kern/i386/pc/startup.S: Likewise.
3987 * kern/i386/pc/init.c: Likewise.
3988 * kern/i386/pc/mmap.c: Likewise.
3989 * kern/i386/pc/lzo1x.S: Likewise.
3990 * kern/i386/ieee1275/init.c: Likewise.
3991 * kern/i386/realmode.S: Likewise.
3992 * kern/i386/tsc.c: Likewise.
3993 * kern/partition.c: Likewise.
3994 * kern/corecmd.c: Likewise.
3995 * kern/file.c: Likewise.
3996 * kern/efi/efi.c: Likewise.
3997 * kern/efi/init.c: Likewise.
3998 * kern/efi/mm.c: Likewise.
3999 * kern/main.c: Likewise.
4000 * kern/err.c: Likewise.
4001 * kern/env.c: Likewise.
4002 * kern/disk.c: Likewise.
4003 * kern/generic/millisleep.c: Likewise.
4004 * kern/generic/rtc_get_time_ms.c: Likewise.
4005 * kern/misc.c: Likewise.
4006 * kern/parser.c: Likewise.
4007 * genmk.rb: Likewise.
4008 * configure.ac: Likewise.
4009 * boot/i386/pc/diskboot.S: Likewise.
4010 * boot/i386/pc/pxeboot.S: Likewise.
4011 * boot/i386/pc/boot.S: Likewise.
4012 * boot/i386/pc/lnxboot.S: Likewise.
4013 * boot/i386/pc/cdboot.S: Likewise.
4014 * parttool/pcpart.c: Likewise.
4015 * video/readers/tga.c: Likewise.
4016 * video/video.c: Likewise.
4017 * video/bitmap.c: Likewise.
4018 * lib/envblk.c: Likewise.
4019 * lib/i386/setjmp.S: Likewise.
4020 * fs/xfs.c: Likewise.
4021 * fs/afs.c: Likewise.
4022 * fs/fat.c: Likewise.
4023 * fs/ntfs.c: Likewise.
4024 * fs/udf.c: Likewise.
4025 * fs/affs.c: Likewise.
4026 * fs/iso9660.c: Likewise.
4027 * fs/hfs.c: Likewise.
4028 * fs/fshelp.c: Likewise.
4029 * fs/ext2.c: Likewise.
4030 * fs/jfs.c: Likewise.
4031 * fs/reiserfs.c: Likewise.
4032 * fs/hfsplus.c: Likewise.
4033 * fs/minix.c: Likewise.
4034 * fs/cpio.c: Likewise.
4035 * fs/sfs.c: Likewise.
4036 * fs/ufs.c: Likewise.
4037 * efiemu/prepare.c: Likewise.
4038 * efiemu/loadcore_common.c: Likewise.
4039 * efiemu/runtime/efiemu.sh: Likewise.
4040 * efiemu/runtime/efiemu.S: Likewise.
4041 * efiemu/runtime/efiemu.c: Likewise.
4042 * efiemu/pnvram.c: Likewise.
4043 * efiemu/main.c: Likewise.
4044 * efiemu/i386/pc/cfgtables.c: Likewise.
4045 * efiemu/i386/loadcore64.c: Likewise.
4046 * efiemu/i386/loadcore32.c: Likewise.
4047 * efiemu/loadcore.c: Likewise.
4048 * efiemu/symbols.c: Likewise.
4049 * efiemu/mm.c: Likewise.
4050 * include/grub/autoefi.h: Likewise.
4051 * include/grub/datetime.h: Likewise.
4052 * include/grub/term.h: Likewise.
4053 * include/grub/hfs.h: Likewise.
4054 * include/grub/lvm.h: Likewise.
4055 * include/grub/i386/tsc.h: Likewise.
4056 * include/grub/i386/linux.h: Likewise.
4057 * include/grub/i386/xnu.h: Likewise.
4058 * include/grub/i386/efiemu.h: Likewise.
4059 * include/grub/i386/pc/biosdisk.h: Likewise.
4060 * include/grub/i386/pc/memory.h: Likewise.
4061 * include/grub/i386/pc/vbe.h: Likewise.
4062 * include/grub/parttool.h: Likewise.
4063 * include/grub/video.h: Likewise.
4064 * include/grub/memory.h: Likewise.
4065 * include/grub/fs.h: Likewise.
4066 * include/grub/partition.h: Likewise.
4067 * include/grub/xnu.h: Likewise.
4068 * include/grub/efi/api.h: Likewise.
4069 * include/grub/efi/pe32.h: Likewise.
4070 * include/grub/efi/memory.h: Likewise.
4071 * include/grub/multiboot.h: Likewise.
4072 * include/grub/usbdesc.h: Likewise.
4073 * include/grub/multiboot2.h: Likewise.
4074 * include/grub/acpi.h: Likewise.
4075 * include/grub/efiemu/efiemu.h: Likewise.
4076 * include/grub/disk.h: Likewise.
4077 * include/grub/ieee1275/ieee1275.h: Likewise.
4078 * include/grub/net.h: Likewise.
4079 * include/grub/machoload.h: Likewise.
4080 * include/grub/macho.h: Likewise.
4081 * include/multiboot.h: Likewise.
4082 * genmoddep.awk: Likewise.
4083 * normal/main.c: Likewise.
4084 * normal/menu_entry.c: Likewise.
4085 * normal/menu_viewer.c: Likewise.
4086 * normal/completion.c: Likewise.
4087 * normal/cmdline.c: Likewise.
4088 * normal/misc.c: Likewise.
4089 * normal/datetime.c: Likewise.
4090 * bus/usb/usbtrans.c: Likewise.
4091 * bus/usb/ohci.c: Likewise.
4092 * bus/usb/uhci.c: Likewise.
4093 * bus/usb/usb.c: Likewise.
4094 * mmap/efi/mmap.c: Likewise.
4095 * mmap/i386/pc/mmap_helper.S: Likewise.
4096 * mmap/i386/pc/mmap.c: Likewise.
4097 * mmap/i386/mmap.c: Likewise.
4098 * mmap/i386/uppermem.c: Likewise.
4099 * mmap/mmap.c: Likewise.
4100 * commands/acpi.c: Likewise.
4101 * commands/echo.c: Likewise.
4102 * commands/blocklist.c: Likewise.
4103 * commands/loadenv.c: Likewise.
4104 * commands/usbtest.c: Likewise.
4105 * commands/boot.c: Likewise.
4106 * commands/parttool.c: Likewise.
4107 * commands/search.c: Likewise.
4108 * commands/cat.c: Likewise.
4109 * commands/i386/pc/play.c: Likewise.
4110 * commands/i386/pc/drivemap.c: Likewise.
4111 * commands/i386/pc/vbeinfo.c: Likewise.
4112 * commands/i386/pc/acpi.c: Likewise.
4113 * commands/i386/pc/vbetest.c: Likewise.
4114 * commands/ls.c: Likewise.
4115 * commands/cmp.c: Likewise.
4116 * commands/test.c: Likewise.
4117 * commands/efi/acpi.c: Likewise.
4118 * commands/gptsync.c: Likewise.
4119 * commands/help.c: Likewise.
4120 * partmap/amiga.c: Likewise.
4121 * partmap/apple.c: Likewise.
4122 * partmap/acorn.c: Likewise.
4123 * partmap/pc.c: Likewise.
4124 * partmap/sun.c: Likewise.
4125 * partmap/gpt.c: Likewise.
4126 * script/sh/lexer.c: Likewise.
4127 * script/sh/function.c: Likewise.
4128 * font/font.c: Likewise.
4129 * font/font_cmd.c: Likewise.
4130 * loader/powerpc/ieee1275/linux.c: Likewise.
4131 * loader/efi/chainloader.c: Likewise.
4132 * loader/multiboot_loader.c: Likewise.
4133 * loader/macho.c: Likewise.
4134 * loader/i386/multiboot.c: Likewise.
4135 * loader/i386/linux.c: Likewise.
4136 * loader/i386/pc/linux.c: Likewise.
4137 * loader/i386/pc/multiboot2.c: Likewise.
4138 * loader/i386/pc/chainloader.c: Likewise.
4139 * loader/i386/pc/xnu.c: Likewise.
4140 * loader/i386/bsd_trampoline.S: Likewise.
4141 * loader/i386/efi/linux.c: Likewise.
4142 * loader/i386/multiboot_elfxx.c: Likewise.
4143 * loader/i386/bsd_helper.S: Likewise.
4144 * loader/i386/bsd.c: Likewise.
4145 * loader/i386/linux_trampoline.S: Likewise.
4146 * loader/i386/xnu_helper.S: Likewise.
4147 * loader/i386/xnu.c: Likewise.
4148 * loader/i386/bsd_pagetable.c: Likewise.
4149 * loader/i386/multiboot_helper.S: Likewise.
4150 * loader/xnu.c: Likewise.
4151 * loader/xnu_resume.c: Likewise.
4152 * io/gzio.c: Likewise.
4153 * term/efi/console.c: Likewise.
4154 * term/terminfo.c: Likewise.
4155 * term/ieee1275/ofconsole.c: Likewise.
4156 * term/i386/pc/serial.c: Likewise.
4157 * term/i386/pc/vesafb.c: Likewise.
4158 * term/i386/pc/vga.c: Likewise.
4159 * term/usb_keyboard.c: Likewise.
4160 * term/gfxterm.c: Likewise.
4161 * aclocal.m4: Likewise.
4162 * util/lvm.c: Likewise.
4163 * util/grub.d/30_os-prober.in: Likewise.
4164 * util/grub.d/10_hurd.in: Likewise.
4165 * util/console.c: Likewise.
4166 * util/grub-macho2img.c: Likewise.
4167 * util/grub-probe.c: Likewise.
4168 * util/hostfs.c: Likewise.
4169 * util/i386/pc/grub-mkimage.c: Likewise.
4170 * util/i386/pc/grub-setup.c: Likewise.
4171 * util/i386/efi/grub-mkimage.c: Likewise.
4172 * util/grub-mkconfig.in: Likewise.
4173 * util/raid.c: Likewise.
4174 * util/resolve.c: Likewise.
4175 * util/grub-mkdevicemap.c: Likewise.
4176 * util/grub-emu.c: Likewise.
4177 * util/getroot.c: Likewise.
4178 * util/hostdisk.c: Likewise.
4179 * util/usb.c: Likewise.
4180 * util/grub-editenv.c: Likewise.
4181 * util/misc.c: Likewise.
4182
d2d49665 41832009-06-10 Felix Zielcke <fzielcke@z-51.de>
4184
4185 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
4186 `genparttoollist.sh'.
4187 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
4188 Add `*.sh' to the list find searches for and change `mdate.sh'
4189 to `mdate-sh'.
4190
fe052e37 41912009-06-10 Pavel Roskin <proski@gnu.org>
4192
2763ac18 4193 * include/grub/multiboot2.h: Provide compatibility defines for
4194 multiboot2.h.
4195 * include/multiboot2.h: Include stdint.h only if needed, using
4196 angle brackets.
4197 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
4198 grub/multiboot2.h.
4199 * loader/ieee1275/multiboot2.c: Likewise.
4200 * loader/multiboot2.c: Likewise.
4201 * loader/multiboot_loader.c: Likewise.
4202
437e6adc 4203 * configure.ac: Use -nostdlib when probing for the target. It
4204 should not be required to have libc for the target.
4205
06a6836c 4206 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
4207 they fail without libc headers for the target.
4208 * include/grub/powerpc/libgcc.h: Use weak attribute for all
4209 exports.
4210 * include/grub/sparc64/libgcc.h: Likewise. Don't use
4211 preprocessor conditionals.
4212
fe052e37 4213 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
4214 build system doesn't need to be aware of the tar.c internals.
4215
afd22553 42162009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 4217
afd22553 4218 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 4219
6b787c4f 42202009-06-09 Robert Millan <rmh.grub@aybabtu.com>
4221
4222 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
4223 disk limit to 26 for IDE, Virtio, Xen and SCSI.
4224
42252009-06-09 Felix Zielcke <fzielcke@z-51.de>
4226
4227 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 4228 aren't available if ata.mod gets used.
6b787c4f 4229
473d1e45 42302009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 4231
473d1e45 4232 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 4233 initialising controller.
473d1e45 4234 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 4235
255a27d4 42362009-06-08 Felix Zielcke <fzielcke@z-51.de>
4237
4238 * util/i386/pc/grub-install.in: Add a parameter --disk-module
4239 to choose between ata and biosdisk module on i386-pc.
4240
473d1e45 42412009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 4242
d55842d8 4243 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
4244 Subclass and Programming Interface fields in terms of the 3 byte
4245 Class Code register.
4246 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
4247
fa5db0b1 4248 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
4249 interface is OHCI. Add grub_dprintf for symmetry with
4250 bus/usb/uhci.c.
4251 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
4252 interface is UHCI. Add interf variable for programming
4253 interface. Print interface with class/subclass.
4254
c0947beb 4255 * bus/usb/ohci.c: Set interf with correct field.
4256
69da8877 4257 * bus/usb/uhci.c: Remove unneeded doubled lines.
4258 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
4259 Remove whitespace inside comment.
4260
9e172e30 42612009-06-08 Robert Millan <rmh.grub@aybabtu.com>
4262
4263 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
4264 as fallback an equivalent option without depth.
4265
de65ee2b 42662009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Not fail if unable to retrieve C/H/S on LBA disks
4269
473d1e45 4270 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 4271 if unable to retrieve C/H/S on LBA disks
4272
b57ea2c9 42732009-06-08 Pavel Roskin <proski@gnu.org>
4274
4275 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
4276 about aliasing.
4277
af361263 42782009-06-08 Felix Zielcke <fzielcke@z-51.de>
4279
4280 * Makefile.in (uninstall): Remove all $lib_DATA files.
4281
4c9ec6b3 42822009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 Bugfix: install on partitionless device
4285
4286 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
4287 is a whole disk
4288
e76fc924 42892009-06-08 Felix Zielcke <fzielcke@z-51.de>
4290
4291 * Makefile.in (uninstall): Remove all $include_DATA files.
4292
ba5a0d05 42932009-06-08 Felix Zielcke <fzielcke@z-51.de>
4294
4295 * commands/true.c: New file. Implement the true and false commands.
4296 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
4297 (true_mod_SOURCES): New variable.
4298 (true_mod_CFLAGS): Likewise.
4299 (true_mod_LDFLAGS): Likewise.
4300
c8048e32 43012009-06-05 Colin D Bennett <colin@gibibit.com>
4302
4303 Optimized font character lookup using binary search instead of linear
4304 search. Fonts now are required to have the character index ordered by
4305 code point.
4306
4307 * font/font.c (load_font_index): Verify that fonts have ordered
4308 character indices.
4309 (find_glyph): Use binary search instead of linear search to find a
4310 character in a font.
4311
408305be 43122009-06-05 Michael Scherer <misc@mandriva.org>
4313
4314 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
4315 uses case sensitive btree.
4316 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
4317 only for case insensitive filesystems.
4318
8ee1e0d9 43192009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
4322 * conf/common.rmk (search_mod_CFLAGS): likewise
4323
a9966eb1 43242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4325
473d1e45 4326 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 4327 compensate a compiler bug
4328
9e7100fb 43292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4330
473d1e45 4331 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 4332 instead of '\b'
473d1e45 4333
ede21d71 43342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 Definitions for creating asm symbols with Apple's CC
4337
4338 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
4339 [APPLE_CC] (VARIABLE): likewise
4340
9dbf7653 43412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 Disable lnxboot.img when compiled
4344 with Apple's CC
4345
4346 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
4347 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
4348 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
4349 [! APPLE_CC] (CODE_LENG): skip
4350 [! APPLE_CC] (setup_sects): likewise
4351 [! APPLE_CC]: skip filling
473d1e45 4352
e93cdc3d 43532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Address in trampolines based on 32-bit registers when compiled
4356 with Apple's CC
4357
473d1e45 4358 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 4359 for addresses
4360 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
4361
6c688477 43622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Avoid aliases when compiling with Apple's CC for PCBIOS machine
4365
4366 * kern/misc.c [APPLE_CC] (memcpy): new function
4367 [APPLE_CC] (memmove): likewise
4368 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 4369 (memcpy): define alias conditionally on !APPLE_CC
6c688477 4370 (memset): likewise
4371 (abort): likewise
4372 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
4373 APPLE_CC are defined
4374 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
4375 (grub_assert_fail): make prototype conditional
4376
e37ffc5c 43772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
4380
473d1e45 4381 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
4382 grub-macho2img
e37ffc5c 4383 (CLEANFILES): add grub-macho2img
4384 (grub_macho2img_SOURCES): new variable
4385 * kern/i386/pc/startup.S (bss_start): new variable
4386 (bss_end): likewise
4387 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
4388 * util/grub-macho2img.c: new file
4389
cf00df31 43902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 Use objconv when compiling with Apple's CC
4393
4394 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
4395 (efiemu64.o): likewise
4396 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
4397 when compiling with Apple's CC
4398 (efiemu64_s.o): likewise
4399 * configure.ac: check for objconv when compiling with Apple's CC
4400 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 4401
d119a20c 44022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Define segment as well as section when compiling with
4405 Apple's CC
4406
4407 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
4408 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
4409 (efiemu_convert_pointer): likewise
4410 (efiemu_set_virtual_address_map): likewise
4411 (efiemu_convert_pointer): likewise
4412 (efiemu_getcrc32): likewise
4413 (init_crc32_table): likewise
4414 (reflect): likewise
4415 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
4416 (GRUB_MOD_DEP): likewise
473d1e45 4417
c8600122 44182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 Allow a compilation without -mcmodel=large
4421
4422 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
4423 when compiled without -mcmodel=large
473d1e45 4424 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 4425 without -mcmodel=large
473d1e45 4426 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 4427 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 4428
e8df1d4e 44292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 Remove nested functions in efiemu core
4432
4433 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 4434
cc6c3ac1 44352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
4438
4439 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
4440 temporary storage
473d1e45 4441 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
4442 using Apple's CC
cc6c3ac1 4443 (grub_cpu_is_tsc_supported): likewise
4444 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 4445
3e325901 44462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Absolute addressing through constant with Apple's cc
4449
4450 * kern/i386/pc/startup.S: Define necessary constants
4451 and address through it when using ABS with Apple's CC
4452 * boot/i386/pc/diskboot.S: likewise
4453 * boot/i386/pc/boot.S: likewise
4454 * boot/i386/pc/lnxboot.S: likewise
4455 * boot/i386/pc/cdboot.S: likewise
4456 * mmap/i386/pc/mmap_helper.S: likewise
4457 * commands/i386/pc/drivemap_int13h.S: likewise
4458
2b167a72 44592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 Check if compiler is apple cc
4462
4463 * Makefile.in (ASFLAGS): new variable
4464 (TARGET_ASFLAGS): likewise
4465 (TARGET_MODULE_FORMAT): likewise
4466 (TARGET_APPLE_CC): likewise
4467 (OBJCONV): likewise
4468 (TARGET_IMG_CFLAGS): likewise
4469 (TARGET_CPPFLAGS): add includedir
4470 * configure.ac: call grub_apple_cc and grub_apple_target_cc
4471 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
4472 Check for linker script only if compiler isn't Apple's CC
4473 (TARGET_MODULE_FORMAT): set
4474 (TARGET_APPLE_CC): likewise
4475 (TARGET_ASFLAGS): likewise
4476 (ASFLAGS): likewise
4477 Check for objcopy only if compiler isn't Apple's CC
4478 Check for BSS symbol only if compiler isn't Apple's CC
4479 * genmk.rb: adapt nm options if we use Apple's utils
4480 * aclocal.m4 (grub_apple_cc): new test
4481 (grub_apple_target_cc): likewise
473d1e45 4482
fb14123e 44832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 Simplify sed expressions and improve awk
4486
4487 * Makefile.in (install-local): simplify sed expression
4488 * gencmdlist.sh: likewise
4489 * genmoddep.awk: avoid adding module as a dependency of itself
4490
5b889789 44912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Add missing start symbols
4494
4495 * boot/i386/pc/boot.S: add start
fb14123e 4496 * boot/i386/pc/pxeboot.S: likewise
473d1e45 4497
fd2bf2e3 44982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 4501
4502 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 4503 (relocate_addresses): consider both r_addend and value at offset
4504 (make_mods_section): zerofill modinfo and header
4505 (convert_elf): write prefix here
473d1e45 4506
5389763d 45072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 Use .asciz instead of .string
4510
4511 * i386/pc/diskboot.S: use .asciz instead of .string
4512 * i386/pc/boot.S: likewise
4513 * include/grub/dl.h (GRUB_MOD_DEP): likewise
4514 (GRUB_MOD_NAME): likewise
473d1e45 4515
3eb5ed4e 45162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 gfxpayload support
4519
4520 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
4521 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
4522 (grub_video_setup): remove
4523 (grub_video_set_mode): new prototype
4524 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
4525 (vid_mode): remove
4526 (linux_vesafb_res): compile only on PCBIOS
4527 (grub_linux_boot): support gfxpayload
4528 * loader/i386/pc/xnu.c (video_hook): new function
4529 (grub_xnu_set_video): support gfxpayload
4530 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
4531 (DEFAULT_VIDEO_HEIGHT): likewise
4532 (DEFAULT_VIDEO_FLAGS): likewise
4533 (DEFAULT_VIDEO_MODE): new definition
4534 (video_hook): new function
4535 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 4536 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 4537 loading xnu
4538 * video/video.c (grub_video_setup): removed
473d1e45 4539 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 4540 grub_video_setup
4541
4b0e1143 45422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 Avoid calling biosdisk in drivemap
4545
4546 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
4547 (revparse_biosdisk): likewise
4548 (list_mappings): derive name from id directly
4549 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 4550
fda6cb98 45512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 Script fixes
4554
4555 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
4556 (grub_lexer_param): add tokenonhold
4557 (grub_script_create_cmdline): remove cmdline. All callers updated
4558 (grub_script_function_create): make functionname
4559 grub_script_arg. All callers updated
4560 (grub_script_execute_argument_to_string): new prototype
4561 * kern/parser.c (state_transitions): reorder
4562 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 4563 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 4564 make global
4565 (grub_script_execute_cmdline): use new format
4566 * script/sh/function.c (grub_script_function_create): make functionname
4567 grub_script_arg. All callers updated
473d1e45 4568 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 4569 (grub_script_yylex): remove
4570 (grub_script_yylex2): renamed to ...
4571 (grub_script_yylex): ...renamed
4572 parse the expressions like a${b}c
4573 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
4574 (GRUB_PARSER_TOKEN_VAR): remove
4575 (GRUB_PARSER_TOKEN_NAME): likewise
4576 ("if"): declare as typeless
4577 ("while"): likewise
4578 ("function"): likewise
4579 ("else"): likewise
4580 ("then"): likewise
4581 ("fi"): likewise
4582 (text): remove
4583 (argument): likewise
4584 (script): accept empty scripts and make exit on error
4585 (arguments): use GRUB_PARSER_TOKEN_ARG
4586 (function): likewise
4587 (command): move error handling to script
4588 (menuentry): move grub_script_lexer_ref before
473d1e45 4589 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 4590 argument. All callers updated
4591
f4448a07 45922009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4593
4594 Prevent GRUB from probing floppies during boot.
4595
4596 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
4597 * commands/search.c (options): Add --no-floppy.
4598 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
4599 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
4600 --no-floppy when searching for UUIDs.
4601
2bf5885a 46022009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4603
4604 Simplify the code duplication in commands/search.c.
4605
4606 * commands/search.c (search_label, search_fs_uuid): Merge into ...
4607 (search_fs): ... this. Update all users.
4608
f6fd460a 46092009-06-03 Felix Zielcke <fzielcke@z-51.de>
4610
4611 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
4612
cbb3c83e 46132009-05-28 Pavel Roskin <proski@gnu.org>
4614
57788cfd 4615 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
4616 Remove the original symlink explicitly.
4617
cbb3c83e 4618 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
4619 just one slash. That's how grub_fshelp_find_file() does it.
4620
cd0d5e30 46212009-05-26 Pavel Roskin <proski@gnu.org>
4622
f0f8bbe2 4623 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
4624 to `str'.
4625
cd0d5e30 4626 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
4627 possibly unused.
4628
8c2cab51 46292009-05-25 Christian Franke <franke@computer.org>
4630
4631 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
4632 register.
4633 (grub_atapi_identify): Add wait after drive select.
4634 (grub_ata_identify): Do more strict status register check before
4635 calling grub_atapi_identify (). Suppress error message if status
4636 register is 0x00 after command failure. Add status register
4637 check after PIO read to avoid bogus identify due to stuck DRQ.
4638 Thanks to Pavel Roskin for testing.
4639 (grub_device_initialize): Remove unsafe status register check.
4640 Thanks to 'phcoder' for problem report and patch.
4641 Prevent sign extension in debug message.
4642
230c0ad6 46432009-05-23 Colin D Bennett <colin@gibibit.com>
4644
4645 Cleaned up `include/grub/normal.h'. Grouped prototypes by
4646 definition file, and functions defined in `normal/menu.c' have had
4647 their prototypes moved to `include/grub/menu.h' for consistency.
4648
4649 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
4650 from normal.h.
4651 (grub_menu_get_entry): Likewise.
4652 (grub_menu_get_timeout): Likewise.
4653 (grub_menu_set_timeout): Likewise.
4654 (grub_menu_execute_entry): Likewise.
4655 (grub_menu_execute_with_fallback): Likewise.
4656 (grub_menu_entry_run): Likewise.
4657
4658 * include/grub/normal.h: Re-ordered and grouped function
4659 prototypes by file that the function is defined in.
4660 (grub_menu_execute_callback): Removed; moved to menu.h.
4661 (grub_menu_get_entry): Likewise.
4662 (grub_menu_get_timeout): Likewise.
4663 (grub_menu_set_timeout): Likewise.
4664 (grub_menu_execute_entry): Likewise.
4665 (grub_menu_execute_with_fallback): Likewise.
4666 (grub_menu_entry_run): Likewise.
4667 (grub_menu_addentry): Renamed from this ...
4668 (grub_normal_add_menu_entry): ... to this.
4669
4670 * normal/main.c (grub_menu_addentry): Renamed from this ...
4671 (grub_normal_add_menu_entry): ... to this.
4672
4673 * script/sh/execute.c (grub_script_execute_menuentry): Update
4674 reference to renamed grub_menu_addentry function.
4675
861f03a5 46762009-05-23 Felix Zielcke <fzielcke@z-51.de>
4677
4678 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
4679
96b1619a 46802009-05-22 Pavel Roskin <proski@gnu.org>
4681
bf6a5fb2 4682 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
4683 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
4684 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
4685 compiling for the i386 targets, but not for the utilities.
4686
96b1619a 4687 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
4688 to grub_uint8_t.
4689 (grub_root_drive): Likewise.
4690 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
4691 remove alignment.
4692 (grub_root_drive): Change size to byte.
4693 (grub_start_addr): Remove.
4694 (grub_end_addr): Likewise.
4695 (grub_apm_bios_info): Likewise.
4696
b729776b 46972009-05-21 Felix Zielcke <fzielcke@z-51.de>
4698
4699 * normal/i386: Remove.
4700 * normal/powerpc: Likewise.
4701 * normal/sparc64: Likewise.
4702 * normal/x86_64: Likewise.
4703
0a15ce80 47042009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 4707 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 4708 * loader/i386/xnu_helper.S: Likewise
d6da58e6 4709
33db9015 47102009-05-18 Colin D Bennett <colin@gibibit.com>
4711
d6da58e6 4712 Display error messages when parsing a Lua statement fails.
4713 Previously, executing a syntactically invalid statement like
4714 ")foo" or "bar;" would silently fail.
33db9015 4715
4716 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 4717 (grub_lua_parse_line): Improved reporting of Lua parser and
4718 execution errors.
33db9015 4719
46422c89 47202009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 Remove -Werror which causes build to fail on some systems
4723
4724 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
4725 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
4726 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 4727
22f53a96 47282009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 trampoline for linux on 64-bit platform
4731
18f547ad 4732 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
4733 loader/i386/efi/linux_trampoline.S
4734 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 4735 declaration
d6da58e6 4736 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
4737 here
22f53a96 4738 * loader/i386/linux_trampoline.S: moved here
d6da58e6 4739 * loader/i386/efi/linux.c (allocate_pages): reserve space for
4740 trampoline
22f53a96 4741 (jumpvector): removed
4742 (grub_linux_trampoline_start): new declaration
4743 (grub_linux_trampoline_end): likewise
4744 (grub_linux_boot): use trampoline when on 64-bit platform
4745 * loader/i386/linux.c: likewise
4746
cb5a0f40 47472009-05-16 Pavel Roskin <proski@gnu.org>
4748
4749 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
4750 const to avoid a warning.
4751 (grub_lua_setenv): Likewise.
4752 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
4753 lmsg to fix a warning.
4754
334f2c28 47552009-05-16 Felix Zielcke <fzielcke@z-51.de>
4756
4757 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 4758 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4759 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
4760 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4761 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4762 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4763 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4764 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 4765
59e5d3ec 47662009-05-16 Felix Zielcke <fzielcke@z-51.de>
4767
4768 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
4769
9d87a1ba 47702009-05-16 Bean <bean123ch@gmail.com>
4771
4772 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
4773 (lua_mod_SOURCES): New variable.
4774 (lua_mod_CFLAGS): Likewise.
4775 (lua_mod_LDFLAGS): Likewise.
4776
4777 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
4778 (setjmp_mod_SOURCES): New variable.
4779 (setjmp_mod_CFLAGS): Likewise.
4780 (setjmp_LDFLAGS): Likewise.
4781
4782 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
4783 (setjmp_mod_SOURCES): New variable.
4784 (setjmp_mod_CFLAGS): Likewise.
4785 (setjmp_LDFLAGS): Likewise.
4786
4787 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4788 (setjmp_mod_SOURCES): New variable.
4789 (setjmp_mod_CFLAGS): Likewise.
4790 (setjmp_LDFLAGS): Likewise.
4791
4792 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4793 (setjmp_mod_SOURCES): New variable.
4794 (setjmp_mod_CFLAGS): Likewise.
4795 (setjmp_LDFLAGS): Likewise.
4796
4797 * normal/i386/setjmp.S: Moved from here ...
4798 * lib/i386/setjmp.S: ... Moved here
4799 * normal/x86_64/setjmp.S: Moved from here ...
4800 * lib/x86_64/setjmp.S: ... Moved here
4801 * normal/powerpc/setjmp.S: Moved from here ...
4802 * lib/powerpc/setjmp.S: ... Moved here
4803 * normal/sparc64/setjmp.S: Moved from here ...
4804 * lib/sparc64/setjmp.S: ... Moved here
4805
4806 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
4807 returns_twice in mingw.
4808
4809 * script/lua/grub_lib.c: New file.
4810 * script/lua/grub_lib.h: Likewise.
4811 * script/lua/grub_lua.h: Likewise.
4812 * script/lua/grub_main.c: Likewise.
4813 * script/lua/lapi.c: Likewise.
4814 * script/lua/lapi.h: Likewise.
4815 * script/lua/lauxlib.c: Likewise.
4816 * script/lua/lauxlib.h: Likewise.
4817 * script/lua/lbaselib.c: Likewise.
4818 * script/lua/lcode.c: Likewise.
4819 * script/lua/lcode.h: Likewise.
4820 * script/lua/ldblib.c: Likewise.
4821 * script/lua/ldebug.c: Likewise.
4822 * script/lua/ldebug.h: Likewise.
4823 * script/lua/ldo.c: Likewise.
4824 * script/lua/ldo.h: Likewise.
4825 * script/lua/ldump.c: Likewise.
4826 * script/lua/lfunc.c: Likewise.
4827 * script/lua/lfunc.h: Likewise.
4828 * script/lua/lgc.c: Likewise.
4829 * script/lua/lgc.h: Likewise.
4830 * script/lua/linit.c: Likewise.
4831 * script/lua/liolib.c: Likewise.
4832 * script/lua/llex.c: Likewise.
4833 * script/lua/llex.h: Likewise.
4834 * script/lua/llimits.h: Likewise.
4835 * script/lua/lmathlib.c: Likewise.
4836 * script/lua/lmem.c: Likewise.
4837 * script/lua/lmem.h: Likewise.
4838 * script/lua/loadlib.c: Likewise.
4839 * script/lua/lobject.c: Likewise.
4840 * script/lua/lobject.h: Likewise.
4841 * script/lua/lopcodes.c: Likewise.
4842 * script/lua/lopcodes.h: Likewise.
4843 * script/lua/loslib.c: Likewise.
4844 * script/lua/lparser.c: Likewise.
4845 * script/lua/lparser.h: Likewise.
4846 * script/lua/lstate.c: Likewise.
4847 * script/lua/lstate.h: Likewise.
4848 * script/lua/lstring.c: Likewise.
4849 * script/lua/lstring.h: Likewise.
4850 * script/lua/lstrlib.c: Likewise.
4851 * script/lua/ltable.c: Likewise.
4852 * script/lua/ltable.h: Likewise.
4853 * script/lua/ltablib.c: Likewise.
4854 * script/lua/ltm.c: Likewise.
4855 * script/lua/ltm.h: Likewise.
4856 * script/lua/lua.h: Likewise.
4857 * script/lua/luaconf.h: Likewise.
4858 * script/lua/lualib.h: Likewise.
4859 * script/lua/lundump.c: Likewise.
4860 * script/lua/lundump.h: Likewise.
4861 * script/lua/lvm.c: Likewise.
4862 * script/lua/lvm.h: Likewise.
4863 * script/lua/lzio.c: Likewise.
4864 * script/lua/lzio.h: Likewise.
4865
5e898c9d 48662009-05-16 Bean <bean123ch@gmail.com>
4867
4868 * include/grub/kernel.h (grub_module_header_types): Add type
4869 OBJ_TYPE_CONFIG.
4870
4871 * kern/main.c (grub_load_config): New function.
4872 (grub_main): Call grub_load_config to read boot config.
4873
4874 * grub-mkimage (generate_image): New parameter config_path.
4875 (options): New option --config.
4876 (main): Parse --config option, and pass it to generate_image.
4877
cf353a47 48782009-05-14 Christian Franke <franke@computer.org>
4879
4880 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
4881 This fixes build on Cygwin.
4882
3834887f 48832009-05-14 Pavel Roskin <proski@gnu.org>
4884
4885 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
4886 jump. This saves two bytes, so the typical case of 2 swapped
4887 drives would fit 32 bytes.
4888
8090fc01 48892009-05-13 Pavel Roskin <proski@gnu.org>
4890
ac963883 4891 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
4892 grub_uint32_t to avoid a warning.
4893
8090fc01 4894 * loader/i386/linux.c (allocate_pages): When assigning
4895 real_mode_mem, cast through grub_size_t to fix a warning. The
4896 code already makes sure that the value would fit a pointer.
4897 (grub_linux_setup_video): Cast render_target->data to
4898 grub_size_t to fix a warning.
4899
18f547ad 49002009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 4901
4902 * commands/i386/pc/drivemap.c: New file - implement drivemap
4903 command.
4904 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
4905 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
4906
6f6a8b28 49072009-05-13 Pavel Roskin <proski@gnu.org>
4908
4909 * util/i386/pc/grub-setup.c (setup): Remove unused variable
4910 embedding_area_exists.
4911
15fbf4c4 49122009-05-13 Robert Millan <rmh.grub@aybabtu.com>
4913
4914 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
4915 it easier to understand / work with.
59978c8a 4916 Improve warning messages for cases where there's no embedding area,
4917 or when it is too small (or core.img too large).
15fbf4c4 4918
238e871f 49192009-05-13 Pavel Roskin <proski@gnu.org>
4920
0ab3a9a4 4921 * loader/i386/pc/multiboot2.c: Add necessary includes for
4922 grub_multiboot2_real_boot().
4923
a2c8c5f8 4924 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
4925 PX record is always little-endian. We only need the lower 2
4926 bytes of the mode.
4927
faec96af 4928 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
4929 facilitate code reuse.
4930 (grub_cpio_mount): Use "struct head", not a char buffer. This
4931 fixes a warning reported by gcc 4.4.
4932
238e871f 4933 * kernel/disk.c (grub_disk_read): Use void pointer for the
4934 buffer.
4935 (grub_disk_write): Use const void pointer for the buffer.
4936 Adjust all callers. Remove unnecessary casts.
4937
901d2f0c 49382009-05-10 Robert Millan <rmh.grub@aybabtu.com>
4939
4940 * util/i386/pc/grub-install.in: Update copyright year.
4941
18f547ad 49422009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 4943
4944 gptsync
4945
4946 * commands/gptsync.c: new file
4947 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
4948 (gptsync_mod_SOURCES): new variable
4949 (gptsync_mod_CFLAGS): likewise
4950 (gptsync_mod_LDFLAGS): likewise
18f547ad 4951 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 4952 new definition
4953 (GRUB_PC_PARTITION_TYPE_HFS): likewise
4954 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
4955 * conf/i386-ieee1275.rmk: likewise
4956 * conf/i386-pc.rmk: likewise
4957 * conf/powerpc-ieee1275.rmk: likewise
4958
b4ba690a 49592009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 Fixed grub-emu
4962
4963 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
4964 (grub_dl_ref): likewise
4965
317e1a44 49662009-05-08 Robert Millan <rmh.grub@aybabtu.com>
4967
4968 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
4969 split in two functions (one for msdos and one for gpt).
4970
041b8094 49712009-05-08 Pavel Roskin <proski@gnu.org>
4972
752473c2 4973 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
4974 not modified.
4975
041b8094 4976 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
4977 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
4978 Initialize them with -1. Add sanity check for bad1. Eliminate
4979 nerr variable.
4980
172800ce 49812009-05-08 David S. Miller <davem@davemloft.net>
4982
4983 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
4984
29aa5e81 49852009-05-06 Robert Millan <rmh.grub@aybabtu.com>
4986
4987 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 4988 existence.
29aa5e81 4989
96613b62 49902009-05-05 Felix Zielcke <fzielcke@z-51.de>
4991
4992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 4993 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 4994
eef73c8a 49952009-05-05 David S. Miller <davem@davemloft.net>
4996
4997 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
4998
119494b5 49992009-05-05 Pavel Roskin <proski@gnu.org>
5000
5001 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
5002 of grub_dl_ref() and grub_dl_unref().
5003 * commands/parttool.c: Remove preprocessor conditionals around
5004 grub_dl_ref() and grub_dl_unref().
5005 * fs/affs.c: Likewise.
5006 * fs/afs.c: Likewise.
5007 * fs/cpio.c: Likewise.
5008 * fs/ext2.c: Likewise.
5009 * fs/fat.c: Likewise.
5010 * fs/hfs.c: Likewise.
5011 * fs/hfsplus.c: Likewise.
5012 * fs/iso9660.c: Likewise.
5013 * fs/jfs.c: Likewise.
5014 * fs/minix.c: Likewise.
5015 * fs/ntfs.c: Likewise.
5016 * fs/reiserfs.c: Likewise.
5017 * fs/sfs.c: Likewise.
5018 * fs/udf.c: Likewise.
5019 * fs/ufs.c: Likewise.
5020 * fs/xfs.c: Likewise.
5021 * include/grub/dl.h: Likewise.
5022 * loader/xnu.c: Likewise.
5023
de5fd76e 50242009-05-04 Pavel Roskin <proski@gnu.org>
5025
5026 * commands/acpi.c: Remove unused variable my_mod.
5027 * partmap/amiga.c: Likewise.
5028 * partmap/apple.c: Likewise.
5029 * partmap/gpt.c: Likewise.
5030 * partmap/pc.c: Likewise.
5031 * partmap/sun.c: Likewise.
5032 * term/gfxterm.c: Likewise.
5033 * term/i386/pc/vesafb.c: Likewise.
5034 * term/i386/pc/vga.c: Likewise.
5035
983598ad 50362009-05-04 David S. Miller <davem@davemloft.net>
5037
5038 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
5039 pointer args to grub_ieee1275_get_property().
5040
8aadec43 5041 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
5042
9554b15e 5043 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
5044 devices, and do not traverse down under controller nodes.
5045
67e23c90 5046 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
5047 (grub_ofdisk_open): Use it to un-escape "," characters.
5048 * kern/disk.c (find_part_sep): New.
5049 (grub_disk_open): Use it to find the first non-escaped ','
5050 character in the disk name.
5051 * util/ieee1275/devicemap.c (escape_of_path): New.
5052 (grub_util_emit_devicemap_entry): Use it.
5053 * util/sparc64/ieee1275/grub-install.in: Update script to
5054 strip partition specifiers properly by not triggering on
5055 '\' escaped ',' characters.
5056
74bfdd2f 50572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5058
5059 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
5060 to 0x300.
5061 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
5062 resolutions.
5063 (linux_vesafb_modes): Add a lot of additional modes to the list (based
5064 on documentation from Wikipedia).
5065
4241d2b1 50662009-05-04 Pavel Roskin <proski@gnu.org>
5067
5068 * disk/ata.c: Spelling fixes.
5069 * disk/raid.c: Likewise.
5070 * disk/usbms.c: Likewise.
5071 * disk/dmraid_nvidia.c: Likewise.
5072 * kern/ieee1275/openfw.c: Likewise.
5073 * kern/ieee1275/init.c: Likewise.
5074 * kern/ieee1275/cmain.c: Likewise.
5075 * boot/i386/pc/cdboot.S: Likewise.
5076 * video/readers/png.c: Likewise.
5077 * video/i386/pc/vbe.c: Likewise.
5078 * fs/udf.c: Likewise.
5079 * fs/hfs.c: Likewise.
5080 * fs/reiserfs.c: Likewise.
5081 * efiemu/runtime/efiemu.c: Likewise.
5082 * efiemu/main.c: Likewise.
5083 * efiemu/mm.c: Likewise.
5084 * include/grub/elf.h: Likewise.
5085 * include/grub/xnu.h: Likewise.
5086 * include/grub/usbdesc.h: Likewise.
5087 * include/grub/usb.h: Likewise.
5088 * include/grub/script_sh.h: Likewise.
5089 * include/grub/lib/LzmaEnc.h: Likewise.
5090 * include/grub/efiemu/efiemu.h: Likewise.
5091 * include/grub/command.h: Likewise.
5092 * normal/menu.c: Likewise.
5093 * normal/main.c: Likewise.
5094 * normal/datetime.c: Likewise.
5095 * bus/usb/uhci.c: Likewise.
5096 * mmap/i386/uppermem.c: Likewise.
5097 * mmap/mmap.c: Likewise.
5098 * commands/acpi.c: Likewise.
5099 * commands/test.c: Likewise.
5100 * partmap/apple.c: Likewise.
5101 * font/font.c: Likewise.
5102 * loader/sparc64/ieee1275/linux.c: Likewise.
5103 * loader/macho.c: Likewise.
5104 * loader/i386/bsd_trampoline.S: Likewise.
5105 * loader/i386/bsd.c: Likewise.
5106 * loader/xnu.c: Likewise.
5107 * term/i386/pc/vesafb.c: Likewise.
5108 * term/usb_keyboard.c: Likewise.
5109 * util/resolve.c: Likewise.
5110 * util/getroot.c: Likewise.
5111
0cfc0083 51122009-05-04 Felix Zielcke <fzielcke@z-51.de>
5113
5114 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
5115
7c1d00cd 51162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5117
5118 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
5119 build error.
5120
b01f0548 51212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5122
5123 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
5124 parameter only available on BIOS.
5125
ecc3eb22 51262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Removed wrong semicolon in declaration
5129
5130 * grub/misc.h (grub_dprintf): remove semicolon
5131
112972a9 51322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5133
5134 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
5135 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
5136 is done by grub_cmd_linux() now).
5137 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
5138 restore video to text mode.
5139 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
5140 indicates lack of "vga=" parameter. "vga=0" is mapped to
5141 `GRUB_LINUX_VID_MODE_NORMAL'.
5142
afd5c115 51432009-05-04 Felix Zielcke <fzielcke@z-51.de>
5144
5145 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
5146 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
5147 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 5148 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 5149 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
5150 `grub_script.tab.c'.
5151
5152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5153 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5155 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5156 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5157
faa517ce 5158 * Makefile.in: Remove duplicated 2008 in Copyright line.
5159
ae0c0bdc 51602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5161
473d1e45 5162 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 5163 unconditionally.
5164 * include/grub/util/misc.h (grub_util_warn): New declaration.
5165
5166 * util/i386/pc/grub-install.in: Understand --force and pass it down
5167 to grub-setup.
5168
5169 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
5170 down to setup().
5171 (setup): Improve error messages and add warnings when requested to
5172 install in odd layouts. Refuse to install using blocklists unless
5173 --force was set.
5174
18f547ad 51752009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 5176
5177 * disk/raid.c (grub_raid_scan_device): Improve debug message.
5178
6d260daa 51792009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Updated copyright year
5182
5183 * fs/hfsplus.c: updated copyright year
18f547ad 5184
69f853f8 51852009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 HFS+ UUID
5188
18f547ad 5189 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 5190 in the space previously used by unused3
5191 (grub_hfsplus_uuid): new function
5192 (grub_hfsplus_fs): added uuid field
5193
4c402e73 51942009-05-03 Pavel Roskin <proski@gnu.org>
5195
5196 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
5197 suppress warnings. It's no longer needed.
5198 * disk/host.c: Likewise.
5199 * disk/ata_pthru.c: Likewise.
5200 * disk/loopback.c: Likewise.
5201 * hook/datehook.c: Likewise.
5202 * parttool/pcpart.c: Likewise.
5203 * fs/i386/pc/pxe.c: Likewise.
5204 * fs/ntfscomp.c: Likewise.
5205 * efiemu/main.c: Likewise.
5206 * mmap/mmap.c: Likewise.
5207 * commands/crc.c: Likewise.
5208 * commands/hexdump.c: Likewise.
5209 * commands/hdparm.c: Likewise.
5210 * commands/acpi.c: Likewise.
5211 * commands/echo.c: Likewise.
5212 * commands/minicmd.c: Likewise.
5213 * commands/blocklist.c: Likewise.
5214 * commands/memrw.c: Likewise.
5215 * commands/loadenv.c: Likewise.
5216 * commands/usbtest.c: Likewise.
5217 * commands/lsmmap.c: Likewise.
5218 * commands/boot.c: Likewise.
5219 * commands/parttool.c: Likewise.
5220 * commands/configfile.c: Likewise.
5221 * commands/search.c: Likewise.
5222 * commands/ieee1275/suspend.c: Likewise.
5223 * commands/cat.c: Likewise.
5224 * commands/i386/pc/pxecmd.c: Likewise.
5225 * commands/i386/pc/play.c: Likewise.
5226 * commands/i386/pc/halt.c: Likewise.
5227 * commands/i386/pc/vbeinfo.c: Likewise.
5228 * commands/i386/pc/vbetest.c: Likewise.
5229 * commands/lspci.c: Likewise.
5230 * commands/date.c: Likewise.
5231 * commands/handler.c: Likewise.
5232 * commands/ls.c: Likewise.
5233 * commands/test.c: Likewise.
5234 * commands/cmp.c: Likewise.
5235 * commands/efi/loadbios.c: Likewise.
5236 * commands/efi/fixvideo.c: Likewise.
5237 * commands/halt.c: Likewise.
5238 * commands/help.c: Likewise.
5239 * commands/reboot.c: Likewise.
5240 * hello/hello.c: Likewise.
5241 * script/sh/main.c: Likewise.
5242 * loader/xnu.c: Likewise.
5243 * term/terminfo.c: Likewise.
5244 * term/i386/pc/serial.c: Likewise.
5245 * term/usb_keyboard.c: Likewise.
5246
515b5079 52472009-05-03 David S. Miller <davem@davemloft.net>
5248
5249 * normal/menu.c: Include grub/parser.h
5250
dfc31a22 52512009-05-03 Pavel Roskin <proski@gnu.org>
5252
2fee74f1 5253 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
5254 not char*.
5255 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
5256 Suggested by Javier Martín <lordhabbit@gmail.com>
5257
dfc31a22 5258 * util/i386/pc/grub-mkrescue.in: Allow for the case when
5259 efiemu??.o doesn't exist.
5260 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
5261 copying.
5262
18f547ad 52632009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 5264
5265 FreeBSD 64-bit support
5266
18f547ad 5267 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 5268 and loader/i386/bsd_trampoline.S
5269 (bsd_mod_ASFLAGS): new variable
5270 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
5271 (FREEBSD_MODTYPE_KERNEL64): likewise
5272 (grub_bsd64_trampoline_start): likewise
5273 (grub_bsd64_trampoline_end): likewise
5274 (grub_bsd64_trampoline_selfjump): likewise
5275 (grub_bsd64_trampoline_gdt): likewise
5276 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
5277 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
5278 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
5279 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 5280 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 5281 of "attrib" member
5282 * loader/i386/bsd_pagetable.c: new file
5283 * loader/i386/bsd_trampoline.S: likewise
5284 * loader/i386/bsd.c (ALIGN_QWORD): new macro
5285 (ALIGN_VAR): likewise
5286 (entry_hi): new variable
5287 (kern_end_mdofs): likewise
5288 (is_64bit): likewise
5289 (grub_freebsd_add_meta): use ALIGN_VAR
5290 (grub_e820_mmap): new declaration
5291 (grub_freebsd_add_mmap): new function
5292 (grub_freebsd_add_meta_module): support 64 bit kernels
5293 (grub_freebsd_list_modules): use ALIGN_VAR
5294 (gdt_descriptor): new declaration
5295 (grub_freebsd_boot): support 64 bit kernels
5296 (grub_bsd_elf64_hook): new function
5297 (grub_bsd_load_elf): support elf64
5298
038c5720 52992009-05-03 Bean <bean123ch@gmail.com>
5300
5301 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
5302 after we get the result of if statement.
5303
fc45fb58 53042009-05-03 Bean <bean123ch@gmail.com>
5305
5306 * Makefile.in (enable_efiemu): New variable.
5307
5308 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
5309 set.
5310 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
5311 path.
5312 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
5313 path, add -mno-red-zone option.
5314 (efiemu64_s.o): Likewise.
5315 (efiemu64.o): Use macro $^ for source file.
5316
5317 * configure.ac (--enable-efiemu): New option.
5318
bbee0f2b 53192009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 xnu support
5322
5323 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
5324 (pkglib_MODULES): add xnu.mod
5325 (xnu_mod_SOURCES): new variable
5326 (xnu_mod_CFLAGS): likewise
5327 (xnu_mod_LDFLAGS): likewise
5328 (xnu_mod_ASFLAGS): likewise
5329 * conf/i386-pc.rmk: likewise
5330 * conf/x86_64-efi.rmk: likewise
7dd4a573 5331 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 5332 new declaration
5333 * include/grub/i386/macho.h: new file
5334 * include/grub/i386/xnu.h: likewise
5335 * include/grub/macho.h: likewise
5336 * include/grub/machoload.h: likewise
5337 * include/grub/x86_64/macho.h: likewise
5338 * include/grub/x86_64/xnu.h: likewise
5339 * include/grub/xnu.h: likewise
5340 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
5341 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
5342 * loader/i386/efi/xnu.c: new file
5343 * loader/i386/pc/xnu.c: likewise
5344 * loader/i386/xnu.c: likewise
5345 * loader/i386/xnu_helper.S: likewise
5346 * loader/macho.c: likewise
5347 * loader/xnu.c: likewise
5348 * loader/xnu_resume.c: likewise
5349 * util/grub-dumpdevtree: likewise
5350 * include/grub/i386/pit.h: include grub/err.h
5351 (grub_pit_wait): export
5352 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 5353
5caf964d 53542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 Efiemu
7dd4a573 5357
5caf964d 5358 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 5359 _linux_efi, linux_efi.
5360 new files in grub-emu
5caf964d 5361 new targets efiemu32.o and efiemu64.o
5362 * loader/linux_normal_efiemu.c: likewise
5363 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 5364 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 5365 files to copy
5366 * include/grub/autoefi.h: new file
7dd4a573 5367 * include/grub/i386/efiemu.h: likewise
5caf964d 5368 * include/grub/i386/pc/efiemu.h: likewise
5369 * include/grub/efi/api.h: add LL suffix when necessary
5370 new definitions relating to tables
5371 * include/grub/efiemu/efiemu.h: new file
5372 * include/grub/efiemu/runtime.h: likewise
5373 * efiemu/prepare.c: likewise
5374 * efiemu/loadcore_common.c: likewise
5375 * efiemu/loadcore64.c: likewise
5376 * efiemu/runtime/efiemu.sh: likewise
5377 * efiemu/runtime/efiemu.S: likewise
5378 * efiemu/runtime/efiemu.c: likewise
5379 * efiemu/runtime/config.h: likewise
5380 * efiemu/prepare32.c: likewise
5381 * efiemu/main.c: likewise
5382 * efiemu/modules/pnvram.c: likewise
5383 * efiemu/modules/i386: likewise
5384 * efiemu/modules/i386/pc: likewise
5385 * efiemu/modules/acpi.c: likewise
5386 * efiemu/i386/pc/cfgtables.c: likewise
5387 * efiemu/i386/loadcore64.c: likewise
5388 * efiemu/i386/loadcore32.c: likewise
5389 * efiemu/prepare64.c: likewise
5390 * efiemu/loadcore.c: likewise
5391 * efiemu/symbols.c: likewise
5392 * efiemu/mm.c: likewise
5393 * efiemu/loadcore32.c: likewise
7dd4a573 5394
53952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 5396
5397 ACPI spoofing
5398
5399 * commands/acpi.c: new file
5400 * commands/i386/pc/acpi.c: likewise
5401 * commands/efi/acpi.c: likewise
5402 * include/grub/acpi.h: likewise
5403 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
5404 (acpi_mod_SOURCES): new variable
5405 (acpi_mod_CFLAGS): likewise
5406 (acpi_mod_LDFLAGS): likewise
5407 * conf/i386-efi.rmk: likewise
5408 * conf/x86_64-efi.rmk: likewise
5409
7dd4a573 54102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 5411
5412 Missing part from mmap patch
5413
5414 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
5415 (grub_mmap_unregister)
5416 (grub_mmap_free_and_unregister): use grub_mmap_register
5417
7dd4a573 54182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 5419
5420 Mmap services
5421
5422 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
5423 * loader/i386/linux.c (find_mmap_size): likewise
5424 (allocate_pages): likewise
5425 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
5426 (grub_fill_multiboot_mmap): likewise
5427 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
5428 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
5429 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
5430 (OPENBSD_MMAP_RESERVED): likewise
5431 * include/grub/i386/pc/memory.h: include grub/memory.h
5432 (grub_lower_mem): removed
5433 (grub_upper_mem): likewise
5434 (GRUB_MACHINE_MEMORY_ACPI): new definition
5435 (GRUB_MACHINE_MEMORY_NVS): likewise
5436 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
5437 (GRUB_MACHINE_MEMORY_HOLE): likewise
5438 (grub_machine_mmap_register): likewise
5439 (grub_machine_mmap_unregister): likewise
5440 (grub_machine_get_upper): likewise
5441 (grub_machine_get_lower): likewise
5442 (grub_machine_get_post64): likewise
5443 * include/grub/i386/efi/memory.h: new file
5444 * include/grub/x86_64/efi/memory.h: likewise
5445 * include/grub/efi/memory.h: likewise
5446 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
5447 (mmap_mod_SOURCES): new variable
5448 (mmap_mod_LDFLAGS): likewise
5449 (mmap_mod_ASFLAGS): likewise
5450 * conf/i386-coreboot.rmk: likewise
5451 * conf/i386-ieee1275.rmk: likewise
5452 * conf/i386-efi.rmk: likewise
5453 * conf/x86_64-efi.rmk: likewise
5454 * include/grub/types.h (UINT_TO_PTR): new macro
5455 (PTR_TO_UINT32): likewise
5456 (PTR_TO_UINT64): likewise
5457 * include/grub/memory.h: new file
5458 * mmap/i386/pc/mmap.c: likewise
5459 * mmap/i386/pc/mmap_helper.S: likewise
5460 * mmap/i386/uppermem.c: likewise
5461 * mmap/mmap.c: likewise
5462 * mmap/efi/mmap.c: likewise
7dd4a573 5463 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 5464 grub_upper_mem
5465 * kern/i386/pc/init.c (grub_lower_mem): removed variable
5466 (grub_upper_mem): likewise
5467 (grub_machine_init): don't use grub_upper_mem,
5468 make grub_lower_mem local
5469 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
5470 grub_mmap_iterate and grub_mmap_get_upper
5471 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
5472
d558e6b5 54732009-05-02 Bean <bean123ch@gmail.com>
5474
5475 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
5476 script/sh/parser.y.
5477 (pkglib_MODULES): Add normal.mod and sh.mod.
5478 (normal_SOURCES): New variable.
5479 (normal_mod_CFLAGS): Likewise.
5480 (normal_mod_LDFLAGS): Likewise.
5481 (sh_mod_SOURCES): Likewise.
5482 (sh_mod_CFLAGS): Likewise.
5483 (sh_mod_LDFLAGS): Likewise.
5484
5485 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
5486 script/sh/lexer.c_DEPENDENCIES.
5487 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
5488 kern/rescue_reader.c and kern/rescue_parser.c.
5489 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
5490 (grub_emu_SOURCES): Change source files.
5491 (pkglib_MODULES): Remove normal.mod.
5492 (normal_SOURCES): Removed.
5493 (normal_mod_CFLAGS): Likewise.
5494 (normal_mod_LDFLAGS): Likewise.
5495 * conf/i386-coreboot.rmk: Likewise.
5496 * conf/i386-efi.rmk: Likewise.
5497 * conf/i386-ieee1276.rmk: Likewise.
5498 * conf/powerpc-ieee1275.rmk: Likewise.
5499 * conf/sparc64-ieee1275.rmk: Likewise.
5500 * conf/x86_64-efi.rmk: Likewise.
5501
5502 * include/grub/command.h (grub_command_execute): New inline function.
5503
5504 * include/grub/menu.h (grub_menu_entry): Removed commands field.
5505
5506 * include/grub/normal.h: Remove <grub/setjmp.h>.
5507 (grub_fs_module_list): Moved to normal/autofs.c.
5508 (grub_exit_env): Removed.
5509 (grub_command_execute): Likewise.
5510 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
5511 parameter script.
5512 (read_command_list): New function declaration.
5513 (read_fs_list): Likewise.
5514
5515 * include/parser.h: Include <grub/reader.h>.
5516 (grub_parser_split_cmdline): Change type of getline parameter.
5517 (grub_parser): New structure.
5518 (grub_parser_class): New variable.
5519 (grub_parser_execute): New function declaration.
5520 (grub_register_rescue_parser): Likewise.
5521 (grub_parser_register): New inline function.
5522 (grub_parser_unregister): Likewise.
5523 (grub_parser_get_current): Likewise.
5524 (grub_parser_set_current): Likewise.
5525
5526 * include/grub/reader.h: New file.
5527 * kern/reader.c: Likewise.
5528 * kern/rescue_parser.c: Likewise.
5529 * kern/rescue_reader.c: Likewise.
5530 * normal/autofs.c: Likewise.
5531 * normal/dyncmd.c: Likewise.
5532
5533 * include/grub/rescue.h: Removed.
5534 * normal/command.h: Likewise.
5535
5536 * include/grub/script.h: Moved to ...
5537 * include/grub/script_sh.h: ... Moved here.
5538 * normal/execute.c: Moved to ...
5539 * script/sh/execute.c: ... Moved here.
5540 * normal/function.c: Moved to ...
5541 * script/sh/function.c: ... Moved here.
5542 * normal/lexer.c: Moved to ...
5543 * script/sh/lexer.c: ... Moved here.
5544 * normal/parser.y: Moved to ...
5545 * script/sh/parser.y: ... Moved here.
5546 * normal/script.c: Moved to ...
5547 * script/sh/script.c: ... Moved here.
5548
5549 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
5550 <grub/reader.h>.
5551 (grub_exit_env): Removed.
5552 (fs_module_list): Moved to normal/autofs.c.
5553 (grub_file_getline): Don't handle comment here.
5554 (free_menu): Skip removed field entry->commands.
5555 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
5556 script parameter.
5557 (read_config_file): Removed nested parameter, change getline function.
5558 (grub_enter_normal_mode): Removed.
5559 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
5560 (read_command_list): Likewise.
5561 (autoload_fs_module): Moved to normal/autofs.c.
5562 (read_fs_list): Likewise.
5563 (reader_nested): New variable.
5564 (grub_normal_execute): Run parser.sh to switch to sh parser.
5565 (grub_cmd_rescue): Removed.
5566 (cmd_normal): Removed.
5567 (grub_cmd_normal): Unregister itself at the beginning. Don't register
5568 rescue command.
5569 (grub_cmdline_run): New function.
5570 (grub_normal_reader_init): Likewise.
5571 (grub_normal_read_line): Likewise.
5572 (grub_env_write_pager): Likewise.
5573 (cmdline): New variable.
5574 (grub_normal_reader): Likewise.
5575 (GRUB_MOD_INIT): Register normal reader and set as current, register
5576 pager hook, register normal command with grub_register_command_prio,
5577 so that it won't show up in command.lst.
5578 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
5579 grub_fs_autoload_hook.
5580
5581 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
5582 (grub_menu_execute_entry): Replace grub_script_execute with
5583 grub_parser_execute, change parameter to grub_command_execute.
5584
5585 * normal/menu_text.c: Remove <grub/script.h>.
5586
5587 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
5588 and <grub/parser.h>.
5589 (run): Change editor_getline to use new parser interface. Change
5590 parameter to grub_command_execute.
5591
5592 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
5593 <grub/reader.h> and <grub/parser.h>.
5594 (grub_load_normal_mode): Execute normal command.
5595 (grub_main): Call grub_register_core_commands,
5596 grub_register_rescue_parser and grub_register_rescue_reader, use
5597 grub_reader_loop to enter input loop.
5598
7dd4a573 5599 * kern/parser.c (grub_parser_split_cmdline): Change type of
5600 getline parameter.
d558e6b5 5601 (grub_parser_class): New variable.
5602 (grub_parser_execute): New function.
5603
5604 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
5605 * loader/multiboot2.c: Likewise.
5606 * loader/sparc64/ieee1275/linux.c: Likewise.
5607
5608 * util/grub-emu.c (read_command_list): New dummy function.
5609
18db813d 56102009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5611
5612 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
5613 count to 16 for CCISS and IDA.
5614
6c67de15 56152009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5616
5617 * normal/menu_text.c (grub_wait_after_message): Print a newline
5618 after waiting for user input.
5619
5620 * loader/i386/linux.c: Include `<grub/normal.h>'.
5621 (grub_cmd_linux): Improve the error message about `ask' mode, by
5622 waiting for user input so it's not missed (we can do this, since
5623 user requested interaction).
5624
d9dc87b0 56252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 Added missing lst to grub-mkrescue
5628
5629 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
5630 and ${input_dir}/parttool.lst
5631
ac8a2baa 56322009-04-30 David S. Miller <davem@davemloft.net>
5633
ad22a610 5634 * util/hostdisk.c (device_is_wholedisk): New function.
5635 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
5636 zero only if device_is_wholedisk() returns true.
5637
6966215d 5638 * util/hostdisk.c (convert_system_partition_to_system_disk):
5639 Handle virtual disk devices named /dev/vdiskX as found on sparc
5640 and powerpc.
5641
ac8a2baa 5642 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
5643 lettered partition specifier is found, convert to numbered.
5644
979b4fb4 56452009-04-29 David S. Miller <davem@davemloft.net>
5646
e2bf39b2 5647 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
5648 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5649
3c64e104 5650 * normal/command.c: Add missing newline at end of file.
5651
979b4fb4 5652 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
5653 warnings.
5654 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
5655 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
5656 grub_ofdisk_read): Likewise, and deal similarly with the fact that
5657 ihandles have a 32-bit type but need to be stored in a "void *".
5658
136d9f82 56592009-04-28 Pavel Roskin <proski@gnu.org>
5660
9459c306 5661 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
5662 not disk. Adjust all dependencies.
2e08a26a 5663 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 5664 grub_disk_close().
5665
136d9f82 5666 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
5667 parent's partition, don't copy it by reference, as it gets freed
5668 on close.
5669
7dd4a573 56702009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 5671
5672 Preboot hooks support
5673
5674 * commands/boot.c (struct grub_preboot_t): new declaration
5675 (preboots_head): new variable
5676 (preboots_tail): likewise
5677 (grub_loader_register_preboot_hook): new function
5678 (grub_loader_unregister_preboot_hook): likewise
5679 (grub_loader_set): launch preboot hooks
5680 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
5681 (grub_loader_register_preboot_hook): new declaration
5682 (grub_loader_unregister_preboot_hook): likewise
5683
5af922b5 56842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 Warning fix
5687
7dd4a573 5688 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 5689 calling grub_dprintf
5690
a5562c30 56912009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 Bug and warning fixes
5694
7dd4a573 5695 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 5696 declaration
5697 * commands/test.c (test_parse): fixed bug with file tests and corrected
5698 declaration of find_file
5699
4006f85c 57002009-04-26 Pavel Roskin <proski@gnu.org>
5701
5702 * Makefile.in: Don't install empty manual pages if help2man is
5703 missing. Use help2man option for output, not shell redirection.
5704
5c77c3de 57052009-04-26 David S. Miller <davem@davemloft.net>
5706
5707 * util/grub-mkdevicemap.c (make_device_map): Add missing
5708 NESTED_FUNC_ATTR to process_device().
5709
033b10a8 57102009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 Test command
5713
5714 * commands/test.c: rewritten to use bash-like test
5715
e4343593 57162009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 Parttool autoloading and improvements
5719
7dd4a573 5720 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 5721 (parttool.lst): new target
5722 * genmk.rb: generate parttool-*
5723 (CLEANFILES): add #{parttool}
5724 (PARTTOOLFILES): new variable
5725 * genparttoollist.sh: new file
7dd4a573 5726 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 5727 (grub_pcpart_type): likewise
5728 * commands/parttool.c (helpmsg): new variable
5729 (grub_cmd_parttool): output help if not enough arguments are supplied
5730 autoload modules
5731 (GRUB_MOD_INIT(parttool)): use helpmsg
5732
0d312500 57332009-04-24 David S. Miller <davem@davemloft.net>
5734
7dd4a573 5735 Avoiding opening same device multiple times in device iterator.
0d312500 5736
5737 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 5738 and use it to build a list of partitions in iterate_disk() and
0d312500 5739 iterate_partition().
5740
ac20caff 5741 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
5742 on disk->data.
5743
0dcf7495 5744 * disk/ieee1275/nand.c (grub_nand_iterate): Return
5745 grub_devalias_iterate() result instead of unconditional 0.
5746 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
5747 Also, capture hook return value, either directly or via
5748 grub_children_iterate(), and propagate to caller.
5749 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
5750 grub_children_iterate): Return value is now 'int' instead of
5751 'grub_err_t'.
5752 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
5753 like a proper iterator, stopping when hooks return non-zero.
5754 (grub_devalias_iterate): Likewise.
5755
c8c08833 57562009-04-23 David S. Miller <davem@davemloft.net>
5757
5758 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
5759
f01005a8 57602009-04-22 David S. Miller <davem@davemloft.net>
5761
5762 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
5763 is larger than address_cells, use that value for address_cells too.
5764
4e8269da 5765 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
5766 IEEE1275_MAX_PATH_LEN): Define.
5767 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
5768 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
5769 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
5770 'devtype'. Explicitly NULL terminate devalias expansion.
5771
a1447506 5772 * util/sparc64/ieee1275/misc.c: New file.
5773 * util/sparc64/ieee1275/grub-setup.c: New file.
5774 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
5775 * util/sparc64/ieee1275/grub-mkimage.c: New file.
5776 * util/sparc64/ieee1275/grub-install.in: New file.
5777 * util/ieee1275/ofpath.c: New file.
5778 * util/ieee1275/devicemap.c: New file.
5779 * util/devicemap.c: New file.
5780 * util/deviceiter.c: New file.
5781 * kern/sparc64/ieee1275/init.c: New file.
5782 * include/grub/util/ofpath.h: New file.
5783 * include/grub/util/deviceiter.h: New file.
5784 * util/grub-mkdevicemap.c: Include deviceiter.h.
5785 Implement using grub_util_emit_devicemap_entry and
5786 grub_util_iterate_devices.
5787 * conf/i386-corebook.rmk: Build util/deviceiter.c and
5788 util/devicemap.c into grub-mkdevicemap
5789 * conf/i386-efi.rmk: Likewise.
5790 * conf/i386-ieee1275.rmk: Likewise.
5791 * conf/i386-pc.rmk: Likewise.
5792 * conf/powerpc-ieee1275.rmk: Likewise.
5793 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
5794 images and installation utilities. Build kernel as image
5795 instead of as elf binary. Use common rules as much as possible.
5796
7dd4a573 57972009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 5798
5799 Correct GPT definition
5800
7dd4a573 5801 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 5802 of "attrib" member
5803
c6c5219f 58042009-04-19 Felix Zielcke <fzielcke@z-51.de>
5805
5806 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
5807
0552ff9f 58082009-04-19 David S. Miller <davem@davemloft.net>
5809
5810 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
5811 (grub_rescue_cmd_linux): Rename to...
5812 (grub_cmd_linux): and fix prototype.
5813 (grub_rescue_cmd_initrd): Rename to...
5814 (grub_cmd_initrd): and fix prototype.
5815 (cmd_linux, cmd_initrd): New.
5816 (GRUB_MOD_INIT(linux)): Use grub_register_command().
5817 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
5818
d1a282fc 58192009-04-17 Pavel Roskin <proski@gnu.org>
5820
07c5039f 5821 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
5822 format.
5823 (grub_ohci_transfer): Likewise.
5824
b012002d 5825 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
5826
1bc09c35 5827 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
5828 return without a value. Fix inconsistent indentation.
5829
e0ff9126 5830 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
5831 match struct grub_fs.
5832
d1a282fc 5833 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
5834 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
5835 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
5836 * commands/lspci.c (grub_lspci_iter): Likewise.
5837
a96df3f2 58382009-04-16 Bean <bean123ch@gmail.com>
5839
5840 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
5841 value.
5842
41bb0fe9 58432009-04-15 Pavel Roskin <proski@gnu.org>
5844
5845 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
5846 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
5847 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
5848 definitions.
5849
596c6970 58502009-04-15 Felix Zielcke <fzielcke@z-51.de>
5851
5852 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 5853 that no multiple data or metadata areas are supported and `Unknown
596c6970 5854 metadata header'.
5855
7dd4a573 58562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 5857
5858 Move loader out of the kernel
5859
5860 * kern/loader.c: moved to ...
5861 * commands/boot.c: ... moved here
5862 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
5863 * commands/boot.c (grub_cmd_boot): moved here. All users updated
5864 * include/grub/kernel.h (grub_machine_fini): export
5865 * include/grub/loader.h (grub_loader_is_loaded): update declaration
5866 (grub_loader_set): likewise
5867 (grub_loader_unset): likewise
5868 (grub_loader_boot): likewise
5869 * conf/common.rmk: new module boot.mod
5870 (pkglib_MODULES): add boot.mod
5871 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
5872 (grub_emu_SOURCES): likewise
5873 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
5874 (grub_emu_SOURCES): likewise
5875 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
5876 (grub_emu_SOURCES): likewise
5877 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
5878 (grub_emu_SOURCES): likewise
5879 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
5880 (grub_emu_SOURCES): likewise
7dd4a573 5881 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
5882 (grub_emu_SOURCES): likewise
0d5d5653 5883 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 5884 (grub_emu_SOURCES): likewise
0d5d5653 5885
7dd4a573 58862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 5887
5888 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 5889
5999d619 5890 * kern/misc.c (grub_itoa): Removed function
5891 (grub_ltoa): likewise
5892 (grub_vsprintf): use grub_lltoa
5893
7dd4a573 58942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 5895
5896 Restore grub-emu
5897
5898 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
5899 * conf/i386-coreboot.rmk: likewise
5900 * conf/i386-ieee1275.rmk: likewise
5901 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5902
20318222 59032009-04-15 Felix Zielcke <fzielcke@z-51.de>
5904
5905 * INSTALL: Add that `./autogen.sh' needs to be run before
5906 `./configure.'.
5907
d05f0df3 59082009-04-14 Bean <bean123ch@gmail.com>
5909
5910 * Makefile.in (pkglib_DATA): Add handler.lst.
5911 (handler.lst): New rule.
5912
5913 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
5914 * conf/i386-coreboot.rmk: Likewise.
5915 * conf/i386-ieee1275.rmk: Likewise.
5916 * conf/i386-efi.rmk: Likewise.
5917 * conf/x86_64-efi.rmk: Likewise.
5918 * conf/powerpc-ieee1275.rmk: Likewise.
5919 * conf/sparc64-ieee1275.rmk: Likewise.
5920
5921 * genhandlerlist.sh: New file.
5922
5923 * genmk.rb: Add rules to generate handler.lst.
5924
5925 * include/grub/normal.h (grub_file_getline): New function definition.
5926 (read_handler_list): Likewise.
5927 (free_handler_list): Likewise.
5928
5929 * include/grub/term.h (grub_term_register_input): Add name parameter
5930 for auto generation of handler.lst.
5931 (grub_term_register_output): Likewise.
5932
5933 * normal/handler.c: New file.
5934
5935 * normal/main.c (get_line): Renamed to grub_file_getline.
5936 (read_config_file): Use the newly renamed grub_file_getline.
5937 (read_command_list): Likewise.
5938 (read_fs_list): Likewise.
5939 (grub_normal_execute): Call read_handler_list to parse handler.lst.
5940 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
5941
5942 * term/efi/console.c (grub_console_init): Add name parameter for auto
5943 generation of handler.lst.
5944 * term/gfxterm.c: Likewise.
5945 * term/i386/pc/at_keyboard.c: Likewise.
5946 * term/i386/pc/console.c: Likewise.
5947 * term/i386/pc/serial.c: Likewise.
5948 * term/i386/pc/vesafb.c: Likewise.
5949 * term/i386/pc/vga.c: Likewise.
5950 * term/i386/pc/vga_text.c: Likewise.
5951 * term/ieee1275/ofconsole.c: Likewise.
5952 * term/usb_keyboard.c: Likewise.
5953
33c846be 59542009-04-14 Bean <bean123ch@gmail.com>
5955
5956 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
5957 properly with null character.
5958
4484e01e 59592009-04-14 Felix Zielcke <fzielcke@z-51.de>
5960
5961 * configure: Remove.
5962 * config.h.in: Likewise.
f93d668e 5963 * stamp-h.in: Likewise.
4484e01e 5964 * DISTLIST: Likewise.
5965 * conf/common.mk: Likewise.
5966 * conf/i386-coreboot.mk: Likewise.
5967 * conf/i386-efi.mk: Likewise.
5968 * conf/i386-ieee1275.mk: Likewise.
5969 * conf/i386.mk: Likewise.
5970 * conf/i386-pc.mk: Likewise.
5971 * conf/powerpc-ieee1275.mk: Likewise.
5972 * conf/sparc64-ieee1275.mk: Likewise.
5973 * conf/x86_64-efi.mk: Likewise.
5974
5975 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
5976 develop on GRUB.
5977
7dd4a573 59782009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 5979 David S. Miller <davem@davemloft.net>
5980
5981 * util/hostdisk.c (make_device_name): Fix buffer length
5982 calculations.
5983
e25b5a8c 59842009-04-14 Felix Zielcke <fzielcke@z-51.de>
5985
5986 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
5987 <sys/param.h> and <sys/sysctl.h>.
5988 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
5989 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
5990 opening the device and reset them afterwards.
5991
1f1f580c 59922009-04-13 Pavel Roskin <proski@gnu.org>
5993
5994 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
5995 Reported by John Stanley <jpsinthemix@verizon.net>
5996
7ebc2d6b 59972009-04-13 Robert Millan <rmh@aybabtu.com>
5998
5999 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 6000 that name for menuentries when appropriate.
7ebc2d6b 6001
d8ba3667 60022009-04-13 Felix Zielcke <fzielcke@z-51.de>
6003
6004 * util/grub.d/10_freebsd.in: Add a missing `fi'.
6005
cba416eb 60062009-04-13 Robert Millan <rmh@aybabtu.com>
6007
6008 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
6009 to Linux, simply abort telling the user it's no longer supported.
6010
a547a745 60112009-04-13 Felix Zielcke <fzielcke@z-51.de>
6012
6013 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 6014 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 6015 `freebsd_loadenv' only when devices.hints exist.
6016
232a769c 60172009-04-13 Pavel Roskin <proski@gnu.org>
6018
6019 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
6020
c3012039 60212009-04-13 Felix Zielcke <fzielcke@z-51.de>
6022
6023 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
6024 partition number.
6025 (grub_drive): Likewise.
6026
234022fe 60272009-04-13 David S. Miller <davem@davemloft.net>
6028
6029 * kern/sparc64/ieee1275/ieee1275.c: New file.
6030 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
6031 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
6032 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
6033 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
6034 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
6035 grub_ieee1275_alloc_physmem): Declare new exported functions.
6036
d8e1836c 6037 * include/grub/sparc64/ieee1275/loader.h: New file.
6038 * include/grub/sparc64/ieee1275/memory.h: Likewise.
6039 * include/grub/sparc64/kernel.h: Likewise.
6040 * loader/sparc64/ieee1275/linux.c: Likewise.
6041
96bd81ec 6042 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
6043 (grub_fstest_SOURCES): Likewise.
6044
6a4737e5 6045 * util/hostdisk.c (make_device_name): Do not make any assumptions
6046 about the length of drive names.
6047
1d7a72fd 6048 * kern/dl.c (grub_dl_load_file): Close file immediately when
6049 we are done using it.
6050
56bc2471 60512009-04-12 David S. Miller <davem@davemloft.net>
6052
6053 * kern/misc.c (grub_ltoa): Fix cast when handling negative
6054 values. Noticed by Pavel Roskin.
6055
df38d0bb 6056 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
6057 target compiler.
7dd4a573 6058
e382e93a 6059 * genmk.rb: Add more flexible image type specification, also
6060 pass --strip-unneeded to objcopy.
6061 * conf/i386-pc.rmk: Use *_FORMAT.
6062 * conf/i386-pc.mk: Rebuilt.
6063
f5dbbca9 6064 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
6065 (OFDISK_HASH_SZ): Define.
6066 (ofdisk_hash): New hash table.
6067 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
6068 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
6069 instead of device phandle which is not unique.
6070
91c88b12 6071 * kern/sparc64/ieee1275/init.c: Delete, replace with...
6072 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
6073 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
6074 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
6075 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
6076 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
6077 GRUB_KERNEL_MACHINE_DATA_END): Define.
6078 (grub_kernel_image_size, grub_total_module_size): Declare.
6079
5b5d4aa5 60802009-04-12 Pavel Roskin <proski@gnu.org>
6081
7dd4a573 6082 * configure.ac: Change the logic when we check for target tools.
6083 Do it when the target is specified and it's different from the
6084 specified value of the host.
5b5d4aa5 6085
c91e1793 60862009-04-11 Felix Zielcke <fzielcke@z-51.de>
6087
6088 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
6089 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
6090 GNU/kFreeBSD. Check if a device is a character device. Use
6091 DIOCGMEDIASIZE to get the size.
6092 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
6093 support for GNU/kFreeBSD.
6094 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
6095 is a character device instead of a block device. Add support for
6096 FreeBSD device names.
6097
6098 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
6099 is a character device instead of a block device.
6100
6101 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
6102 is a character device instead of a block device.
6103
b1ac8644 61042009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
6105
6106 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
6107 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
6108 FreeBSD. Check if a device is a character device. Use
6109 DIOCGMEDIASIZE to get the size.
6110 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
6111 support for FreeBSD.
6112 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
6113 is a character device instead of a block device. Add support for
6114 FreeBSD device names.
6115
6116 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
6117 a character device instead of a block device.
6118 (grub_util_check_char_device): New function.
6119
6120 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
6121 a character device instead of a block device.
6122
6123 * include/grub/util/getroot.h (grub_util_check_char_device): New
6124 prototype.
6125
a3f7515a 61262009-04-11 David S. Miller <davem@davemloft.net>
6127
6128 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
6129 static libgcc.
6130 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
6131 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
6132 function, if present.
6133 (__bswapdi2): Likewise.
6134
0d44993d 6135 * include/grub/sparc64/ieee1275/boot.h: New file.
6136 * boot/sparc64/ieee1275/boot.S: Likewise.
6137 * boot/sparc64/ieee1275/diskboot.S: Likewise.
6138
ed3d2bc2 6139 * kern/misc.c (grub_ltoa): New function.
6140 (grub_vsprintf): Use it to format 'long' integers.
6141
d3bfb59c 61422009-04-10 David S. Miller <davem@davemloft.net>
6143
6144 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
6145 slots are of type grub_ieee1275_cell_t.
6146 (grub_nand_read): Likewise.
6147 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
6148 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
6149 macros are used to compare values in arg/ret block of the call.
6150 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
6151 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
6152 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
6153 grub_ieee1275_instance_to_path, grub_ieee1275_write,
6154 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
6155 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
6156 grub_ieee1275_close, grub_ieee1275_set_property,
6157 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
6158 grub_ieee1275_cell_t.
6159 * kern/ieee1275/openfw.c (grub_map): Likewise.
6160 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
6161 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
6162
450e2238 6163 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
6164 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6165 (grub_devalias_iterate): Likewise.
6166
7dd4a573 61672009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 6168
6169 UFS improvements
6170
6171 * fs/ufs.c (INODE_NBLOCKS): new definition
6172 (struct grub_ufs_dirent): added fields for non-BSD dirents
6173 (grub_ufs_get_file_block): fixed double indirect handling
6174 (grub_ufs_lookup_symlink): use more robust way to determine whether
6175 symlink is inline
6176 (grub_ufs_find_file): support for non-BSD dirents
6177 (grub_ufs_dir): support for non-BSD dirents
6178
e7e6862a 61792009-04-10 Bean <bean123ch@gnail.com>
6180
6181 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
6182 attribute, otherwise the size would be wrong for i386 platform.
6183
6184 * include/grub/pci.h (grub_pci_read_word): New inline function.
6185 (grub_pci_read_byte): Likewise.
6186 (grub_pci_write): Likewise.
6187 (grub_pci_write_word): Likewise.
6188 (grub_pci_write_byte): Likewise.
6189
6190 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
6191
6192 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
6193 (find_framebuf): Scan pci to locate the frame buffer address.
6194
6195 * commands/efi/fixvideo.c: New file.
6196
6197 * commands/efi/loadbios.c: Likewise.
6198
6199 * commands/memrw.c: Likewise.
6200
6201 * util/grub-dumpbios.in: Likewise.
6202
6203 * conf/common.rmk (grub-dumpbios): New utility.
6204 (pkglib_MODULES): New module memrw.mod.
6205 (memrw_mod_SOURCE): New macro.
6206 (memrw_mod_CFLAGS): Likewise.
6207 (memrw_mod_LDFLAGS): Likewise.
6208
7dd4a573 6209 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 6210 fixvideo.mod.
6211 (loadbios_mod_SOURCE): New macro.
6212 (loadbios_mod_CFLAGS): Likewise.
6213 (loadbios_mod_LDFLAGS): Likewise.
6214 (fixvideo_mod_SOURCE): Likewise.
6215 (fixvideo_mod_CFLAGS): Likewise.
6216 (fixvideo_mod_LDFLAGS): Likewise.
6217
7dd4a573 6218 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 6219 fixvideo.mod.
6220 (loadbios_mod_SOURCE): New macro.
6221 (loadbios_mod_CFLAGS): Likewise.
6222 (loadbios_mod_LDFLAGS): Likewise.
6223 (fixvideo_mod_SOURCE): Likewise.
6224 (fixvideo_mod_CFLAGS): Likewise.
6225 (fixvideo_mod_LDFLAGS): Likewise.
6226
af63ada2 62272009-04-08 Felix Zielcke <fzielcke@z-51.de>
6228
6229 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
6230
c2cdde70 62312009-04-07 David S. Miller <davem@davemloft.net>
6232
6233 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
6234 support for R_SPARC_OLO10 relocations. Fix compile warning for
6235 R_SPARC_WDISP30 case.
ea3f72cf 6236 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 6237
761319cf 62382009-04-06 Pavel Roskin <proski@gnu.org>
6239
1007d1f5 6240 * include/grub/misc.h (ARRAY_SIZE): New macro.
6241 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
6242 New macro.
6243 * loader/i386/linux.c (allocate_pages): Use free_pages().
6244 (grub_linux_unload): Don't use free_pages().
6245 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
6246 wrong index. Treat all other modes as text modes.
6247 (grub_cmd_linux): Initialize vid_mode unconditionally to
6248 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
6249
761319cf 6250 * commands/help.c (print_command_help): Use cmd->prio, not
6251 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
6252
ea761d40 62532009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 6254
ea761d40 6255 Parttool
6256
6257 * parttool/pcpart.c: new file
6258 * commands/parttool.c: likewise
6259 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
6260 (parttool_mod_SOURCES): new variable
6261 (parttool_mod_CFLAGS): likewise
6262 (parttool_mod_LDFLAGS): likewise
6263 (pcpart_mod_SOURCES): likewise
6264 (pcpart_mod_CFLAGS): likewise
6265 (pcpart_mod_LDFLAGS): likewise
7dd4a573 6266 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 6267 and parttool/pcpart.c
6268 * conf/i386-efi.rmk: likewise
6269 * conf/i386-ieee1275.rmk: likewise
6270 * conf/i386-pc.rmk: likewise
6271 * conf/powerpc-ieee1275.rmk: likewise
6272 * conf/sparc64-ieee1275.rmk: likewise
6273 * conf/x86_64-ieee1275.rmk: likewise
6274
05aaebfb 62752009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 Support for mtime and further expandability of dir command
6278
6279 * include/grub/lib/datetime.h: moved to ...
7dd4a573 6280 * include/grub/datetime.h: ... moved here and added
05aaebfb 6281 declaration of grub_unixtime2datetime. All users updated
7dd4a573 6282 * include/grub/fs.h: new syntax for dir and mtime functions in
6283 struct grub_fs
05aaebfb 6284 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
6285 and GRUB_FSHELP_FLAGS_MASK
6286 * commands/ls.c (grub_ls_list_files): Write mtime in long format
6287 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
6288 (grub_ext2_mtime): new function
6289 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
6290 (grub_hfsplus_mtime): new function
6291 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
6292 (GRUB_UFS_ATTR_FILE): likewise
6293 (GRUB_UFS_ATTR_LNK): likewise
6294 (struct grub_ufs_sblock): new fields mtime
6295 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
6296 all users updated
6297 (grub_ufs_dir): mtime support
6298 (grub_ufs_mtime): new function
6299 * fs/affs.c (grub_affs_dir): use new dir syntax
6300 * fs/afs.c (grub_afs_dir): likewise
6301 * fs/cpio.c (grub_cpio_dir): likewise
6302 * fs/fat.c (grub_fat_find_dir): likewise
6303 * fs/hfs.c (grub_hfs_dir): likewise
6304 * fs/iso9660.c (grub_iso9660_dir): likewise
6305 * fs/jfs.c (grub_jfs_dir): likewise
6306 * fs/minix.c (grub_minix_dir): likewise
6307 * fs/ntfs.c (grub_ntfs_dir): likewise
6308 * fs/reiserfs.c (grub_reiserfs_dir): likewise
6309 * fs/sfs.c (grub_sfs_dir): likewise
6310 * fs/xfs.c (grub_xfs_dir): likewise
6311 * util/hostfs.c (grub_hostfs_dir): likewise
6312 * lib/datetime.c: moved to ...
6313 * normal/datetime.c: ... moved here
6314 (grub_unixtime2datetime): new function
6315 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 6316 * normal/completion.c (iterate_dir): use new dir syntax
6317 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 6318 last modification time of a volume
7dd4a573 6319 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 6320 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 6321 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 6322 (normal_mod_SOURCES): likewise
6323 (datetime_mod_SOURCES): Removed lib/datetime.c
6324 * conf/i386-efi.rmk: likewise
7dd4a573 6325 * conf/i386-ieee1275.rmk: likewise
05aaebfb 6326 * conf/i386-pc.rmk: likewise
6327 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 6328 * conf/sparc64-ieee1275.rmk: likewise
6329 * conf/x86_64-efi.rmk: likewise
05aaebfb 6330
8a7e1a14 63312009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 6334
6335 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 6336 on grub_fat_find_dir
6337 (grub_fat_find_dir): use grub_fat_iterate_dir
6338 (grub_fat_label): likewise
6339
04186a9c 63402009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6341
7dd4a573 6342 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 6343 and command.h
6344 remove extraneous kernel_elf_HEADERS
6345
da4c0bb6 63462009-04-04 Bean <bean123ch@gnail.com>
6347
6348 * include/grub/util/misc.h: Add dummy function fsync for mingw.
6349
6350 * util/misc.c: Likewise.
6351
54ad9555 63522009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
6353
6354 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
6355 instead of grub_printf.
6356
7a6bf9f2 63572009-04-03 Robert Millan <rmh@aybabtu.com>
6358
6359 * loader/i386/linux.c (grub_linux_setup_video): Fill
6360 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
6361 values from `mode info' structure instead of hardcoded
6362 values.
6363
3fcc2083 63642009-04-01 Pavel Roskin <proski@gnu.org>
6365
6366 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
6367 unused now.
6368 * genmk.rb: Likewise.
6369 * configure.ac: Likewise.
6370
5ec9740b 63712009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
6372
6373 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
6374 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
6375
5270cec8 63762009-04-01 David S. Miller <davem@davemloft.net>
6377
6378 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 6379 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 6380 (grub_setjmp): Mark with 'returns_twice' attribute.
6381 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
6382 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
6383 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
6384
9c3dd854 63852009-04-01 Robert Millan <rmh@aybabtu.com>
6386
6387 Reapply fix from 2008-07-28 which was accidentally reverted; also
6388 perform the same fix to a similar check in same function.
6389
6390 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
6391 with the same number are found, just use issue a warning with
6392 grub_dprintf(), as this error has been reported to be non-fatal.
6393
0d818b7e 63942009-03-31 Pavel Roskin <proski@gnu.org>
6395
6396 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
6397 for cross-compilation.
6398
95646d92 63992009-03-30 Robert Millan <rmh@aybabtu.com>
6400
6401 Fix i386-ieee1275 build.
6402
6403 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
6404 Remove declaration.
6405
6a003ed1 64062009-03-30 Pavel Roskin <proski@gnu.org>
6407
6408 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
6409 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
6410 zero-terminated, rely only on the strlen value. Fix comparison
6411 of strings differing in length.
6412
92f33540 64132009-03-30 Robert Millan <rmh@aybabtu.com>
6414
6415 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
6416 checking for abi version. Improve error messages on BIOS to notify
6417 user about `linux16' command.
6418
a8c48fd5 64192009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6420
f968172e 6421 Leak fixes
a8c48fd5 6422
f968172e 6423 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
6424 in case of collision
6425 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 6426
9c323f09 64272009-03-29 Robert Millan <rmh@aybabtu.com>
6428
6429 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
6430 set `vid_mode' accordingly.
6431 (grub_linux_boot): Process `vid_mode' and set video mode.
6432
ae68f423 64332009-03-29 Robert Millan <rmh@aybabtu.com>
6434
6435 * util/grub.d/10_linux.in (linux_entry): New function.
6436 Factorize generation of Linux boot entries.
6437
5709cfc4 64382009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
6439
6440 Make the format of Environment Block plain text. The boot loader
6441 part is not tested well yet.
7dd4a573 6442
5709cfc4 6443 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
6444 (buffer): Removed.
6445 (envblk): Likewise.
6446 (usage): Remove "info" and "clear". Add "unset". Update the
6447 description of "set", as this does not delete variables any
6448 longer.
6449 (create_envblk_file): Complete rewrite.
6450 (open_envblk_file): Likewise.
6451 (cmd_info): Removed.
6452 (cmd_list): Likewise.
6453 (cmd_set): Likewise.
6454 (cmd_clear): Likewise.
6455 (list_variables): New function.
6456 (write_envblk): Likewise.
6457 (set_variables): Likewise.
6458 (unset_variables): Likewise.
6459 (main): Complete rewrite.
6460
6461 * commands/loadenv.c (buffer): Removed.
6462 (envblk): Likewise.
6463 (open_envblk_file): New function.
6464 (read_envblk_file): Complete rewrite.
6465 (grub_cmd_load_env): Likewise.
6466 (grub_cmd_list_env): Likewise.
6467 (struct blocklist): New struct.
6468 (free_blocklists): New function.
6469 (check_blocklists): Likewise.
6470 (write_blocklists): Likewise.
6471 (grub_cmd_save_env): Complete rewrite.
6472
6473 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
6474 a plain text signature.
6475 (GRUB_ENVBLK_MAXLEN): Removed.
6476 (struct grub_envblk): Complete rewrite.
6477 (grub_envblk_find): Removed.
6478 (grub_envblk_insert): Likewise.
6479 (grub_envblk_open): New prototype.
6480 (grub_envblk_set): Likewise.
6481 (grub_envblk_delete): Put const to VALUE.
6482 (grub_envblk_iterate): Put const to NAME and VALUE.
6483 (grub_envblk_close): New prototype.
6484 (grub_envblk_buffer): New inline function.
6485 (grub_envblk_size): Likewise.
6486
6487 * lib/envblk.c: Include grub/mm.h.
6488 (grub_env_find): Removed.
6489 (grub_envblk_open): New function.
6490 (grub_envblk_close): Likewise.
6491 (escaped_value_len): Likewise.
6492 (find_next_line): Likewise.
6493 (grub_envblk_insert): Removed.
6494 (grub_envblk_set): New function.
6495 (grub_envblk_delete): Complete rewrite.
6496 (grub_envblk_iterate): Likewise.
6497
a9368fd3 64982009-03-28 Robert Millan <rmh@aybabtu.com>
6499
6500 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
6501 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
6502 variables. Use 16-bit loader.
6503 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
6504 loader.
6505 * kern/i386/loader.S (grub_linux_boot): Rename to ...
6506 (grub_linux16_boot): ... this. Update all users.
6507 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
6508 (grub_linux_boot): ... this. Update all users.
6509
6510 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
6511 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
6512 commands to `linux16' and `initrd16'.
6513 (GRUB_MOD_FINI(linux)): Rename to ...
6514 (GRUB_MOD_FINI(linux16)): ... this.
6515
e4dd5a7e 65162009-03-24 Pavel Roskin <proski@gnu.org>
6517
6518 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
6519 not just for compilation.
6520
c04d6e05 65212009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 Move multiboot helper out of kernel
6524
6525 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
6526 `loader/i386/multiboot_helper.S'.
6527 * conf/i386-coreboot.rmk: Likewise
6528 * conf/i386-ieee1275.rmk: Likewise
6529
6530 * kern/i386/loader.S: Move multiboot helpers from here...
6531 * loader/i386/multiboot_helper.S: ...moved here
6532 * include/grub/i386/loader.h: Move declarations of multiboot
6533 helpers from here...
6534 * include/grub/i386/multiboot.h: ...moved here
6535 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
6536
42a5b3fc 65372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6538
6539 * kern/env.c (grub_env_context_open): Added an argument to specify
6540 whether a new context inherits exported variables from current
6541 one. This is useful when making a sandbox to interpret a config
6542 file.
6543 All callers updated.
6544
6545 * include/grub/env.h (grub_env_context_open): Updated the prototype.
6546
b28bbc4e 65472009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6548
6549 * kern/env.c (grub_env_context_close): Fix memory leaks.
6550
f04f02e4 65512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6552
6553 * normal/main.c (grub_normal_execute): Added an argument
6554 BATCH to specify if an interactive interface should be provided
6555 after reading a config file.
6556 All callers updated.
6557 (read_command_list): Prevent being executed twice.
6558 (read_fs_list): Likewise.
6559
42a5b3fc 6560 * include/grub/normal.h (grub_normal_execute): Updated the
6561 prototype.
f04f02e4 6562
41473ac2 65632009-03-22 Pavel Roskin <proski@gno.org>
6564
fbc00b0c 6565 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
6566 _start.
6567 * kern/i386/pc/startup.S: Likewise.
6568 * kern/i386/efi/startup.S: Likewise.
6569 * kern/i386/ieee1275/startup.S: Likewise.
6570 * kern/i386/coreboot/startup.S: Likewise.
6571 * kern/x86_64/efi/startup.S: Likewise.
6572
41473ac2 6573 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
6574 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
6575 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
6576
2274cc8f 65772009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 Bugfixes in multiboot for bugs uncovered by solaris kernel.
6580
6581 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
6582 limit detection.
6583 Use vaddr of correct segment for entry_point.
6584
b1b797cb 65852009-03-21 Bean <bean123ch@gmail.com>
6586
6587 * commands/blocklist.c: Add include file <grub/command.h>, remove
6588 <grub/normal.h> and <grub/arg.h>.
6589 (grub_cmd_blocklist): Use the new command interface.
6590 (GRUB_MOD_INIT): Likewise.
6591 (GRUB_MOD_FINI): Likewise.
6592 * commands/boot.c: Likewise.
6593 * commands/cat.c: Likewise.
6594 * commands/cmp.c: Likewise.
6595 * commands/configfile.c: Likewise.
6596 * commands/crc.c: Likewise.
6597 * commands/echo.c: Likewise.
6598 * commands/halt.c: Likewise.
6599 * commands/handler.c: Likewise.
6600 * commands/hdparm.c: Likewise.
6601 * commands/help.c: Likewise.
6602 * commands/hexdump.c: Likewise.
6603 * commands/loadenv.c: Likewise.
6604 * commands/ls.c: Likewise.
6605 * commands/lsmmap.c: Likewise.
6606 * commands/lspci.c: Likewise.
6607 * commands/loadenv.c: Likewise.
6608 * commands/read.c: Likewise.
6609 * commands/reboot.c: Likewise.
6610 * commands/search.c: Likewise.
6611 * commands/sleep.c: Likewise.
6612 * commands/test.c: Likewise.
6613 * commands/usbtest.c: Likewise.
6614 * commands/videotest.c: Likewise.
6615 * commands/i386/cpuid.c: Likewise.
6616 * commands/i386/pc/halt.c: Likewise.
6617 * commands/i386/pc/play.c: Likewise.
6618 * commands/i386/pc/pxecmd.c: Likewise.
6619 * commands/i386/pc/vbeinfo.c: Likewise.
6620 * commands/i386/pc/vbetest.c: Likewise.
6621 * commands/ieee1275/suspend.c: Likewise.
6622 * disk/loopback.c: Likewise.
6623 * font/font_cmd.c: Likewise.
6624 * hello/hello.c: Likewise.
6625 * loader/efi/appleloader.c: Likewise.
6626 * loader/efi/chainloader.c: Likewise.
6627 * loader/i386/bsd.c: Likewise.
6628 * loader/i386/efi/linux.c: Likewise.
6629 * loader/i386/ieee1275/linux.c: Likewise.
6630 * loader/i386/linux.c: Likewise.
6631 * loader/i386/pc/chainloader.c: Likewise.
6632 * loader/i386/pc/linux.c: Likewise.
6633 * loader/powerpc/ieee1275/linux.c: Likewise.
6634 * loader/multiboot_loader.c: Likewise.
6635 * term/gfxterm.c: Likewise.
6636 * term/i386/pc/serial.c: Likewise.
6637 * term/terminfo.c: Likewise.
6638
6639 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
6640 * term/i386/pc/vga.c: Likewise.
6641 * video/readers/jpeg.c: Likewise.
6642 * video/readers/png.c: Likewise.
6643 * video/readers/tga.c: Likewise.
6644
6645 * util/grub-fstest (cmd_loopback): Removed.
6646 (cmd_blocklist): Likewise.
6647 (cmd_ls): Likewise.
6648 (grub_register_command): Likewise.
6649 (grub_unregister_command): Likewise.
6650 (execute_command): Use grub_command_find to locate command and execute
6651 it.
6652
6653 * include/grub/efi/chainloader.h: Removed.
6654 * loader/efi/chainloader_normal.c: Likewise.
6655 * loader/i386/bsd_normal.c: Likewise.
6656 * loader/i386/pc/chainloader_normal.c: Likewise.
6657 * loader/i386/pc/multiboot_normal.c: Likewise.
6658 * loader/linux_normal.c: Likewise.
6659 * loader/multiboot_loader_normal.c: Likewise.
6660 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
6661
6662 * gencmdlist.sh: Scan new registration command grub_register_extcmd
6663 and grub_register_command_p1.
6664
6665 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
6666 kern/command.c, lib/arg.c and commands/extcmd.c.
6667 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
6668 (minicmd_mod_SOURCES): New variable.
6669 (minicmd_mod_CFLAGS): Likewise.
6670 (minicmd_mod_LDFLAGS): Likewise.
6671 (extcmd_mod_SOURCES): Likewise.
6672 (extcmd_mod_CFLAGS): Likewise.
6673 (extcmd_mod_LDFLAGS): Likewise.
6674 (boot_mod_SOURCES): Removed.
6675 (boot_mod_CFLAGS): Likewise.
6676 (boot_mod_LDFLAGS): Likewise.
6677
6678 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
6679 kern/corecmd.c.
6680 (kernel_img_HEADERS): Add command.h.
6681 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
6682 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
6683 and lib/arg.c.
6684 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
6685 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
6686 remove the corresponding normal mode command.
6687 (normal_mod_SOURCES): Remove normal/arg.c.
6688 * conf/i386-coreboot.rmk: Likewise.
6689 * conf/i386-efi.rmk: Likewise.
6690 * conf/i386-ieee1275.rmk: Likewise.
6691 * conf/powerpc-ieee1275.rmk: Likewise.
6692 * conf/x86_64-efi.rmk: Likewise.
6693
6694 * include/grub/arg.h: Move from here ...
6695 * include/grub/lib/arg.h: ... to here.
6696
6697 * normal/arg.c: Move from here ...
6698 * lib/arg.c: ... to here.
6699
6700 * commands/extcmd.c: New file.
6701 * commands/minicmd.c: Likewise.
6702 * include/grub/command.h: Likewise.
6703 * include/grub/extcmd.h: Likewise.
6704 * kern/command.c: Likewise.
6705 * kern/corecmd.c: Likewise.
6706
6707 * kern/list.c (grub_list_iterate): Return int instead of void.
6708 (grub_list_insert): New function.
6709 (grub_prio_list_insert): Likewise.
6710
6711 * kern/rescue.c (grub_rescue_command): Removed.
6712 (grub_rescue_command_list): Likewise.
6713 (grub_rescue_register_command): Likewise.
6714 (grub_rescue_unregister_command): Likewise.
6715 (grub_rescue_cmd_boot): Move to minicmd.c
6716 (grub_rescue_cmd_help): Likewise.
6717 (grub_rescue_cmd_info): Likewise.
6718 (grub_rescue_cmd_boot): Likewise.
6719 (grub_rescue_cmd_testload): Likewise.
6720 (grub_rescue_cmd_dump): Likewise.
6721 (grub_rescue_cmd_rmmod): Likewise.
6722 (grub_rescue_cmd_lsmod): Likewise.
6723 (grub_rescue_cmd_exit): Likewise.
6724 (grub_rescue_print_devices): Moved to corecmd.c.
6725 (grub_rescue_print_files): Likewise.
6726 (grub_rescue_cmd_ls): Likewise.
6727 (grub_rescue_cmd_insmod): Likewise.
6728 (grub_rescue_cmd_set): Likewise.
6729 (grub_rescue_cmd_unset): Likewise.
7d074e3c 6730 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 6731 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 6732 commands, remove grub_rescue_register_command calls.
b1b797cb 6733
7d074e3c 6734 * normal/command.c (grub_register_command): Removed.
b1b797cb 6735 (grub_unregister_command): Likewise.
6736 (grub_command_find): Likewise.
6737 (grub_iterate_commands): Likewise.
6738 (rescue_command): Likewise.
6739 (export_command): Moved to corecmd.c.
6740 (set_command): Removed.
6741 (unset_command): Likewise.
6742 (insmod_command): Likewise.
6743 (rmmod_command): Likewise.
6744 (lsmod_command): Likewise.
6745 (grub_command_init): Likewise.
6746
6747 * normal/completion.c (iterate_command): Use cmd->prio to check for
6748 active command.
6749 (complete_arguments): Use grub_extcmd_t structure to find options.
6750 (grub_normal_do_completion): Change function grub_iterate_commands to
6751 grub_command_iterate.
6752
6753 * normal/execute.c (grub_script_execute_cmd): No need to parse
6754 argument here.
6755
6756 * normal/main.c (grub_dyncmd_dispatcher): New function.
6757 (read_command_list): Register unload commands as dyncmd.
6758 (grub_cmd_normal): Use new command interface, register rescue,
6759 unregister normal at entry, register normal, unregister rescue at exit.
6760
6761 * include/grub/list.h (grub_list_test_t): New type.
6762 (grub_list_iterate): Return int instead of void.
6763 (grub_list_insert): New function.
6764 (GRUB_AS_NAMED_LIST_P): New macro.
6765 (GRUB_AS_PRIO_LIST): Likewise.
6766 (GRUB_AS_PRIO_LIST_P): Likewise.
6767 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
6768 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
6769 (grub_prio_list): New structure.
6770 (grub_prio_list_insert): New function.
6771 (grub_prio_list_remove): New inline function.
6772
6773 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
6774 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
6775 (GRUB_COMMAND_FLAG_MENU): Likewise.
6776 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6777 (GRUB_COMMAND_FLAG_TITLE): Likewise.
6778 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6779 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
6780 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
6781 (grub_command): Likewise.
6782 (grub_register_command): Likewise.
6783 (grub_command_find): Likewise.
6784 (grub_iterate_commands): Likewise.
6785 (grub_command_init): Likewise.
6786 (grub_arg_parse): Likewise.
6787 (grub_arg_show_help): Likewise.
6788
6789 * include/grub/rescue.h (grub_rescue_register_command): Removed.
6790 (grub_rescue_unregister_command): Likewise.
6791
6792 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
6793 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
6794 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
6795
6796 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
6797 grub_rescue_cmd_initrd.
6798 * include/grub/i386/loader.h: Likewise.
6799 * include/grub/x86_64/loader.h: Likewise.
6800
6801 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
6802
1f4147aa 68032009-03-21 Bean <bean123ch@gmail.com>
6804
6805 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
6806 instead of stat in mingw environment.
6807
6808 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
6809
6810 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
6811
6812 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
6813 AC_CONFIG_LINKS.
6814
2156d5ba 68152009-03-21 Bean <bean123ch@gmail.com>
6816
6817 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
6818 out of range error.
6819
177b82ca 68202009-03-18 Michel Dänzer <michel@daenzer.net>
6821
6822 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
6823 checking inode flags for EXT4_EXTENTS_FLAG.
6824
14aad807 68252009-03-18 Robert Millan <rmh@aybabtu.com>
6826
6827 * loader/i386/linux.c: Include `<grub/video.h>' and
6828 `<grub/i386/pc/vbe.h>'..
6829 (grub_linux_setup_video): New function. Loosely based on the EFI one.
6830 (grub_linux32_boot): Attempt to configure video settings with
6831 grub_linux_setup_video().
6832 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
6833 to avoid grub_console_fini() which would step out of graphical mode
6834 unconditionally.
6835
8cf83a27 68362009-03-14 Robert Millan <rmh@aybabtu.com>
6837
6838 Fix build on powerpc.
6839 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
6840
40164e75 68412009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
6844 background image command.
6845
c58bc32a 68462009-03-12 Colin D Bennett <colin@gibibit.com>
6847
6848 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
6849 (grub_gfxterm_putchar): Extract pairs of identical calls to
6850 draw_cursor out of conditional blocks.
6851
5415144a 68522009-03-11 Pavel Roskin <proski@gnu.org>
6853
6854 * fs/hfs.c (grub_hfs_strncasecmp): New function.
6855 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
6856
6394042e 68572009-03-11 Robert Millan <rmh@aybabtu.com>
6858
6859 * loader/i386/multiboot_elfxx.c
6860 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
6861
b7b50e5f 68622009-03-11 Felix Zielcke <fzielcke@z-51.de>
6863
6864 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
6865 `kern/handler.c'.
6866
1ca7fc96 68672009-03-11 Robert Millan <rmh@aybabtu.com>
6868
6869 * loader/i386/multiboot.c (code_size): New variable.
6870 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 6871 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 6872 4-byte alignment to MBI and others by increasing
7d074e3c 6873 `boot_loader_name_length' appropriately.
1ca7fc96 6874
6875 * loader/i386/multiboot_elfxx.c
6876 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
6877
a83ea1d2 68782009-03-09 Felix Zielcke <fzielcke@z-51.de>
6879
6880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
6881 `fs/ext2.c'.
6882
aa9f3bff 68832009-03-08 Robert Millan <rmh@aybabtu.com>
6884
6885 Make loader/i386/linux.c usable on i386-pc again.
6886
6887 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
6888 memory to heap.
6889 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
6890 `#error' stanza.
6891
d8b3b60e 68922009-03-07 Bean <bean123ch@gmail.com>
6893
6894 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
6895 allocation.
6896
b362c9e9 68972009-03-06 Robert Millan <rmh@aybabtu.com>
6898
6899 Fix display issue on terminals with screen size other than 80x25
6900 (e.g. gfxterm with resolution higher than 640x480).
6901
6902 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 6903 position relative to the center of the terminal instead of relying
b362c9e9 6904 on a hardcoded offset.
6905
9304eef1 69062009-03-04 Robert Millan <rmh@aybabtu.com>
6907
6908 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
6909 installed.
6910
6911 * Makefile.in (host_kernel): New variable.
6912 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
6913 scripts instead of just the windows one.
6914 * configure.ac: Initialize and AC_SUBST `host_kernel'.
6915
eabc95fb 69162009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 6917
6918 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
6919 `kern/handler.c'.
6920 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6921 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6922 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6924 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6926
ceb1223c 69272009-03-04 Felix Zielcke <fzielcke@z-51.de>
6928
6929 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
6930 or if there's no space for the disk label and print the partition number on a
6931 invalid magic.
6932
4910684a 69332009-03-04 Felix Zielcke <fzielcke@z-51.de>
6934
6935 * util/misc.c: Include <time.h>.
6936 (grub_millisleep): New function.
6937
7e9ca17a 69382009-03-04 Bean <bean123ch@gmail.com>
6939
6940 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
6941 another option -mno-red-zone.
6942
6943 * commands/handler.c: Change module description.
6944
6945 * kern/handler.c: Add missing space at the end of description line.
6946
6947 * kern/list.c: Likewise.
6948
f501677c 69492009-03-03 Robert Millan <rmh@aybabtu.com>
6950
6951 Move more components to the relocation area, and fix mbi pointer
6952 handling to use the destination rather than the origin (thanks to
6953 Vladimir Serbinenko for spotting).
6954
6955 * loader/i386/multiboot.c (mbi_dest): New variable.
6956 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
6957 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
6958 relocation area.
6959
9902d047 69602009-03-01 Bean <bean123ch@gmail.com>
6961
50fb7002 6962 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 6963 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
6964 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
6965 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
6966
6967 * loader/i386/efi/linux.c (acpi_guid): New variable.
6968 (acpi_guid): Likewise.
6969 (EBDA_SEG_ADDR): New constant.
6970 (LOW_MEM_ADDR): Likewise.
6971 (FAKE_EBDA_SEG): Likewise.
6972 (fake_bios_data): New function.
6973 (grub_linux_boot): Call fake_bios_data.
6974
71b9f361 69752009-03-01 Bean <bean123ch@gmail.com>
6976
6977 * commands/terminal.c: Removed.
6978
6979 * commands/handler.c: New file.
6980
6981 * include/grub/list.h: Likewise.
6982
6983 * include/grub/handler.h: Likewise.
6984
6985 * kern/list.c: Likewise.
6986
6987 * kern/handler.c: Likewise.
6988
6989 * kern/term.h: Include header file <grub/handler.h>.
6990 (grub_term_input): Move next field to the beginning.
6991 (grub_term_output): Likewise.
6992 (grub_term_input_class): New variable.
6993 (grub_term_output_class): Likewise.
6994 (grub_term_register_input): Changed to inline function.
6995 (grub_term_register_output): Likewise.
6996 (grub_term_unregister_input): Likewise.
6997 (grub_term_unregister_output): Likewise.
6998 (grub_term_set_current_input): Likewise.
6999 (grub_term_set_current_output): Likewise.
7000 (grub_term_get_current_input): Likewise.
7001 (grub_term_get_current_output): Likewise.
7002 (grub_term_iterate_input): Removed.
7003 (grub_term_iterate_output): Likewise.
7004
7005 * kern/term.c (grub_term_list_input): Removed.
7006 (grub_term_list_output): Likewise.
7007 (grub_term_input_class): New variable.
7008 (grub_term_output_class): Likewise.
50fb7002 7009 (grub_cur_term_input): Change variable as macro.
71b9f361 7010 (grub_cur_term_output): Likewise.
7011 (grub_term_register_input): Removed.
7012 (grub_term_register_output): Likewise.
7013 (grub_term_unregister_input): Likewise.
7014 (grub_term_unregister_output): Likewise.
7015 (grub_term_set_current_input): Likewise.
7016 (grub_term_set_current_output): Likewise.
7017 (grub_term_iterate_input): Likewise.
7018 (grub_term_iterate_output): Likewise.
7019 (grub_term_get_current_input): Likewise.
7020 (grub_term_get_current_output): Likewise.
7021
7022 * util/grub-editenv.c: Include header file <grub/handler.h>.
7023 (grub_term_get_current_input): Removed.
7024 (grub_term_get_current_output): Likewise.
7025 (grub_term_input_class): New variable.
50fb7002 7026 (grub_term_output_class): Likewise.
71b9f361 7027
7028 * util/grub-fstest.c (grub_term_get_current_input): Removed.
7029 (grub_term_get_current_output): Likewise.
7030 (grub_term_input_class): New variable.
50fb7002 7031 (grub_term_output_class): Likewise.
71b9f361 7032
7033 * util/grub-probe.c (grub_term_get_current_input): Removed.
7034 (grub_term_get_current_output): Likewise.
7035 (grub_term_input_class): New variable.
50fb7002 7036 (grub_term_output_class): Likewise.
71b9f361 7037
7038 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
7039 (grub_term_get_current_output): Likewise.
7040 (grub_term_input_class): New variable.
50fb7002 7041 (grub_term_output_class): Likewise.
71b9f361 7042
7043 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
7044 (terminal_mod_SOURCES): Likewise.
7045 (terminal_mod_CFLAGS): Likewise.
7046 (terminal_mod_LDFLAGS): Likewise.
7047
7048 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
7049 handler.c.
7050 (kernel_img_SOURCES): Add list.c and handler.c.
7051 (kernel_img_HEADERS): Add list.h and handler.h.
7052
7053 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
7054 handler.c.
7055 (kernel_mod_SOURCES): Add list.c and handler.c.
7056 (kernel_mod_HEADERS): Add list.h and handler.h.
7057
7058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
7059 handler.c.
7060 (kernel_elf_SOURCES): Add list.c and handler.c.
7061 (kernel_elf_HEADERS): Add list.h and handler.h.
7062
7063 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
7064 handler.c.
7065 (kernel_elf_SOURCES): Add list.c and handler.c.
7066 (kernel_elf_HEADERS): Add list.h and handler.h.
7067
7068 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
7069 handler.c.
7070 (kernel_mod_SOURCES): Add list.c and handler.c.
7071 (kernel_mod_HEADERS): Add list.h and handler.h.
7072
7073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
7074 handler.c.
7075 (kernel_elf_SOURCES): Add list.c and handler.c.
7076 (kernel_elf_HEADERS): Add list.h and handler.h.
7077
8a31787f 70782009-02-27 Robert Millan <rmh@aybabtu.com>
7079
7080 Factorize elf32 / elf64 code in Multiboot loader. This will
7081 prevent it from getting out of sync again.
7082
7083 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
7084 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
7085 grub_multiboot_load_elf64): Move from here ...
7086 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
7087 grub_multiboot_load_elf): ... to here (new file).
7088
51cd3dfc 70892009-02-27 Robert Millan <rmh@aybabtu.com>
7090
7091 * util/grub.d/10_linux.in: Rename "single-user mode" to
7092 "recovery mode".
7093
6e8c9c3a 70942009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 Don't leak in SCSI code.
7097 * disk/scsi.c (grub_scsi_close): free `scsi'.
7098
4b6bf4f9 70992009-02-27 Robert Millan <rmh@aybabtu.com>
7100
7101 * loader/i386/pc/multiboot.c: Move from here ...
7102 * loader/i386/multiboot.c: ... to here. Update all users.
7103
b9413424 71042009-02-27 Robert Millan <rmh@aybabtu.com>
7105
7106 Patch from Alexandre Bique <bique.alexandre@gmail.com>
7107 * util/i386/pc/grub-setup.c (setup): Fix directory path.
7108
50fb7002 71092009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 7110
7111 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
7112 b-tree.
7113
8cc50345 71142009-02-27 Robert Millan <rmh@aybabtu.com>
7115
7116 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
7117 `0x' qualifier as 0 when base is specified as parameter).
7118
6e09b8b7 71192009-02-24 Bean <bean123ch@gmail.com>
7120
7121 * configure.ac: Check for -mcmodel=large in x86_64 target.
7122
7123 * include/grub/efi/api.h (efi_call_10): New macro.
7124 (efi_wrap_10): New function.
7125
7126 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
7127 (GRUB_PE32_REL_BASED_HIGH): Likewise.
7128 (GRUB_PE32_REL_BASED_LOW): Likewise.
7129 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
7130 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
7131 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
7132 (GRUB_PE32_REL_BASED_SECTION): Likewise.
7133 (GRUB_PE32_REL_BASED_REL): Likewise.
7134 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
7135 (GRUB_PE32_REL_BASED_DIR64): Likewise.
7136 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
7137
7138 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
7139 issue.
7140
7141 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
7142 (efi_wrap_10): New function.
7143
7144 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
7145
7146 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
7147 MB/MBP model (NV chipset).
7148 (devdata_devs): Add devpath_5 to the list.
7149
7150 * load/i386/efi/linux.c (video_base): Remove variable.
7151 (RGB_MASK): New macro.
7152 (RGB_MAGIC): Likewise.
7153 (LINE_MIN): Likewise.
7154 (LINE_MAX): Likewise.
7155 (FBTEST_STEP): Likewise.
7156 (FBTEST_COUNT): Likewise.
7157 (fb_list): New variable.
7158 (grub_find_video_card): Remove function.
7159 (find_framebuf): New function.
7160 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
7161 line length.
7162
7163 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
7164 problem for x86_64.
7165
74b21bee 71662009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
7167
7168 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
7169
7170 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
7171 coding tool name.
7172
a455f472 71732009-02-22 Robert Millan <rmh@aybabtu.com>
7174
7175 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
7176 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
7177 in our relocation, instead of using it directly from heap. Also
7178 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
7179
6374daf3 71802009-02-21 Robert Millan <rmh@aybabtu.com>
7181
7182 Implement USB keyboard support (based on patch by Marco Gerards)
7183
7184 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
7185 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
7186 (usb_keyboard_mod_LDFLAGS): New variables.
7187
7188 * term/usb_keyboard.c: New file.
7189
8fa4ea70 71902009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 Corrected wrong declaration
7193
7194 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
7195
353976ac 71962009-02-14 Christian Franke <franke@computer.org>
7197
7198 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
7199 (grub_lspci_iter): Print class code and programming interface byte.
7200
6aa1169b 72012009-02-14 Christian Franke <franke@computer.org>
7202
7203 * gendistlist.sh: Ignore `.svn' directories.
7204
265372ca 72052009-02-14 Felix Zielcke <fzielcke@z-51.de>
7206
7207 * fs/fat.c: Add 2009 to Copyright line.
7208
9ff516f3 72092009-02-14 Christian Franke <franke@computer.org>
7210
7211 * commands/hdparm.c: New file. Provides `hdparm' command
7212 which sends ATA commands via grub_disk_ata_pass_through ().
7213
7214 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
7215
7216 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
7217 and <grub/cpu/io.h> to include/grub/ata.h.
7218 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
7219 (GRUB_CDROM_SECTOR_SIZE): Remove.
7220 (GRUB_ATA_*): Move to include/grub/ata.h.
7221 (GRUB_ATAPI_*): Likewise.
7222 (enum grub_ata_commands): Likewise.
7223 (enum grub_ata_timeout_milliseconds): Likewise.
7224 (struct grub_ata_device): Likewise.
7225 (grub_ata_regset): Likewise.
7226 (grub_ata_regget): Likewise.
7227 (grub_ata_regset2): Likewise.
7228 (grub_ata_regget2): Likewise.
7229 (grub_ata_check_ready): Likewise.
7230 (grub_ata_wait_not_busy): Remove static, exported in
7231 include/grub/ata.h.
7232 (grub_ata_wait_drq): Likewise.
7233 (grub_ata_pio_read): Likewise.
7234
7235 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
7236 function for hdparm.mod.
7237
7238 * include/grub/ata.h: New file, contains declarations from
7239 disk/ata.c.
7240 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
7241
7242 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
7243 (grub_disk_ata_pass_through): New exported variable.
7244
7245 * kern/disk.c (grub_disk_ata_pass_through): New variable.
7246
772e23da 72472009-02-13 Colin D Bennett <colin@gibibit.com>
7248
7249 Support multiple fallback entries, and provide an API to support
7250 executing default+fallback menu entries. Renamed the `terminal' menu
7251 viewer to `text'.
7252
7253 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
7254 variable declaration.
7255 (grub_menu_execute_callback): New structure declaration.
7256 (grub_menu_execute_callback_t): New typedef.
7257 (grub_menu_execute_with_fallback): New function declaration.
7258 (grub_menu_get_entry): Likewise.
7259 (grub_menu_get_timeout): Likewise.
7260 (grub_menu_set_timeout): Likewise.
7261
7262 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
7263
7264 * normal/menu.c (grub_wait_after_message): Moved to
7265 `normal/menu_text.c'.
7266 (draw_border): Likewise.
7267 (print_message): Likewise.
7268 (print_entry): Likewise.
7269 (print_entries): Likewise.
7270 (grub_menu_init_page): Likewise.
7271 (get_entry_number): Likewise.
7272 (print_timeout): Likewise.
7273 (run_menu): Likewise.
7274 (grub_menu_execute_entry): Likewise.
7275 (show_text_menu): Likewise.
7276 (get_and_remove_first_entry_number): New function.
7277 (grub_menu_execute_with_fallback): Likewise.
7278 (get_entry): Renamed to ...
7279 (grub_menu_get_entry): .. this and made it global.
7280 (get_timeout): Renamed to ...
7281 (grub_menu_get_timeout): ... this and made it global.
7282 (set_timeout): Renamed to ...
7283 (grub_menu_set_timeout): ... this and made it global.
7284 (grub_normal_terminal_menu_viewer): Renamed to ...
7285 (grub_normal_text_menu_viewer): ... this.
7286
7287 * normal/menu_text.c: New file. Extracted text-menu-specific code
7288 from normal/menu.c.
7289
7290 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
7291 (normal_mod_SOURCES): Likewise.
7292
7293 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7294 (normal_mod_SOURCES): Likewise.
7295
7296 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7297 (normal_mod_SOURCES): Likewise.
7298
7299 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
7300 (normal_mod_SOURCES): Likewise.
7301
7302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7303 (normal_mod_SOURCES): Likewise.
7304
7305 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7306 (normal_mod_SOURCES): Likewise.
7307
7308 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7309 (normal_mod_SOURCES): Likewise.
7310
16ac430e 73112009-02-11 Robert Millan <rmh@aybabtu.com>
7312
7313 * util/grub.d/00_header.in: Update old reference to `font' command.
7314
06ff20fc 73152009-02-10 Felix Zielcke <fzielcke@z-51.de>
7316
7317 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
7318
7319 Based on patch from Javier Martín.
7320
96da9407 73212009-02-09 Felix Zielcke <fzielcke@z-51.de>
7322
7323 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 7324 to avoid false positives with FAT.
96da9407 7325 (grub_fstest_SOURCES): Likewise.
7326 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7327 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7329 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7332
6dca6fe4 73332009-02-09 Felix Zielcke <fzielcke@z-51.de>
7334
06ff20fc 7335 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 7336 bpb.version_specific.fat12_or_fat16.fstype and
7337 bpb.version_specific.fat32.fstype.
7338
2550c62f 73392009-02-08 Robert Millan <rmh@aybabtu.com>
7340
be110b30 7341 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 7342
56978920 73432009-02-08 Robert Millan <rmh@aybabtu.com>
7344
7345 * Makefile.in (host_os, host_cpu): New variables.
7346 (target_os): Remove. Update all users.
7347
d64399b5 73482009-02-08 Marco Gerards <marco@gnu.org>
7349
7350 * Makefile.in (enable_grub_emu_usb): New variable.
7351 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
7352 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
7353 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
7354 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
7355 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
7356 `usbtest.mod' and `usbms.mod'.
7357 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
7358 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
7359 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
7360 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
7361 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
7362 variables.
7363
7364 * disk/usbms.c: New file.
7365
7366 * include/grub/usb.h: Likewise.
7367
7368 * include/grub/usbtrans.h: Likewise.
7369
7370 * include/grub/usbdesc.h: Likewise.
7371
7372 * bus/usb/usbtrans.c: Likewise.
7373
7374 * bus/usb/ohci.c: Likewise.
7375
7376 * bus/usb/uhci.c: Likewise.
7377
7378 * bus/usb/usbhub.c: Likewise.
7379
7380 * bus/usb/usb.c: Likewise.
7381
7382 * commands/usbtest.c: Likewise.
7383
7384 * util/usb.c: Likewise.
50fb7002 7385
d64399b5 7386 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
7387
7388 * configure.ac: Test for libusb presence.
50fb7002 7389
d64399b5 7390 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
7391
2b40d6bb 73922009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
7393
7394 * kern/mm.c: Add more comments.
7395
73a4ce81 73962009-02-08 Robert Millan <rmh@aybabtu.com>
7397
7398 Patch from Javier Martín.
7399 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
7400 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
7401
f821ce59 74022009-02-08 Robert Millan <rmh@aybabtu.com>
7403
7404 * fs/cpio.c: Split tar functionality to ...
7405 * fs/tar.c: ... here (new file). Update all users.
7406
aebfc4b0 74072009-02-07 Robert Millan <rmh@aybabtu.com>
7408
7409 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
7410 backward-incompatible features.
7411
7412 Based on patch from Javier Martín, with some adjustments.
7413
50fb7002 74142009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 7415
7416 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
7417
0bb5115e 74182009-02-07 Robert Millan <rmh@aybabtu.com>
7419
7420 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
7421 position of `disk/lvm.c' to ensure grub_init_all() always picks it
7422 after the RAID stuff.
7423
38a0f8e7 74242009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
7425
50fb7002 7426 Fixes problem when running vbetest command as reported by
38a0f8e7 7427 Vladimir Serbinenko <phcoder@gmail.com>.
7428
7429 * (grub_vbe_set_video_mode): Fixed problem with text modes.
7430
3143cc1c 74312009-02-04 Felix Zielcke <fzielcke@z-51.de>
7432
7433 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
7434 /dev/md/NpN style mdraid devices.
7435
9cba6fce 74362009-02-03 Felix Zielcke <fzielcke@z-51.de>
7437
7438 * util/unifont2pff.rb: Remove.
7439
e507a2c1 74402009-02-03 Felix Zielcke <fzielcke@z-51.de>
7441
7442 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
7443 `#'.
7444
d2c2b4cd 74452009-02-03 Felix Zielcke <fzielcke@z-51.de>
7446
7447 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
7448 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7449 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7450 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7454
b4315fb0 74552009-02-02 Christian Franke <franke@computer.org>
7456
7457 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
7458
de3aa260 74592009-02-01 Felix Zielcke <fzielcke@z-51.de>
7460
7c3ff286 7461 * INSTALL: Note that we now require at least autoconf 2.59 and
7462 that LZO is optional.
de3aa260 7463
825a182b 74642009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7465
7466 Base on patch on bug #24154 created by Tomas Tintera
7467 <trosos@seznam.cz>.
7468
7469 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
7470
a69ef770 74712009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7472
7c3ff286 7473 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 7474 <bero@arklinux.org>.
7475
7476 * normal/parser.y (script_init): Add missing semicolon.
7477
6fa42fa6 74782009-01-31 Colin D Bennett <colin@gibibit.com>
7479
7c3ff286 7480 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 7481 (free_menu_entry_classes): Added.
7482 (grub_normal_menu_addentry): Added class property handling.
7483 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
7484 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
7485
7486 * normal/menu_viewer.c: New file.
7487
7488 * normal/menu.c (run_menu_entry): Renamed to ...
7489 (grub_menu_execute_entry): ... this and made it as global.
7490 (grub_menu_run): Renamed to ...
7491 (show_text_menu): ... this and made it local.
7492 (show_text_menu): Adapt to new function names.
7493 (grub_normal_terminal_menu_viewer): New global variable.
7494
7495 * include/grub/menu.h: New file.
7496
7497 * include/grub/menu_viewer.h: New file.
7498
7499 * include/grub/normal.h: Added include to grub/menu.h.
7500 (grub_menu_entry): Moved to include/grub/menu.h.
7501 (grub_menu_entry_t): Likewise.
7502 (grub_menu): Likewise.
7503 (grub_menu_t): Likewise.
7504 (grub_normal_terminal_menu_viewer): Added.
7505 (grub_menu_execute_entry): Likewise.
7506 (grub_menu_run): Removed.
7507
7508 * DISTLIST: Added include/grub/menu.h.
7509 Added include/grub/menu_viewer.h.
7510 Added normal/menu_viewer.c.
7511
75122009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
7513
7514 * normal/execute.c (grub_script_execute_menuentry): Changed to use
7515 arglist for menutitle arguments.
7516
7517 * normal/main.c (grub_normal_menu_addentry): Likewise.
7518
7519 * normal/parser.y (menuentry): Likewise.
7520
7521 * normal/script.c (grub_script_create_cmdmenu): Likewise.
7522
7523 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
7524 (grub_script_create_cmdmenu): Likewise.
7525
7526 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
7527
7528 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
7529 changes.
7530
7531 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
7532
7533 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
7534
7535 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
7536
7537 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7538
7539 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7540
7541 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7542
56192c23 75432009-01-30 Christian Franke <franke@computer.org>
7544
7545 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
7546 in option help text.
7547
d72521b3 75482009-01-27 Pavel Roskin <proski@gnu.org>
7549
7550 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
7551
994b5e84 75522009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7553
7554 * commands/lsmmap.c: Add include to grub/machine/memory.h.
7555
7556 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
7557
7558 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
7559 unregister function.
7560
6a7eab2c 75612009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7562
7563 * disk/scsi.c (grub_scsi_read): Fix sign problem.
7564
7565 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
7566
7567 * util/grub-mkfont.c (usage): Fix typo.
7568
7569 * util/elf/grub-mkimage.c (load_modules): Fix warning.
7570
1806b56e 75712009-01-26 Daniel Mierswa <impulze@impulze.org>
7572
3fb18f09 7573 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
7574
336e1fb9 7575 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
7576
1806b56e 7577 * kern/misc.c (grub_strcasecmp): New function.
7578 (grub_strcasecmp): Use grub_size_t instead of int for length.
7579 Fix return value.
7580 * include/grub/misc.h: Update function prototypes.
7581
580b2a0f 75822009-01-26 Robert Millan <rmh@aybabtu.com>
7583
7584 * configure.ac: Fix cross-compilation check.
ef257b36 7585
d31c24f1 75862009-01-22 Christian Franke <franke@computer.org>
7587
7588 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
7589 (precision) digit string. Allow `.format2' without `format1' (width).
7590 Limit input chars for `%s' output to `format2' if specified. This is
7591 compatible with standard printf ().
7592
3138b44c 75932009-01-22 Christian Franke <franke@computer.org>
7594
7595 * disk/ata.c (grub_ata_wait_status): Replace by ...
7596 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
7597 other status bits may be invalid while BSY is asserted.
7598 (grub_ata_check_ready): New function.
7599 (grub_ata_cmd): Removed.
7600 (grub_ata_wait_drq): New function.
7601 (grub_ata_strncpy): Remove inline.
7602 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
7603 and error check now done by grub_ata_wait_drq ().
7604 (grub_ata_pio_write): Likewise.
7605 (grub_atapi_identify): Set DEV before check for !BSY. Use
7606 grub_ata_wait_drq () to wait for data.
7607 (grub_ata_device_initialize): Add status register check to
7608 detect missing SATA slave devices. Add debug messages.
7609 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
7610 (grub_atapi_packet): Set DEV before check for !BSY. Replace
7611 transfer loop by grub_ata_pio_write ().
7612 (grub_ata_identify): Set DEV before check for !BSY. Use
7613 grub_ata_wait_drq () to wait for data.
ef257b36 7614 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 7615 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
7616 read/write in one loop. Fix invalid command on write. Fix incomplete
7617 command on (size % batch) == 0. Add missing error check after write of
7618 last block. Add debug messages.
7619 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
7620
59a64ef6 76212009-01-19 Christian Franke <franke@computer.org>
7622
7623 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
7624 (GRUB_ATAPI_IREASON_*): Likewise.
7625 (grub_ata_pio_write): Fix timeout error return.
7626 (grub_atapi_identify): Add grub_ata_wait () after cmd.
7627 (grub_atapi_wait_drq): New function.
7628 (grub_atapi_packet): New parameter `size'.
7629 Use grub_atapi_wait_drq () and direct write instead of
7630 grub_ata_pio_write ().
7631 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
7632 reads the number of bytes requested by the device for each DRQ
7633 assertion.
7634 (grub_atapi_write): Remove old implementation, return not
7635 implemented instead.
7636
1cfe20b3 76372009-01-19 Christian Franke <franke@computer.org>
7638
7639 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
7640 of 512 to calculate data size.
7641 (grub_scsi_read12): Likewise.
7642 (grub_scsi_write10): Likewise.
7643 (grub_scsi_write12): Likewise.
7644 (grub_scsi_read): Adjust size according to blocksize.
7645 Add checks for invalid blocksize and unaligned transfer.
7646
bee5fe5d 76472009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
7648
7649 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
7650
ef257b36 7651 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 7652 width glyphs.
7653
3e643f8c 76542009-01-19 Robert Millan <rmh@aybabtu.com>
7655
7656 * config.guess: Update to latest version from config git.
7657 * config.sub: Likewise.
7658
4fa80998 76592009-01-17 Felix Zielcke <fzielcke@z-51.de>
7660
7661 * Makefile.in: Change font compilation to use new grub-mkfont instead
7662 of java version.
7663
7664 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
7665 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
7666 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7667 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7668 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
7669 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
7670 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
7671 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
7672 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7673
7086085b 76742009-01-16 Christian Franke <franke@computer.org>
7675
7676 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
7677 (enum grub_ata_timeout_milliseconds): New enum.
7678 (grub_ata_wait_status): Add parameter milliseconds.
7679 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
7680 recovery from timed-out commands.
7681 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
7682 return grub_errno instead of REG_ERROR.
7683 (grub_ata_pio_write): Add parameter milliseconds.
7684 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
7685 Pass milliseconds to grub_ata_wait_status () and
7686 grub_ata_pio_read ().
7687 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
7688 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
7689 grub_ata_wait_status (). Fix IDENTIFY timeout check.
7690 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
7691 It is not suitable for device detection, because DEV bit is ignored,
7692 the command may run too long, and not all devices set the signature
7693 properly.
7694 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
7695 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
7696 Fix device selection, DEV bit must be set first to address the registers
7697 of the correct device.
7698 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
7699 grub_ata_pio_read/write ().
7700 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
7701 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
7702
4a412913 77032009-01-13 Carles Pina i Estany <carles@pina.cat>
7704
7705 * util/grub-editenv.c (main): Use fseeko(), not fseek().
7706
7795c55e 77072009-01-13 Bean <bean123ch@gmail.com>
d913988c 7708
7709 * util/grub-mkfont.c (write_font): forget to remove some debug code.
7710
7795c55e 77112009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 7712
7713 * Makefile.in: (enable_grub_mkfont): New variable.
7714 (freetype_cflags): Likewise.
7715 (freetype_libs): Likewise.
7716
7717 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
7718 (grub_mkfont_SOURCES): New variable.
7719 (grub_mkfont_CFLAGS): Likewise.
7720 (grub_mkfont_LDFLAGS): Likewise.
7721
7722 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
7723 library if `--enable-grub-mkfont' is requested.
7724 (enable_grub_mkfont): New variable.
7725 (freetype_cflags): Likewise.
7726 (freetype_libs): Likewise.
7727
7728 * util/grub-mkfont.c: New file.
7729
093af1fe 77302009-01-12 Christian Franke <franke@computer.org>
7731
7732 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
7733 mode check. Fix setting of compat_use[].
7734
f36cc108 77352009-01-10 Robert Millan <rmh@aybabtu.com>
7736
7737 Update a few copyright years which we forgot to do in 2008 (only for
7738 files whose changes made in 2008 were copyright-significant)
7739
7740 * Makefile.in: Add 2008 to Copyright line.
7741 * disk/ieee1275/ofdisk.c: Likewise.
7742 * disk/efi/efidisk.c: Likewise.
7743 * kern/dl.c: Likewise.
7744 * kern/sparc64/ieee1275/init.c: Likewise.
7745 * kern/mm.c: Likewise.
7746 * kern/efi/mm.c: Likewise.
7747 * boot/i386/pc/boot.S: Likewise.
7748 * genfslist.sh: Likewise.
7749 * fs/iso9660.c: Likewise.
7750 * fs/hfs.c: Likewise.
7751 * fs/jfs.c: Likewise.
7752 * fs/minix.c: Likewise.
7753 * fs/ufs.c: Likewise.
7754 * gensymlist.sh.in: Likewise.
7755 * genkernsyms.sh.in: Likewise.
7756 * include/grub/misc.h: Likewise.
7757 * include/grub/types.h: Likewise.
7758 * include/grub/symbol.h: Likewise.
7759 * include/grub/elf.h: Likewise.
7760 * include/grub/kernel.h: Likewise.
7761 * include/grub/disk.h: Likewise.
7762 * include/grub/dl.h: Likewise.
7763 * include/grub/i386/linux.h: Likewise.
7764 * include/grub/i386/pc/biosdisk.h: Likewise.
7765 * include/grub/efi/api.h: Likewise.
7766 * include/grub/efi/pe32.h: Likewise.
7767 * include/grub/util/misc.h: Likewise.
7768 * normal/execute.c: Likewise.
7769 * normal/arg.c: Likewise.
7770 * normal/completion.c: Likewise.
7771 * normal/lexer.c: Likewise.
7772 * normal/parser.y: Likewise.
7773 * normal/misc.c: Likewise.
7774 * commands/i386/pc/vbeinfo.c: Likewise.
7775 * commands/hexdump.c: Likewise.
7776 * commands/terminal.c: Likewise.
7777 * commands/ls.c: Likewise.
7778 * commands/help.c: Likewise.
7779 * partmap/pc.c: Likewise.
7780 * loader/efi/chainloader.c: Likewise.
7781 * loader/multiboot_loader.c: Likewise.
7782 * loader/i386/pc/multiboot2.c: Likewise.
7783 * term/efi/console.c: Likewise.
7784 * term/i386/pc/serial.c: Likewise.
7785 * util/lvm.c: Likewise.
7786 * util/console.c: Likewise.
7787 * util/i386/efi/grub-mkimage.c: Likewise.
7788 * util/raid.c: Likewise.
7789
7f02114b 77902009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
7791
7792 * commands/videotest.c: Removed include to grub/machine/memory.h.
7793
7794 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
7795 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
7796 (video_mod_SOURCES): Removed.
7797 (video_mod_CFLAGS): Likewise.
7798 (video_mod_LDFLAGS): Likewise.
7799 (gfxterm_mod_SOURCES): Likewise.
7800 (gfxterm_mod_CFLAGS): Likewise.
7801 (gfxterm_mod_LDFLAGS): Likewise.
7802 (videotest_mod_SOURCES): Likewise.
7803 (videotest_mod_CFLAGS): Likewise.
7804 (videotest_mod_LDFLAGS): Likewise.
7805 (bitmap_mod_SOURCES): Likewise.
7806 (bitmap_mod_CFLAGS): Likewise.
7807 (bitmap_mod_LDFLAGS): Likewise.
7808 (tga_mod_SOURCES): Likewise.
7809 (tga_mod_CFLAGS): Likewise.
7810 (tga_mod_LDFLAGS): Likewise.
7811 (jpeg_mod_SOURCES): Likewise.
7812 (jpeg_mod_CFLAGS): Likewise.
7813 (jpeg_mod_LDFLAGS): Likewise.
7814 (png_mod_SOURCES): Likewise.
7815 (png_mod_CFLAGS): Likewise.
7816 (png_mod_LDFLAGS): Likewise.
7817
7818 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
7819 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
7820 (video_mod_SOURCES): Added.
7821 (video_mod_CFLAGS): Likewise.
7822 (video_mod_LDFLAGS): Likewise.
7823 (videotest_mod_SOURCES): Likewise.
7824 (videotest_mod_CFLAGS): Likewise.
7825 (videotest_mod_LDFLAGS): Likewise.
7826 (bitmap_mod_SOURCES): Likewise.
7827 (bitmap_mod_CFLAGS): Likewise.
7828 (bitmap_mod_LDFLAGS): Likewise.
7829 (tga_mod_SOURCES): Likewise.
7830 (tga_mod_CFLAGS): Likewise.
7831 (tga_mod_LDFLAGS): Likewise.
7832 (jpeg_mod_SOURCES): Likewise.
7833 (jpeg_mod_CFLAGS): Likewise.
7834 (jpeg_mod_LDFLAGS): Likewise.
7835 (png_mod_SOURCES): Likewise.
7836 (png_mod_CFLAGS): Likewise.
7837 (png_mod_LDFLAGS): Likewise.
7838 (gfxterm_mod_SOURCES): Likewise.
7839 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 7840 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 7841
7842 * term/gfxterm.c: Removed include to grub/machine/memory.h,
7843 grub/machine/console.h.
7844
644fff97 78452009-01-04 Jerone Young <jerone@gmail.com>
7846
7847 Make on screen instructions clearer
7848
7849 Based on patch created by Jidanni <jidanni@jidanni.org>
7850
7851 * normal/menu.c: print clearer instructions on the screen
7852
1e901a75 78532009-01-02 Colin D Bennett <colin@gibibit.com>
7854
7855 New font engine.
34c44600 7856
1e901a75 7857 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
7858 build system and fixed gfxterm.c to work with different sized fonts.
7859
7860 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 7861
1e901a75 7862 * configure: Re-generated.
34c44600 7863
1e901a75 7864 * DISTLIST: Removed font/manager.c.
7865 Added font/font.c.
7866 Added font/font_cmd.c.
34c44600 7867
1e901a75 7868 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
7869 compilation.
34c44600 7870
1e901a75 7871 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 7872
7873 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 7874
7875 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 7876
1e901a75 7877 * normal/menu.c: Likewise.
34c44600 7878
1e901a75 7879 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
7880 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 7881
1e901a75 7882 * include/grub/font.h: Replaced with new file.
34c44600 7883
1e901a75 7884 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
7885 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
7886 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
7887 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
7888 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 7889 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 7890 fg_red, fg_green, fg_blue, fg_alpha.
7891 (grub_video_adapter): Removed blit_glyph.
34c44600 7892 (grub_video_blit_glyph): Removed.
7893
1e901a75 7894 * font/manager.c: Removed file.
34c44600 7895
7896 * font/font.c: New file.
7897
1e901a75 7898 * font/font_cmd.c: Likewise.
34c44600 7899
1e901a75 7900 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 7901
1e901a75 7902 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
7903 (grub_video_vbe_map_rgba): Likewise.
7904 (grub_video_vbe_unmap_color_int): Likewise.
7905 (grub_video_vbe_blit_glyph): Removed.
7906 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 7907
1e901a75 7908 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
7909 (get_pixel): Likewise.
34c44600 7910 (set_pixel): Likewise.
7911
1e901a75 7912 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 7913
1e901a75 7914 * term/gfxterm.c: Adapted to new font engine.
34c44600 7915
1e901a75 7916 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 7917
1e901a75 7918 * term/i386/pc/vga.c: Likewise.
34c44600 7919
1e901a75 7920 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 7921
1e901a75 7922 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 7923
1e901a75 7924 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7925
1e901a75 7926 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7927
1e901a75 7928 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 7929
1e901a75 7930 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 7931
1e901a75 7932 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 7933
1e901a75 7934 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 7935
1e901a75 7936 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7937
7938 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 7939
1e901a75 7940 * util/grub-mkconfig_lib.in: Changed font extension.
7941
278922e8 79422008-12-28 Felix Zielcke <fzielcke@z-51.de>
7943
7944 * util/getroot.c (grub_util_get_grub_dev): Add support for
7945 /dev/md/dNNpNN style partitionable mdraid devices.
7946
3ced05cf 79472008-12-12 Alex Smith <alex@alex-smith.me.uk>
7948
7949 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
7950 at a time limit of the PXE TFTP API correctly.
7951 (grub_pxefs_close): Likewise.
7952
7fd0ee30 79532008-11-29 Robert Millan <rmh@aybabtu.com>
7954
34c44600 7955 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 7956 grub_ata_device_initialize() calls.
7957
34c44600 79582008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 7959
7960 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
7961 iteration failed.
7962 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
7963
89313780 79642008-11-28 Robert Millan <rmh@aybabtu.com>
7965
7966 Fix build on powerpc-ieee1275. Based on patch created by
7967 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
7968 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7969 `kern/ieee1275/mmap.c'.
7970 * include/grub/powerpc/ieee1275/memory.h: New file.
7971
15257703 7972 Provide grub-install on coreboot.
7973 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
7974 (grub_install_SOURCES): New variable.
7975 * util/i386/pc/grub-install.in: Add a few condition checks to make it
7976 usable on coreboot.
7977
9fc5388a 79782008-11-25 Felix Zielcke <fzielcke@z-51.de>
7979
7980 * util/grub-fstest.c (grub_term_get_current_input): Change return type
7981 to `grub_term_input_t'.
7982 (grub_term_get_current_output): Change return type to
7983 `grub_term_output_t'.
7984
bc3a2f31 79852008-11-22 Robert Millan <rmh@aybabtu.com>
7986
34c44600 7987 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 7988 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
7989 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
7990 grub_vga_text_cls().
7991
80fc88f2 7992 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 7993 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 7994
cbf36fd3 7995 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
7996 to 0x200000 (avoids trouble with some OFW implementations, and matches
7997 with the one in Yaboot).
7998 Reported by Manoel Abranches
7999
73e8e268 80002008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 8001
8002 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
8003 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
8004
73e8e268 8005 * util/grub-mkconfig_lib.in (grub_warn): New function.
8006 (convert_system_path_to_grub_path): Use grub_warn() when issuing
8007 warnings, to obtain consistent formatting.
8008 * util/grub.d/00_header.in: Likewise.
8009 * util/update-grub_lib.in: Likewise.
8010
e94045a1 8011 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 8012 Move comment text to `#error' stanza.
e94045a1 8013
79d29fd7 8014 Harmonize ieee1275's grub_available_iterate() with the generic
8015 grub_machine_mmap_iterate() interface (fixes a recently-introduced
8016 build problem on i386-ieee1275):
8017 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
8018 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
8019 parameter `type'. Update all users of this function.
8020 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
8021 `kern/ieee1275/mmap.c'.
8022 * kern/ieee1275/init.c
8023 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
8024 with ...
8025 (grub_machine_mmap_iterate): ... this.
8026 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
8027 return type to `grub_err_t'. Update all implementations of this
8028 function prototype.
8029 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
8030 Likewise.
8031
60d6b16e 8032 Add `lsmmap' command (lists firmware-provided memory map):
8033 * commands/lsmmap.c: New file.
8034 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
8035 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
8036 variables.
8037 * conf/powerpc-ieee1275.rmk: Likewise.
8038 * conf/i386-coreboot.rmk: Likewise.
8039 * conf/i386-ieee1275.rmk: Likewise.
8040
ebaaf49b 80412008-11-19 Robert Millan <rmh@aybabtu.com>
8042
8043 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 8044 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
8045 constraints to initrd allocation (based on code from
8046 loader/i386/pc/linux.c). Without them, initrd was allocated too high
8047 for Linux to find it.
ebaaf49b 8048
dfab719f 80492008-11-14 Robert Millan <rmh@aybabtu.com>
8050
8051 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
8052 order to cope with duplicate slashes.
8053
10fc3eb9 80542008-11-14 Robert Millan <rmh@aybabtu.com>
8055
8056 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
8057 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
8058 don't want to mess with lower memory, because it is used in the Linux
8059 loader.
8060
8061 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 8062 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 8063 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
8064 is in our heap (probably as a result of it being corrupted during
2f2a3442 8065 decompression). Add #error instance with comment to explain why this
8066 loader isn't currently usable on PC/BIOS.
10fc3eb9 8067
e2e07847 80682008-11-14 Robert Millan <rmh@aybabtu.com>
8069
8070 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 8071 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 8072
fe8e8d69 80732008-11-12 Robert Millan <rmh@aybabtu.com>
8074
8075 Make loader/i386/linux.c buildable on i386-pc (although disabled).
8076
8077 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
8078 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
8079 from here ...
8080 * include/grub/i386/pc/memory.h: ... to here.
8081
976b07d0 80822008-11-12 Robert Millan <rmh@aybabtu.com>
8083
8084 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
8085 split).
8086
8087 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
8088 (grub_console_cur_color, grub_console_real_putchar)
8089 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
8090 (grub_console_setcolorstate, grub_console_setcolor)
8091 (grub_console_getcolor): Move from here ...
8092 * include/grub/i386/vga_common.h: ... to here (new file).
8093
8094 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
8095 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
8096 `<grub/i386/io.h>'.
8097 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
8098 `<grub/i386/vga_common.h>'.
8099
76679cd3 81002008-11-12 Robert Millan <rmh@aybabtu.com>
8101
8102 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
8103 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
8104 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
8105 variables.
8106 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
8107 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
8108
8109 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
8110 grub_console_init() with call to grub_vga_text_init().
8111 (grub_machine_fini): Replace call to
8112 grub_console_fini() with call to grub_vga_text_fini() and
8113 grub_at_keyboard_fini().
8114
8115 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
8116 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
8117 (grub_console_setcolorstate, grub_console_setcolor)
8118 (grub_console_getcolor): New function prototypes.
8119
8120 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
8121 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
8122 (grub_vga_text_setcursor): Static-ize.
8123 (grub_vga_text_term): New structure.
8124 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
8125
8126 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
8127 (grub_console_cur_color, grub_console_standard_color)
8128 (grub_console_normal_color, grub_console_highlight_color)
8129 (map_char, grub_console_putchar, grub_console_getcharwidth)
8130 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
8131 (grub_console_getcolor): Move from here ...
8132 * term/i386/vga_common.c: ... to here (same function names).
8133
95b841d3 81342008-11-12 Robert Millan <rmh@aybabtu.com>
8135
8136 Use newly-added Multiboot support in coreboot.
8137
8138 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
8139 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
8140
8141 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
8142 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
8143 (codestart): Store the MBI in `startup_multiboot_info' when we're
8144 being loaded using Multiboot.
8145
8146 * kern/i386/coreboot/init.c (grub_machine_init): Move
8147 grub_at_keyboard_init() call to beginning of function (useful for
8148 debugging). Call grub_machine_mmap_init() before attempting to use
8149 grub_machine_mmap_iterate().
8150 (grub_lower_mem, grub_upper_mem): Move from here ...
8151 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
8152 here (new file).
8153
8154 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
8155 function prototype.
8156
761ca975 81572008-11-12 Robert Millan <rmh@aybabtu.com>
8158
8159 Fix a regression introduced by the at_keyboard.mod split. Because
8160 some terminals are default on some platforms and non-default on
8161 others, the first terminal being registered determines which is
8162 going to be default.
8163
8164 * kern/term.c (grub_term_register_input): If this is the first
8165 terminal being registered, set it as the current one.
8166 (grub_term_register_output): Likewise.
8167
8168 * term/efi/console.c (grub_console_init): Do not call
8169 grub_term_set_current_output() or grub_term_set_current_input().
8170 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
8171 * term/i386/pc/console.c (grub_console_init): Likewise.
8172 (grub_console_fini): Do not call grub_term_set_current_input()
8173 (but leave grub_term_set_current_output() to restore text mode).
8174
6c529df7 81752008-11-10 Robert Millan <rmh@aybabtu.com>
8176
8177 * util/grub.d/00_header.in: Add backward compatibility check for
8178 versions of terminal.mod that don't understand `terminal_input' or
8179 `terminal_output'.
8180
132e4113 81812008-11-09 Robert Millan <rmh@aybabtu.com>
8182
8183 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
8184 `terminal_input' / `terminal_output', not `terminal'.
8185
ac293d50 81862008-11-08 Robert Millan <rmh@aybabtu.com>
8187
8188 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 8189 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 8190
0025933a 81912008-11-08 Robert Millan <rmh@aybabtu.com>
8192
8193 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 8194 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 8195 members. Update all users.
8196 * util/console.c (grub_ncurses_term): Split in ...
8197 (grub_ncurses_term_input): ... this, and ...
8198 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 8199 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 8200
37c86336 82012008-11-08 Robert Millan <rmh@aybabtu.com>
8202
8203 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
8204 (PKGDATA): Add $(pkgdata_SRCDIR).
8205 (pkglib_BUILDDIR): New variable.
8206 (pkgdata_SRCDIR): New variable.
8207 (build_env.mk): New target.
8208 (include_DATA): New variable.
8209 (install-local): Install $(include_DATA) files in $(includedir).
8210
b6c15a2d 82112008-11-07 Pavel Roskin <proski@gnu.org>
8212
d99d46f1 8213 * gendistlist.sh: Use C locale for sorting to ensure consistent
8214 output on all systems.
8215
b6c15a2d 8216 * util/grub.d/00_header.in: Remove incorrect space before
8217 "serial".
8218
c32ee8c9 82192008-11-07 Robert Millan <rmh@aybabtu.com>
8220
8221 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
8222 per specification.
8223 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
8224 * loader/multiboot_loader.c (find_multi_boot2_header): New function
8225 (based on find_multi_boot1_header).
8226 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
8227 using find_multi_boot2_header(), and abort if neither Multiboot or
8228 Multiboot headers were found.
8229
651c29b7 82302008-11-07 Robert Millan <rmh@aybabtu.com>
8231
8232 Modularize at_keyboard.mod:
8233
8234 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
8235 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8236 (at_keyboard_mod_LDFLAGS): New variables.
8237
8238 Actual terminal split:
8239
8240 * include/grub/term.h (struct grub_term): Split in ...
8241 (struct grub_term_input): ... this, and ...
8242 (struct grub_term_output): ... this. Update all users.
8243 (grub_term_set_current): Split in ...
8244 (grub_term_set_current_input): ... this, and ...
8245 (grub_term_set_current_output): ... this.
8246 (grub_term_get_current): Split in ...
8247 (grub_term_get_current_input): ... this, and ...
8248 (grub_term_get_current_output): ... this.
8249 (grub_term_register): Split in ...
8250 (grub_term_register_input): ... this, and ...
8251 (grub_term_register_output): ... this.
8252 (grub_term_unregister): Split in ...
8253 (grub_term_unregister_input): ... this, and ...
8254 (grub_term_unregister_output): ... this.
8255 (grub_term_iterate): Split in ...
8256 (grub_term_iterate_input): ... this, and ...
8257 (grub_term_iterate_output): ... this.
8258
8259 * kern/term.c (grub_term_list): Split in ...
8260 (grub_term_list_input): ... this, and ...
8261 (grub_term_list_output): ... this. Update all users.
8262 (grub_cur_term): Split in ...
8263 (grub_cur_term_input): ... this, and ...
8264 (grub_cur_term_output): ... this. Update all users.
8265 (grub_term_set_current): Split in ...
8266 (grub_term_set_current_input): ... this, and ...
8267 (grub_term_set_current_output): ... this.
8268 (grub_term_get_current): Split in ...
8269 (grub_term_get_current_input): ... this, and ...
8270 (grub_term_get_current_output): ... this.
8271 (grub_term_register): Split in ...
8272 (grub_term_register_input): ... this, and ...
8273 (grub_term_register_output): ... this.
8274 (grub_term_unregister): Split in ...
8275 (grub_term_unregister_input): ... this, and ...
8276 (grub_term_unregister_output): ... this.
8277 (grub_term_iterate): Split in ...
8278 (grub_term_iterate_input): ... this, and ...
8279 (grub_term_iterate_output): ... this.
8280
8281 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
8282 a check for input and one for output (and only attempt to get keys
8283 from user when input works).
8284
8285 * util/grub-probe.c (grub_term_get_current): Split in ...
8286 (grub_term_get_current_input): ... this, and ...
8287 (grub_term_get_current_output): ... this.
8288 * util/grub-fstest.c: Likewise.
8289 * util/i386/pc/grub-setup.c: Likewise.
8290 * util/grub-editenv.c: Likewise.
8291
8292 Portability adjustments:
8293
8294 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
8295 `term/i386/pc/at_keyboard.c'.
8296 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
8297 grub_keyboard_controller_init() (now handled by terminal .init).
8298 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
8299 grub_at_keyboard_init().
8300 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
8301 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
8302 at_keyboard.mod via input terminal interface).
8303 * include/grub/i386/coreboot/console.h: Convert into a stub for
8304 `<grub/i386/pc/console.h>'.
8305
8306 Migrate full terminals to new API:
8307
8308 * term/efi/console.c (grub_console_term): Split into ...
8309 (grub_console_term_input): ... this, and ...
8310 (grub_console_term_output): ... this. Update all users.
8311 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
8312 (grub_ofconsole_init): Split into ...
8313 (grub_ofconsole_init_input): ... this, and ...
8314 (grub_ofconsole_init_output): ... this.
8315 (grub_ofconsole_term): Split into ...
8316 (grub_ofconsole_term_input): ... this, and ...
8317 (grub_ofconsole_term_output): ... this. Update all users.
8318 * term/i386/pc/serial.c (grub_serial_term): Split into ...
8319 (grub_serial_term_input): ... this, and ...
8320 (grub_serial_term_output): ... this. Update all users.
8321 * term/i386/pc/console.c (grub_console_term): Split into ...
8322 (grub_console_term_input): ... this, and ...
8323 (grub_console_term_output): ... this. Update all users.
8324 (grub_console_term_input): Only enable it on PC/BIOS platform.
8325 (grub_console_init): Remove grub_keyboard_controller_init() call.
8326
8327 Migrate input terminals to new API:
8328
8329 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
8330 `i386' and `i386/pc' to enable build on x86_64 (this driver is
8331 i386-specific anyway).
8332 (grub_console_checkkey): Rename to ...
8333 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
8334 users.
8335 (grub_keyboard_controller_orig): New variable.
8336 (grub_console_getkey): Rename to ...
8337 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
8338 users.
8339 (grub_keyboard_controller_init): Static-ize. Save original
8340 controller value so that it can be restored ...
8341 (grub_keyboard_controller_fini): ... here (new function).
8342 (grub_at_keyboard_term): New structure.
8343 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
8344 functions.
8345
8346 Migrate output terminals to new API:
8347
8348 * term/i386/pc/vga.c (grub_vga_term): Change type to
8349 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8350 members. Update all users.
8351 * term/gfxterm.c (grub_video_term): Change type to
8352 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8353 members. Update all users.
8354 * include/grub/i386/pc/console.h (grub_console_checkkey)
8355 (grub_console_getkey): Do not export (no longer needed by gfxterm,
8356 etc).
8357
8358 Migrate `terminal' command and userland tools to new API:
8359
8360 * commands/terminal.c (grub_cmd_terminal): Split into ...
8361 (grub_cmd_terminal_input): ... this, and ...
8362 (grub_cmd_terminal_output): ... this.
8363 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
8364 `terminal_input' and `terminal_output'.
8365 * util/grub.d/00_header.in: Adjust `terminal' calls to new
8366 `terminal_input' / `terminal_output' API.
8367 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
8368 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
8369 provided ${GRUB_TERMINAL}, convert it).
8370
96e5d876 83712008-11-04 Robert Millan <rmh@aybabtu.com>
8372
8373 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
8374 for FreeBSD.
8375 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
8376
556f3775 83772008-11-03 Bean <bean123ch@gmail.com>
8378
8379 * kern/elf.c (grub_elf32_load): Revert to previous code.
8380 (grub_elf64_load): Likewise.
8381
8382 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
8383
926b9823 83842008-11-01 Robert Millan <rmh@aybabtu.com>
8385
8386 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
8387 (TARGET_CPPFLAGS): Likewise.
8388 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
8389
1432e958 83902008-11-01 Carles Pina i Estany <carles@pina.cat>
8391
8392 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
8393
dba3f844 83942008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 8395
8396 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
8397 addition of objects until the code is not going to be able to fail.
8398
dba3f844 83992008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 8400
8401 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
8402 (add a missing NULL check, and correct them by moving the pointer
8403 operations after the actual check).
8404
7ab28c21 84052008-10-29 Robert Millan <rmh@aybabtu.com>
8406
8407 * util/i386/pc/grub-install.in: Handle empty string as output from
8408 make_system_path_relative_to_its_root().
8409
1b7748eb 84102008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
8411
8412 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
8413 circular metadata worst case scenario. If the metadata is circular
8414 then copy the wrap in place.
8415 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
8416 project lib/format_text/layout.h
8417 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
8418
c9618ab2 84192008-10-03 Felix Zielcke <fzielcke@z-51.de>
8420
7a36edca 8421 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 8422
bf981c62 84232008-10-03 Felix Zielcke <fzielcke@z-51.de>
8424
8425 * util/update-grub_lib.in: Mention filename in warning message.
8426
6d994591 84272008-09-29 Felix Zielcke <fzielcke@z-51.de>
8428
8429 * NEWS: Update for rename of update-grub to grub-mkconfig.
8430
18ade780 84312008-09-29 Felix Zielcke <fzielcke@z-51.de>
8432
8433 * util/update-grub_lib.in: Copy to ...
8434 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 8435 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 8436 * util/update-grub.in: Rename to ...
8437 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
8438 option. Add `--output' option to allow users to specify the generated
8439 configuration file. Default to stdout.
8440 (update_grub_dir): Rename to ...
8441 (grub_mkconfig_dir): ... this.
8442 (grub_cfg): Default to an empty string.
8443 * conf/common.rmk (update-grub): Rename to ...
8444 (grub-mkconfig): ... this.
8445 (update-grub_lib): Copy to ...
8446 (grub-mkconfig_lib): ... this.
8447 (update-grub_SCRIPTS): Copy to ...
8448 (grub-mkconfig_SCRIPTS): ... this. Update all users.
8449 (update-grub_DATA): Rename to ...
8450 (grub-mkconfig_DATA): ... this.
8451
556ce6ac 84522008-09-28 Robert Millan <rmh@aybabtu.com>
8453
8454 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
8455 to `modified'. Add the real `created' field.
8456 (grub_iso9660_uuid): Use `modified' rather than `created' for
8457 constructing the UUID.
8458
84592008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 8460
8461 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
8462 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
8463
92274e85 84642008-09-28 Bean <bean123ch@gmail.com>
8465
8466 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
8467 Thanks to Christian Franke for finding this bug.
8468
add6f17a 84692008-09-25 Robert Millan <rmh@aybabtu.com>
8470
8471 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
8472 instances of grub_util_get_disk_name() (see previous commit).
8473
d2a367b8 84742008-09-25 Robert Millan <rmh@aybabtu.com>
8475
8476 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
8477 `util/i386/get_disk_name.c'.
8478 * conf/i386-efi.rmk: Likewise.
8479 * conf/x86_64-efi.rmk: Likewise.
8480 * conf/i386-coreboot.rmk: Likewise.
8481 * conf/i386-ieee1275.rmk: Likewise.
8482 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
8483 `util/ieee1275/get_disk_name.c'.
8484 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
8485 * util/ieee1275/get_disk_name.c: Remove file.
8486 * util/i386/get_disk_name.c: Remove file.
8487 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
8488 "hd%d" for device.map entries, rather than using
8489 grub_util_get_disk_name().
8490
81a06771 84912008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 8492
8493 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
8494 warning.
8495 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
8496
5a004279 84972008-09-24 Carles Pina i Estany <carles@pina.cat>
8498
8499 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
8500 Changed to 0x5100.
8501 (GRUB_TERM_PPAGE): Changed to 0x4900.
8502
397093d3 85032008-09-24 Robert Millan <rmh@aybabtu.com>
8504
8505 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
8506 macros (they were i386-pc specific).
8507 * include/grub/sparc64/ieee1275/console.h: Likewise.
8508 * include/grub/efi/console.h: Likewise.
8509
a91b6c7c 85102008-09-22 Bean <bean123ch@gmail.com>
8511
8512 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
8513 resident and in attribute list.
8514
8515 * include/grub/ntfs.h (BMP_LEN): Removed.
8516
c40fd116 85172008-09-22 Bean <bean123ch@gmail.com>
8518
81a06771 8519 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 8520 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
8521
8522 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
8523 error occurs, as grub_disk_open will call grub_disk_close, which will
8524 call p->close (scsi).
8525
81a06771 85262008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 8527
8528 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
8529 (AC_PREREQ): Bumped to 2.59.
8530 (AC_TRY_COMPILE): Replace obsolete macro with ...
8531 (AC_COMPILE_IFELSE): ... this.
8532 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
8533 (AC_LINK_IFELSE): ... this.
8534
5dc43410 85352008-09-21 Felix Zielcke <fzielcke@z-51.de>
8536
8537 * autogen.sh: Add a call to `gendistlist.sh'.
8538
9035dce4 85392008-09-19 Christian Franke <franke@computer.org>
8540
8541 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
8542 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
8543 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
8544 Export __enable_execute_stack() to modules.
8545 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
8546 New function.
8547
7fd75377 85482008-09-09 Felix Zielcke <fzielcke@z-51.de>
8549
040030b3 8550 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
8551 Sort the list.
8552
85532008-09-09 Felix Zielcke <fzielcke@z-51.de>
8554
8555 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 8556 #include <grub/util/hostdisk.h>.
8557
89d5ffcf 85582008-09-08 Robert Millan <rmh@aybabtu.com>
8559
8560 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
8561 segments when their filesz is zero (grub_file_read() interprets
81a06771 8562 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 8563 Use `lowest_segment' rather than 0 for calculating the current
8564 segment load address.
8565
40da438f 85662008-09-08 Robert Millan <rmh@aybabtu.com>
8567
8568 * util/hostdisk.c (open_device): Replace a grub_util_info() call
8569 with grub_dprintf("hostdisk", ...), as it was so verbose that it
8570 clobbered useful information.
8571
ddbf5556 85722008-09-08 Robert Millan <rmh@aybabtu.com>
8573
8574 * include/grub/util/biosdisk.h: Move to ...
8575 * include/grub/util/hostdisk.h: ... here. Update all users.
8576 * util/biosdisk.c: Move to ...
8577 * util/hostdisk.c: ... here. Update all users.
8578
783d0f48 85792008-09-07 Robert Millan <rmh@aybabtu.com>
8580
8581 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
8582 variables.
8583 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
8584 and length can be stored directly in the `mbi->mmap_addr' and
8585 `mbi->mmap_length' struct fields.
8586
548e2ea5 85872008-09-07 Robert Millan <rmh@aybabtu.com>
8588
8589 * conf/i386.rmk: New file. Provides declaration for building
8590 `cpuid.mod'.
8591 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
8592 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
8593 variables.
8594 Include `conf/i386.mk'.
8595 * conf/i386-efi.rmk: Likewise.
8596 * conf/x86_64-efi.rmk: Likewise.
8597 * conf/i386-coreboot.rmk: Likewise.
8598 * conf/i386-ieee1275.rmk: Likewise.
8599
0ea85a37 86002008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
8601
8602 Based on patch created by Colin D Bennett <colin@gibibit.com>.
8603 Adds optimization support for BGR based modes.
8604
8605 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
8606 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8607 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8608 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8609 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8610 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8611 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8612 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8613 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8614 (grub_video_i386_vbeblit_index_index): Likewise.
8615 (grub_video_i386_vbeblit_replace_directN): Added.
8616 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8617 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8618 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8619 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8620 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8621 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 8622 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 8623 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8624 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8625 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8626 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8627 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8628 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
8629
8630 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
8631 (grub_video_i386_vbefill_R8G8B8): Likewise.
8632 (grub_video_i386_vbefill_index): Likewise.
8633 (grub_video_i386_vbefill_direct32): Added.
8634 (grub_video_i386_vbefill_direct24): Likewise.
8635 (grub_video_i386_vbefill_direct16): Likewise.
8636 (grub_video_i386_vbefill_direct8): Likewise.
8637
81a06771 8638 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 8639 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
8640 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
8641 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
8642 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
8643 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 8644
0ea85a37 8645 * video/video.c (grub_video_get_blit_format): Updated to use new
8646 blit formats. Added handling for 16 bit color modes.
81a06771 8647
8648 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 8649 fillers.
8650 (common_blitter): Updated to use new blitters.
8651
8652 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
8653 Removed.
8654 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8655 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8656 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8657 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8658 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8659 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8660 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8661 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8662 (grub_video_i386_vbeblit_index_index): Likewise.
8663 (grub_video_i386_vbeblit_replace_directN): Added.
8664 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8665 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8666 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8667 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8668 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8669 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
8670 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
8671 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8672 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8673 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8674 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8675 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8676 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 8677
0ea85a37 8678 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
8679 (grub_video_i386_vbefill_R8G8B8): Likewise.
8680 (grub_video_i386_vbefill_index): Likewise.
8681 (grub_video_i386_vbefill_direct32): Added.
8682 (grub_video_i386_vbefill_direct24): Likewise.
8683 (grub_video_i386_vbefill_direct16): Likewise.
8684 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 8685
0ea85a37 8686 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
8687 types.
81a06771 8688
0ea85a37 8689 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
8690 types.
81a06771 8691
0ea85a37 8692 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
8693 blitter types.
81a06771 8694
0ea85a37 8695 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
8696 types.
8697
e8a83df6 86982008-09-06 Felix Zielcke <fzielcke@z-51.de>
8699
8700 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
8701 RAID level 1.
8702
6bcd8ee5 87032008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 8704
6bcd8ee5 8705 * fs/iso9660.c (grub_iso9660_date): New structure.
8706 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
8707 (grub_iso9660_uuid): New function.
c375ae58 8708
59261157 87092008-09-05 Bean <bean123ch@gmail.com>
8710
8711 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
8712
8713 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
8714 insensitive bit for names in Win32 and Win32 & DOS namespace.
8715
8716 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
8717
8718 * include/grub/types.h (LONG_MAX): Likewise.
8719
58b6645a 87202008-09-04 Felix Zielcke <fzielcke@z-51.de>
8721
4ee55921 8722 * util/getroot.c: Include <config.h>.
8723 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
8724 add support for /dev/md/N devices and handle LVM double dash escaping.
8725
87262008-09-04 Felix Zielcke <fzielcke@z-51.de>
8727
8728 * config.guess: Update to latest version from config git.
8729 * config.sub: Likewise.
58b6645a 8730
9124f65d 87312008-09-03 Robert Millan <rmh@aybabtu.com>
8732
8733 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
8734 `disk->total_sectors'.
8735
81a06771 87362008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 8737
8738 * include/grub/normal.h: Fixed incorrect comment for
8739 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
8740
81a06771 87412008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 8742
8743 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
8744 values with defines.
8745
8746 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
8747 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
8748 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
8749 (GRUB_VBE_MODEATTR_COLOR): Likewise.
8750 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
8751 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
8752 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
8753 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
8754 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
8755 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
8756 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
8757 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
8758 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
8759 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
8760 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
8761 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
8762 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
8763 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
8764 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
8765
93d5cbf8 87662008-08-31 Robert Millan <rmh@aybabtu.com>
8767
8768 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
8769 declaration.
8770 (grub_multiboot): Fix a few warnings.
8771
21751d50 87722008-08-31 Robert Millan <rmh@aybabtu.com>
8773
8774 * loader/i386/pc/multiboot.c: Update comment not to say that
8775 boot_device support is unimplemented.
8776
e27a75c5 87772008-08-31 Robert Millan <rmh@aybabtu.com>
8778
8779 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
8780 or memory map support are unimplemented.
8781
81a06771 87822008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 8783
8784 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
8785
81a06771 87862008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 8787
8788 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
8789 total video memory in 'vbeinfo' output; show color format details for
8790 each video mode.
8791
7c5d8d95 87922008-08-30 Pavel Roskin <proski@gnu.org>
8793
8794 * util/genmoddep.c: Remove for real this time.
8795 * DISTLIST: Remove util/genmoddep.c.
8796
4cebd25a 87972008-08-30 Robert Millan <rmh@aybabtu.com>
8798
8799 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
8800 as required by Multiboot spec (it was already 4-byte aligned, but
8801 only by chance).
8802
b497a269 88032008-08-29 Pavel Roskin <proski@gnu.org>
8804
e3925185 8805 * kern/powerpc/ieee1275/crt0.S: Rename to ...
8806 * kern/powerpc/ieee1275/startup.S: ... this.
8807 * conf/powerpc-ieee1275.rmk: Adjust for the above.
8808 * DISTLIST: Likewise.
8809
b497a269 8810 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
8811 grub/cpu/kernel.h. Add start label for consistency with other
8812 platforms. Add grub_prefix immediately after start. Add jump
8813 to the code after grub_prefix.
8814 * include/grub/powerpc/kernel.h: Provide valid values for
8815 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
8816
6e5a42fe 88172008-08-29 Bean <bean123ch@gmail.com>
8818
8819 * configure.ac: Change host_os to cygwin for mingw.
8820 (asprintf): New check for function.
8821
8822 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
8823 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
8824
8825 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 8826 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 8827 sync, sleep and grub_util_get_disk_size for mingw.
8828
8829 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
8830 to get size in mingw.
8831 (open_device): Use flag O_BINARY if it's defined.
8832 (find_root_device): Add dummy code for mingw.
8833
8834 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
8835 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
8836 (get_scsi_disk_name): Return 0 for mingw.
8837
8838 * util/hostfs.c: #include <grub/util/misc.h>.
8839 (grub_hostfs_open): Use "rb" flag to open file, use
8840 grub_util_get_disk_size to get disk size for mingw.
8841
8842 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
8843 (asprintf): New function if HAVE_ASPRINTF is not set.
8844 (sync): New function for mingw.
8845 (sleep): Likewise.
8846 (grub_util_get_disk_size): Likewise.
8847
ab3f2673 88482008-08-28 Pavel Roskin <proski@gnu.org>
8849
8850 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8851 kern/time.c.
8852
1c282483 88532008-08-28 Robert Millan <rmh@aybabtu.com>
8854
8855 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
8856
678e849c 88572008-08-28 Robert Millan <rmh@aybabtu.com>
8858
8859 Change find_grub_drive() syntax so it doesn't prevent it from
8860 detecting NULL names as errors.
8861
8862 * util/biosdisk.c (find_grub_drive): Move free slot search code
8863 from here ...
8864 (find_free_slot): ... to here.
8865 (read_device_map): Use find_free_slot() to search for free slots.
8866
965c75ca 88672008-08-27 Marco Gerards <marco@gnu.org>
8868
8869 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
8870 (scsi_mod_SOURCES): New variable.
8871 (scsi_mod_CFLAGS): Likewise
8872 (scsi_mod_LDFLAGS): Likewise.
8873
8874 * disk/scsi.c: New file.
8875
8876 * include/grub/scsi.h: Likewise.
8877
8878 * include/grub/scsicmd.h: Likewise.
8879
8880 * disk/ata.c: Include <grub/scsi.h>.
8881 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
8882 instead.
8883 (grub_ata_iterate): Skip ATAPI devices.
8884 (grub_ata_open): Only handle ATAPI devices.
8885 (struct grub_atapi_read): Removed.
8886 (grub_atapi_readsector): Likewise.
8887 (grub_ata_read): No longer handle ATAPI devices.
8888 (grub_ata_write): Likewise.
8889 (grub_atapi_iterate): New function.
8890 (grub_atapi_read): Likewise.
8891 (grub_atapi_write): Likewise.
8892 (grub_atapi_open): Likewise.
8893 (grub_atapi_close): Likewise.
8894 (grub_atapi_dev): New variable.
8895 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
8896 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
8897
8898 * include/grub/disk.h (enum grub_disk_dev_id): Add
8899 `GRUB_DISK_DEVICE_SCSI_ID'.
8900
c07ae501 89012008-08-26 Robert Millan <rmh@aybabtu.com>
8902
8903 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
8904 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
8905 descriptive.
8906
5ed20adc 89072008-08-23 Bean <bean123ch@gmail.com>
8908
8909 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
8910 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8911 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
8912 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
8913 dm_nv.mod.
8914 (raid5rec_mod_SOURCES): New macro.
8915 (raid5rec_mod_CFLAGS): Likewise.
8916 (raid5rec_mod_LDFLAGS): Likewise.
8917 (raid6rec_mod_SOURCES): Likewise.
8918 (raid6rec_mod_CFLAGS): Likewise.
8919 (raid6rec_mod_LDFLAGS): Likewise.
8920 (mdraid_mod_SOURCES): Likewise.
8921 (mdraid_mod_CFLAGS): Likewise.
8922 (mdraid_mod_LDFLAGS): Likewise.
8923 (dm_nv_mod_SOURCES): Likewise.
8924 (dm_nv_mod_CFLAGS): Likewise.
8925 (dm_nv_mod_LDFLAGS): Likewise.
8926
8927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
8928 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8929 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8930
8931 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
8932 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8933
8934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8935
8936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8937
8938 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8939
8940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8941
8942 * disk/raid5_recover.c: New file.
8943
8944 * disk/raid6_recover.c: Likewise.
8945
8946 * disk/mdraid_linux.c: Likewise.
8947
8948 * disk/dmraid_nvidia.c: Likewise.
8949
8950 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
8951 ULONG_MAX.
8952
8953 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
8954 calculate the size of raid device.
8955 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
8956 different layout of raid5.
8957 (grub_raid_scan_device): Remove code specific to mdraid.
8958 (grub_raid_list): New variable.
8959 (free_array): New function.
8960 (grub_raid_register): Likewise.
8961 (grub_raid_unregister): Likewise.
8962 (grub_raid_rescan): Likewise.
8963 (GRUB_MOD_INIT): Don't iterate device here.
8964 (GRUB_MOD_FINI): Use free_array to release resource.
8965
8966 * include/grub/raid.h: Remove macro and structure specific to mdraid.
8967 (grub_raid5_recover_func_t): New function variable type.
8968 (grub_raid6_recover_func_t): Likewise.
8969 (grub_raid5_recover_func): New variable.
8970 (grub_raid6_recover_func): Likewise.
8971 (grub_raid_register): New function.
8972 (grub_raid_unregister): Likewise.
8973 (grub_raid_rescan): Likewise.
8974 (grub_raid_block_xor): Likewise.
8975
8976 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
8977 (CMD_CRC): New macro.
8978 (part): Removed.
8979 (read_file): Handle device as well as file.
8980 (cmd_crc): New function.
8981 (fstest): Handle multiple disks.
8982 (options): Remove part, raw and long, add root and diskcount.
8983 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 8984 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 8985 add handling for the new options, support multiple disks.
8986
8987 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
8988
29c18915 89892008-08-23 Bean <bean123ch@gmail.com>
8990
8991 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
8992
8993 * genfslist.sh: Ignore kernel.mod.
8994
8995 * genpartmaplist.sh: Likewise.
8996
8415f261 89972008-08-23 Robert Millan <rmh@aybabtu.com>
8998
8999 * util/getroot.c (find_root_device): Skip anything that starts with
9000 a dot, not just directories. This avoids things like /dev/.tmp.md0.
9001
d5a7dc5b 90022008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 9003
d5a7dc5b 9004 * util/update-grub.in (GRUB_GFXMODE): Export variable.
9005 * util/grub.d/00_header.in: Allow the administrator to change default
9006 gfxmode via ${GRUB_GFXMODE}.
9007
380cfbb4 90082008-08-21 Felix Zielcke <fzielcke@z-51.de>
9009
9010 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
9011
c9baafe7 90122008-08-21 Robert Millan <rmh@aybabtu.com>
9013
9014 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
9015 loader.
9016 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
9017 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
9018
e290bef2 90192008-08-20 Carles Pina i Estany <carles@pina.cat>
9020
9021 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
9022 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
9023
f9dbfc96 90242008-08-19 Robert Millan <rmh@aybabtu.com>
9025
9026 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
9027 (struct grub_virtual_screen): Remove `cursor_color'.
9028 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
9029 initialization.
9030 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
9031
dd6bd6ab 90322008-08-18 Robert Millan <rmh@aybabtu.com>
9033
9034 Unify (identical) linux_normal.c files.
9035 * loader/i386/efi/linux_normal.c: Move from here ...
9036 * loader/linux_normal.c: ... to here. Update all users.
9037 * loader/i386/pc/linux_normal.c: Delete. Update all users.
9038 * loader/i386/ieee1275/linux_normal.c: Likewise.
9039
7f42f83e 90402008-08-18 Robert Millan <rmh@aybabtu.com>
9041
9042 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
9043 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
9044 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
9045 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
9046 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
9047 New macros.
9048 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
9049 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
9050 (GRUB_LINUX_CL_END_OFFSET): ... to here.
9051 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
9052 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
9053 (GRUB_EFI_CL_END_OFFSET): Rename to ...
9054 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
9055 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
9056 Initialize `params->video_cursor_x' and `params->video_cursor_y'
9057 portably using grub_getxy().
9058 Replace `-EFI' with `-bzImage' in boot message.
9059
38487ddb 90602008-08-17 Robert Millan <rmh@aybabtu.com>
9061
9062 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
9063
deceb3ec 90642008-08-17 Robert Millan <rmh@aybabtu.com>
9065
9066 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
9067
9068 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
9069 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
9070 (grub_machine_mmap_iterate): New function declaration.
9071 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
9072 structure.
9073 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
9074 macros.
9075
9076 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
9077 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
9078 Move e820 parsing from here ...
9079 * kern/i386/pc/mmap.c: New file.
9080 (grub_machine_mmap_iterate): ... to here.
9081
9082 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
9083 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
9084 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
9085 (grub_available_iterate): Redeclare to return `void', and redeclare
9086 its hook to use grub_uint64_t as addr and size parameters, and rename
9087 to ...
9088 (grub_machine_mmap_iterate): ... this. Update all users.
9089
9090 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
9091 to make it more readable. Rename to ...
9092 (grub_machine_mmap_iterate): ... this.
9093
9094 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
9095 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
9096 (grub_multiboot): Allocate an extra region after the payload, and fill
9097 it with a Multiboot memory map. Adjust a.out loader to calculate size
9098 with the extra space.
9099 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
9100 with the extra space.
9101
f8aa0f43 91022008-08-17 Carles Pina i Estany <carles@pina.cat>
9103
9807deb9 9104 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 9105
605f5bb6 91062008-08-17 Felix Zielcke <fzielcke@z-51.de>
9107
9108 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
9109 mdate-sh to the list `find' searches for.
9110 * DISTLIST: Regenerated.
9111
210db6c6 91122008-08-16 Felix Zielcke <fzielcke@z-51.de>
9113
9114 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
9115 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 9116 genmoddep.awk, gensymlist.sh.in.
9117 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 9118 * DISTLIST: Regenerated.
48cdbfd4 9119 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 9120
1082b929 91212008-08-16 Robert Millan <rmh@aybabtu.com>
9122
9123 * disk/raid.c (grub_raid_init): Handle/report errors set by
9124 grub_device_iterate().
9125 * disk/lvm.c (grub_lvm_init): Likewise.
9126
42ce5170 91272008-08-15 Bean <bean123ch@gmail.com>
9128
9129 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9130 and datehook.mod.
9131 (datetime_mod_SOURCES): New macro.
9132 (datetime_mod_CFLAGS): Likewise.
9133 (datetime_mod_LDFLAGS): Likewise.
9134 (date_mod_SOURCES): Likewise.
9135 (date_mod_CFLAGS): Likewise.
9136 (date_mod_LDFLAGS): Likewise.
9137 (datehook_mod_SOURCES): Likewise.
9138 (datehook_mod_CFLAGS): Likewise.
9139 (datehook_mod_LDFLAGS): Likewise.
9140
9141 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9142 and datehook.mod.
9143 (datetime_mod_SOURCES): New macro.
9144 (datetime_mod_CFLAGS): Likewise.
9145 (datetime_mod_LDFLAGS): Likewise.
9146 (date_mod_SOURCES): Likewise.
9147 (date_mod_CFLAGS): Likewise.
9148 (date_mod_LDFLAGS): Likewise.
9149 (datehook_mod_SOURCES): Likewise.
9150 (datehook_mod_CFLAGS): Likewise.
9151 (datehook_mod_LDFLAGS): Likewise.
9152
9153 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9154 and datehook.mod.
9155 (datetime_mod_SOURCES): New macro.
9156 (datetime_mod_CFLAGS): Likewise.
9157 (datetime_mod_LDFLAGS): Likewise.
9158 (date_mod_SOURCES): Likewise.
9159 (date_mod_CFLAGS): Likewise.
9160 (date_mod_LDFLAGS): Likewise.
9161 (datehook_mod_SOURCES): Likewise.
9162 (datehook_mod_CFLAGS): Likewise.
9163 (datehook_mod_LDFLAGS): Likewise.
9164
9165 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9166 and datehook.mod.
9167 (datetime_mod_SOURCES): New macro.
9168 (datetime_mod_CFLAGS): Likewise.
9169 (datetime_mod_LDFLAGS): Likewise.
9170 (date_mod_SOURCES): Likewise.
9171 (date_mod_CFLAGS): Likewise.
9172 (date_mod_LDFLAGS): Likewise.
9173 (datehook_mod_SOURCES): Likewise.
9174 (datehook_mod_CFLAGS): Likewise.
9175 (datehook_mod_LDFLAGS): Likewise.
9176
9177 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9178 and datehook.mod.
9179 (datetime_mod_SOURCES): New macro.
9180 (datetime_mod_CFLAGS): Likewise.
9181 (datetime_mod_LDFLAGS): Likewise.
9182 (date_mod_SOURCES): Likewise.
9183 (date_mod_CFLAGS): Likewise.
9184 (date_mod_LDFLAGS): Likewise.
9185 (datehook_mod_SOURCES): Likewise.
9186 (datehook_mod_CFLAGS): Likewise.
9187 (datehook_mod_LDFLAGS): Likewise.
9188
9189 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
9190
9191 * commands/date.c: New file.
9192
9193 * hook/datehook.c: Likewise.
9194
9195 * include/grub/lib/datetime.h: Likewise.
9196
9197 * include/grub/i386/cmos.h: Likewise.
9198
9199 * lib/datetime.c: Likewise.
9200
9201 * lib/i386/datetime.c: Likewise.
9202
9203 * lib/efi/datetime.c: Likewise.
9204
0e9242da 92052008-08-14 Robert Millan <rmh@aybabtu.com>
9206
9207 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
9208 (grub_mkelfimage_SOURCES): New variable.
9209 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
9210
9211 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
9212 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
9213 * conf/powerpc-ieee1275.rmk: Likewise.
9214 * conf/i386-ieee1275.rmk: Likewise.
9215
9216 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
9217 * kern/i386/coreboot/init.c: Likewise.
9218
9219 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
9220 with `<grub/cpu/kernel.h>'.
9221 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
9222 to ...
9223 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
9224 * kern/i386/coreboot/startup.S: Likewise.
9225
9226 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
9227 (GRUB_MOD_GAP): Remove.
9228 * include/grub/powerpc/kernel.h: New file.
9229 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
9230 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
9231 * include/grub/i386/kernel.h: New file.
9232 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
9233 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
9234 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
9235
9236 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
9237 `grub-mkelfimage'.
9238 Use --directory when invoking grub_mkimage.
9239
9240 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
9241 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
9242 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
9243 and GRUB_KERNEL_CPU_PREFIX.
9244
b86408f8 92452008-08-14 Felix Zielcke <fzielcke@z-51.de>
9246
d5e619ca 9247 * include/grub/err.h (grub_err_printf): New function prototype.
9248 * util/misc.c (grub_err_printf): New function.
9249 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
9250 grub_printf.
9251 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 9252
7161f0e0 92532008-08-13 Robert Millan <rmh@aybabtu.com>
9254
9255 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
9256
a1967522 92572008-08-13 Robert Millan <rmh@aybabtu.com>
9258
9259 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
9260 boot entry.
9261
371458b5 92622008-08-12 Robert Millan <rmh@aybabtu.com>
9263
9264 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
9265 of the relocation code from here ...
9266 (grub_multiboot): ... to here.
9267 (forward_relocator, backward_relocator): Move from here ...
9268 * kern/i386/loader.S (grub_multiboot_forward_relocator)
9269 (grub_multiboot_backward_relocator): ... to here.
9270 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
9271 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
9272 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
9273 (grub_multiboot_forward_relocator_end)
9274 (grub_multiboot_backward_relocator)
9275 (grub_multiboot_backward_relocator_end): New variables.
9276
05f9452b 92772008-08-12 Bean <bean123ch@gmail.com>
9278
9279 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
9280
20024ab0 92812008-08-11 Robert Millan <rmh@aybabtu.com>
9282
9283 * kern/i386/linuxbios/startup.S: Move from here ...
9284 * kern/i386/coreboot/startup.S: ... to here.
9285
9286 * kern/i386/linuxbios/init.c: Move from here ...
9287 * kern/i386/coreboot/init.c: ... to here.
9288
9289 * kern/i386/linuxbios/table.c: Move from here ...
9290 * kern/i386/coreboot/mmap.c: ... to here.
9291
9292 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
9293
e352e9cd 92942008-08-11 Robert Millan <rmh@aybabtu.com>
9295
9296 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
9297 errors. Leave it to the upper layer to handle them.
9298
2d05bc6a 92992008-08-09 Christian Franke <franke@computer.org>
9300
9301 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
9302 * conf/common.rmk: Install `grub-pe2elf' only if requested.
9303 Install `grub.d/10_windows' only on Cygwin.
9304 * configure.ac: Add subst of `target_os'.
9305 Check `target_os' also before setting TARGET_OBJ2ELF.
9306 Add `--enable-grub-pe2elf'.
9307
042bd419 93082008-08-08 Robert Millan <rmh@aybabtu.com>
9309
9310 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9311 (grub_last_time): Change type to grub_uint64_t.
9312 (grub_disk_open): Migrate code from to using grub_get_time_ms().
9313 (grub_disk_close): Likewise.
9314
9315 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9316 (run_menu): Migrate code from to using grub_get_time_ms().
9317
9318 * util/misc.c (grub_get_time_ms): New function.
9319
7f280db5 93202008-08-08 Marco Gerards <marco@gnu.org>
9321
9322 * disk/ata.c (grub_ata_regget): Change return type to
9323 `grub_uint8_t'.
9324 (grub_ata_regget2): Likewise.
9325 (grub_ata_wait_status): New function.
9326 (grub_ata_wait_busy): Removed function, updated all users to use
9327 `grub_ata_wait_status'.
9328 (grub_ata_wait_drq): Likewise.
9329 (grub_ata_cmd): New function.
9330 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
9331 error handling.
9332 (grub_ata_pio_write): Add error handling.
9333 (grub_atapi_identify): Likewise.
9334 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
9335 handling.
9336 (grub_ata_identify): Use `grub_ata_cmd' and improve error
9337 handling. Actually use the detected registers. Reorder the
9338 detection logic such that it is easier to read.
9339 (grub_ata_pciinit): Do not assign the same ID to each controller.
9340 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
9341 handling.
9342 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
9343
9344 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
9345
1fbc5e66 93462008-08-08 Marco Gerards <marco@gnu.org>
9347
9348 * NEWS: Update.
9349
819ce6c0 93502008-08-07 Bean <bean123ch@gmail.com>
9351
9352 * include/grub/x86_64/pci.h: New file.
9353
5c41d44d 93542008-08-07 Christian Franke <franke@computer.org>
9355
9356 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
9357 (TIMER2_GATE): Likewise.
9358 (grub_pit_wait): Add enable/disable of the timer2 gate
9359 bit of port 0x61. This fixes a possible infinite loop.
9360
5ebc275d 93612008-08-07 Bean <bean123ch@gmail.com>
9362
9363 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
9364 kern/i386/tsc.c and kern/i386/pit.c.
9365
9366 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
9367 x86_64 platform.
9368
9369 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
9370 <grub/i386/tsc.h>.
9371
9372 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
9373
e383b3d0 93742008-08-07 Bean <bean123ch@gmail.com>
9375
9376 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
9377
9378 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
9379
9380 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
9381 multiple inclusion. Add #include <grub/types.h>.
9382
1cbb58ac 93832008-08-06 Christian Franke <franke@computer.org>
9384
9385 * conf/common.rmk: Build and install `10_windows'.
9386 * util/grub.d/10_windows.in: New script.
9387
337f5a1e 93882008-08-06 Pavel Roskin <proski@gnu.org>
9389
9390 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
9391
057bc4ac 93922008-08-06 Robert Millan <rmh@aybabtu.com>
9393
9394 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
9395 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
9396
2b99f123 93972008-08-06 Bean <bean123ch@gmail.com>
9398
9399 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
9400 (grub_pxefs_fs_int): Remove dummy definition.
9401 (grub_pxefs_open): Use data->block_size to store the current block
9402 size setting.
9403 (grub_pxefs_read): Use block size stored in data->block_size. As the
9404 value of grub_pxe_blksize can be changed after the file is opened.
9405
9f0234cb 94062008-08-06 Bean <bean123ch@gmail.com>
9407
9408 * fs/i386/pc/pxe.c (curr_file): new variable.
9409 (grub_pxefs_open): Simply the handling of pxe file system. Don't
9410 require the dummy internal file system anymore.
9411 (grub_pxefs_read): Removed.
9412 (grub_pxefs_close): Likewise.
9413 (grub_pxefs_fs_int): Likewise.
9414 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
9415 connection when we switch file.
9416 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
9417
a55d42e0 94182008-08-06 Robert Millan <rmh@aybabtu.com>
9419
9420 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
9421 `halt.mod'.
9422 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
9423 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
9424
9425 * kern/i386/halt.c: New file.
9426 * kern/i386/reboot.c: Likewise.
9427 * include/grub/i386/reboot.h: Likewise.
9428 * include/grub/i386/halt.h: Likewise.
9429
9430 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
9431 Include `<grub/cpu/halt.h>'.
9432 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
9433 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
9434
9435 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
9436 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
9437 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
9438 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
9439 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
9440 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
9441 from here ...
9442 * include/grub/i386/at_keyboard.h: ... to here.
9443
24371d26 94442008-08-05 Robert Millan <rmh@aybabtu.com>
9445
9446 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
9447 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
9448 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
9449 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9450 `kern/generic/millisleep.c'.
9451
9452 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
9453 instead of grub_get_rtc().
9454 (grub_tsc_init): Initialize `tsc_boot_time'.
9455
9456 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
9457 (grub_machine_init): Use grub_tsc_init() rather than
9458 installing an RTC-based handler via grub_install_get_time_ms().
9459
9460 * kern/i386/pit.c: New file.
9461 * include/grub/i386/pit.h: Likewise.
9462
9e7007b3 94632008-08-05 Bean <bean123ch@gmail.com>
9464
9465 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
9466
9467 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
9468 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
9469 (pxe_mod_SOURCES): New macro.
9470 (pxe_mod_CFLAGS): Likewise.
9471 (pxe_mod_LDFLAGS): Likewise.
9472 (pxecmd_mod_SOURCES): Likewise.
9473 (pxecmd_mod_CFLAGS): Likewise.
9474 (pxecmd_mod_LDFLAGS): Likewise.
9475
9476 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
9477 (grub_pxe_call): Likewise.
9478
9479 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
9480
9481 * commands/i386/pc/pxecmd.c: New file.
9482
9f0234cb 9483 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 9484
9485 * include/grub/i386/pc/pxe.h: Likewise.
9486
6977d49f 94872008-08-05 Bean <bean123ch@gmail.com>
9488
9489 * util/console.c (grub_console_cur_color): New variable.
9490 (grub_console_standard_color): Likewise.
9491 (grub_console_normal_color): Likewise.
9492 (grub_console_highlight_color): Likewise.
9493 (color_map): Likewise.
9494 (use_color): Likewise.
9495 (NUM_COLORS): New macro.
9496 (grub_ncurses_setcolorstate): Handle color properly.
9497 (grub_ncurses_setcolor): Don't change color here, just remember the
9498 settings, color will be set in grub_ncurses_setcolorstate.
9499 (grub_ncurses_getcolor): New function.
9500 (grub_ncurses_init): Initialize color pairs.
9501 (grub_ncurses_term): New member grub_ncurses_getcolor.
9502
9c2ff3ee 95032008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 9504
9c2ff3ee 9505 High resolution timer support. Implemented for x86 CPUs using TSC.
9506 Extracted generic grub_millisleep() so it's linked in only as needed.
9507 This requires a Pentium compatible CPU; if the RDTSC instruction is
9508 not supported, then it falls back on the generic grub_get_time_ms()
9509 implementation that uses the machine's RTC.
9510
9511 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
9512 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9513 `kern/generic/millisleep.c'.
9514
9515 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
9516 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
9517
9518 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
9519 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
9520
9521 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9522
9523 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9524 `kern/generic/millisleep.c'.
9525
9526 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9527
9528 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
9529
9530 * kern/generic/rtc_get_time_ms.c: New file.
9531
9532 * kern/generic/millisleep.c: New file.
337f5a1e 9533
9c2ff3ee 9534 * kern/misc.c: Don't include
9535 <kern/time.h> anymore.
9536 (grub_millisleep_generic): Removed.
9537
9538 * commands/sleep.c (grub_interruptible_millisleep): Uses
9539 grub_get_time_ms() instead of grub_get_rtc().
9540
9541 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
9542 function.
9543 (grub_cpu_is_cpuid_supported): New inline function.
9544 (grub_cpu_is_tsc_supported): New inline function.
9545 (grub_tsc_init): New function prototype.
9546 (grub_tsc_get_time_ms): New function prototype.
9547
9548 * kern/i386/tsc.c (grub_get_time_ms): New file.
9549
9550 * include/grub/time.h: Include <grub/types.h.
9551 (grub_millisleep_generic): Removed.
9552 (grub_get_time_ms): New prototype.
9553 (grub_install_get_time_ms): New prototype.
9554 (grub_rtc_get_time_ms): New prototype.
9555
9556 * kern/time.c (grub_get_time_ms): New function.
9557 (grub_install_get_time_ms): New function.
9558
9559 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
9560 <grub/time.h> anymore.
9561 (grub_millisleep): Removed.
9562 (grub_machine_init): Call grub_tsc_init.
9563
9564 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
9565 get_time_ms() implementation.
9566
9567 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
9568 (ieee1275_get_time_ms): New function.
9569 (grub_machine_init): Install get_time_ms() implementation.
9570
9571 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
9572 (grub_machine_init): Call grub_tsc_init().
9573 (grub_millisleep): Removed.
bf06a93f 9574
9c2ff3ee 9575 * kern/ieee1275/init.c (grub_millisleep): Removed.
9576 (grub_machine_init): Install ieee1275_get_time_ms()
9577 implementation.
9578 (ieee1275_get_time_ms): New function.
9579 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
9580 real work.
9581
9ec92aaf 95822008-08-05 Marco Gerards <marco@gnu.org>
9583
9584 * disk/ata.c: Include <grub/pci.h>.
9585 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
9586 (grub_ata_initialize): Rewritten.
9587 (grub_ata_device_initialize): New function.
9588
8d23f507 95892008-08-04 Pavel Roskin <proski@gnu.org>
9590
9591 * kern/main.c: Include grub/mm.h.
9592
5e15ee3d 95932008-08-04 Robert Millan <rmh@aybabtu.com>
9594
9595 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
9596 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
9597 corruption problem).
9598
a9053f8f 95992008-08-04 Robert Millan <rmh@aybabtu.com>
9600
9601 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
9602 warnings introduced in my last commit.
9603
dd19c7d7 96042008-08-03 Robert Millan <rmh@aybabtu.com>
9605
9606 Make PCI available on all i386 architectures.
9607
9608 * include/grub/i386/pc/pci.h: Move from here ...
9609 * include/grub/i386/pci.h: ... to here.
9610
9611 * include/grub/i386/pc/pci.h: Remove.
9612 * include/grub/i386/efi/pci.h: Remove.
9613 * include/grub/x86_64/efi/pci.h: Remove.
9614
9615 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
9616 `<grub/cpu/pci.h>'.
9617
9618 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
9619 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
9620 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
9621
9622 * conf/i386-ieee1275.rmk: Likewise.
9623
e14a6184 96242008-08-03 Robert Millan <rmh@aybabtu.com>
9625
9626 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
9627 (grub_console_setcursor): Make it possible to set cursor off.
9628
52768e37 96292008-08-03 Robert Millan <rmh@aybabtu.com>
9630
9631 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
9632 of modules instead of assuming which platform provides what.
9633 * util/update-grub.in: Likewise.
9634
2d52f57f 96352008-08-03 Robert Millan <rmh@aybabtu.com>
9636
9637 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
9638 instead of `grub_install_dos_part' to determine whether a drive needs
9639 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 9640 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 9641
2a5cd121 96422008-08-02 Robert Millan <rmh@aybabtu.com>
9643
9644 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
9645
93808428 96462008-08-02 Robert Millan <rmh@aybabtu.com>
9647
9648 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
9649 of informational grub_dprintf() calls.
9650
3bd0a12a 96512008-08-02 Robert Millan <rmh@aybabtu.com>
9652
9653 * disk/memdisk.c (memdisk_size): Don't initialize.
9654 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
9655
9656 * include/grub/i386/pc/kernel.h
9657 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
9658 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
9659 (grub_memdisk_image_size, grub_arch_memdisk_addr)
9660 (grub_arch_memdisk_size): Remove.
9661
9662 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
9663 field (was only used to transfer a constant). Add `type' field to
9664 support multiple module types.
9665 (grub_module_iterate): New function.
9666
9667 * kern/device.c (grub_device_open): Do not hide error messages
9668 when grub_disk_open() fails. Use grub_print_error() instead.
9669
9670 * kern/i386/pc/init.c (grub_arch_modules_addr)
9671 (grub_arch_memdisk_size): Remove functions.
9672 (grub_arch_modules_addr): Return the module address in high memory
9673 (now that it isn't copied anymore).
9674
9675 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
9676 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
9677 decompression routine (grub_total_module_size already includes that
9678 now). Don't copy modules back to low memory.
9679
9680 * kern/main.c: Include `<grub/mm.h>'.
9681 (grub_load_modules): Split out (and use) ...
9682 (grub_module_iterate): ... this function, which iterates through
9683 module objects and runs a hook.
9684 Comment out grub_mm_init_region() call, as it would cause non-ELF
9685 modules to be overwritten.
9686
9687 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
9688 the memdisk image in its own region, make it part of the module list.
9689 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
9690 (main): Parse --memdisk|-m option, and pass user-provided path as
9691 parameter to generate_image().
9692 (add_segments): Pass `memdisk_path' down to load_modules().
9693 (load_modules): Embed memdisk image in module section when requested.
9694 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
9695 `header.type' instead of `header.offset'.
9696
9697 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
9698 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
9699 (memdisk_mod_LDFLAGS): New variables.
9700 * conf/i386-coreboot.rmk: Likewise.
9701 * conf/i386-ieee1275.rmk: Likewise.
9702
a927cc73 97032008-08-02 Robert Millan <rmh@aybabtu.com>
9704
9705 * loader/i386/pc/multiboot.c (playground, forward_relocator)
9706 (backward_relocator): New variables. Used to allocate and relocate
9707 the payload, respectively.
9708 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 9709 address, install the appropriate relocator code in each bound of
a927cc73 9710 the payload, and set the entry point such that
9711 grub_multiboot_real_boot() will jump to one of them.
9712
9713 * kern/i386/loader.S (grub_multiboot_payload_size)
9714 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9715 (grub_multiboot_payload_entry_offset): New variables.
9716 (grub_multiboot_real_boot): Set cpu context to what the relocator
9717 expects, and jump to the relocator instead of the payload.
9718
9719 * include/grub/i386/loader.h (grub_multiboot_payload_size)
9720 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9721 (grub_multiboot_payload_entry_offset): Export.
9722
b15d8a0c 97232008-08-01 Bean <bean123ch@gmail.com>
9724
9725 * normal/menu_entry.c (editor_getline): Don't return the original
9726 string as result, as it will be released by lexer once it has done
9727 using it.
9728
cdfb3d22 97292008-08-01 Robert Millan <rmh@aybabtu.com>
9730
9731 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
9732 within menuentries, not before them.
9733 util/grub.d/10_hurd.in: Likewise.
9734
9175e93d 97352008-08-01 Bean <bean123ch@gmail.com>
9736
9737 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
9738 (bufio_mod_SOURCES): New macro.
9739 (bufio_mod_CFLAGS): Likewise.
9740 (bufio_mod_LDFLAGS): Likewise.
9741
9742 * include/grub/bufio.h: New file.
9743
9744 * io/bufio.c: Likewise.
9745
9746 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
9747 (grub_video_reader_png): Use grub_buffile_open to open file.
9748
9749 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
9750 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
9751
9752 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
9753 (grub_video_reader_tga): Use grub_buffile_open to open file.
9754
9755 * font/manager.c: Include <grub/bufio.h>.
9756 (add_font): Use grub_buffile_open to open file.
9757
3d8383e7 97582008-07-31 Robert Millan <rmh@aybabtu.com>
9759
9760 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
9761 ELF segments, use a macro for arbitrarily accessing any of them instead
9762 of preparing a pointer that allows access to one at a time.
9763 (grub_multiboot_load_elf64): Likewise.
9764
16e641b6 97652008-07-31 Bean <bean123ch@gmail.com>
9766
9767 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
9768 GRUB_KERNEL_MACHINE_DATA_END.
9769
59198b72 97702008-07-30 Robert Millan <rmh@aybabtu.com>
9771
9772 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
9773 Increase from 0x50 to 0x60.
9774 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
9775 use UUIDs to identify the root drive for them. If that's not
9776 possible, abort.
9777 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
9778 check, for cross-disk installs.
9779
ae88bca3 97802008-07-30 Robert Millan <rmh@aybabtu.com>
9781
9782 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
9783 is non-empty, use it to set the `prefix' environment variable instead
9784 of the usual approach.
9785 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
9786 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
9787 environment variable instead of dummy make_install_device().
9788
9789 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
9790 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 9791 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 9792
9793 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
9794 New variable reference.
9795 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
9796 New macro. Defines offset of `grub_prefix' within startup.S (relative
9797 to `start').
9798 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
9799 section within startup.S (relative to `start').
9800 * include/grub/i386/coreboot/kernel.h: Likewise.
9801
9802 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
9803 Overwrite grub_prefix with its contents, at the beginning of the
9804 first segment.
9805 (main): Understand -p|--prefix.
9806
14f41dd1 98072008-07-30 Robert Millan <rmh@aybabtu.com>
9808
9809 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
9810
4ca049a3 98112008-07-30 Robert Millan <rmh@aybabtu.com>
9812
9813 * term/i386/pc/vga_text.c (grub_console_cls): Use
9814 grub_console_gotoxy() to go back to beginning of the screen.
9815 Found by Patrick Georgi <patrick.georgi@coresystems.de>
9816
2921d337 98172008-07-29 Christian Franke <franke@computer.org>
9818
9819 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
9820 Add conversion of emulated mount points on Cygwin.
9821
b609876d 98222008-07-29 Christian Franke <franke@computer.org>
9823
9824 * util/update-grub.in: Add a check for admin
9825 group on Cygwin.
9826 Remove old `grub.cfg.new' before creation.
9827 Add `-f' to `mv' to handle the different filesystem
9828 semantics of Windows.
9829
e93e4679 98302008-07-29 Bean <bean123ch@gmail.com>
9831
9832 * normal/main.c (get_line): Fix buffer overflow bug.
9833
41694fd0 98342008-07-28 Robert Millan <rmh@aybabtu.com>
9835
9836 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
9837 (struct grub_apple_header): New struct. Describes the layout of
9838 the partmap header.
9839 (apple_partition_map_iterate): Check the header magic as well as the
9840 partition magic (which was already being checked).
9841
cfd0b4e6 98422008-07-28 Pavel Roskin <proski@gnu.org>
9843
9844 * genmk.rb: Add a warning to the beginning of the output that
9845 it's a generated file and should not be edited.
9846
93cce016 98472008-07-28 Robert Millan <rmh@aybabtu.com>
9848
9849 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9850 with the same number are found, just use issue a warning with
9851 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 9852
cd1df915 98532008-07-27 Robert Millan <rmh@aybabtu.com>
9854
9855 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
9856 information.
9857
b70a8427 98582008-07-27 Bean <bean123ch@gmail.com>
9859
9860 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
9861 (grub_fat_find_dir): Ignore case when comparing filename.
9862
8f5e379f 98632008-07-27 Bean <bean123ch@gmail.com>
9864
9865 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
9866 smallino, as it's more descriptive, and i8count can be confused with
9867 the other field count.
9868 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
9869 inode type.
9870
a85cd5a0 98712008-07-27 Bean <bean123ch@gmail.com>
9872
9873 * commands/crc.c: New file.
9874
9875 * lib/crc.c: Likewise.
9876
9877 * include/grub/lib/crc.h: Likewise.
9878
9879 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
9880
9881 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
9882 (hexdump): Move this function to ...
9883
9884 * lib/hexdump.c: ... here.
9885
9886 * include/grub/hexdump.h: Renamed to ...
9887
9888 * include/grub/lib/hexdump.h: ... this.
9889
9890 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
9891
9892 * util/grub-editenv.c: Likewise.
9893
9894 * include/envblk.h: Renamed to ...
9895
9896 * include/lib/envblk.h: ... this.
9897
9898 * util/envblk.c: Renamed to ...
9899
9900 * lib/envblk.c: ... this.
9901
9902 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
9903 lib/hexdump.c.
9904 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
9905 (pkglib_MODULES): Add crc.mod.
9906 (hexdump_mod_SOURCES): Add lib/hexdump.c.
9907 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
9908 (crc_mod_SOURCES): New macro.
9909 (crc_mod_CFLAGS): Likewise.
9910 (crc_mod_LDFLAGS): Likewise.
9911
9912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
9913
9914 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9915
9916 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9917
9918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9919
9920 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9921
c298def0 99222008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 9923
9924 * commands/help.c: Include <grub/term.h>.
9925 (TERM_WIDTH): Removed. Updated all users.
9926
cc349fb3 99272008-07-27 Pavel Roskin <proski@gnu.org>
9928
9929 * util/getroot.c (find_root_device): Rephrase a comment to avoid
9930 spurious warnings about a comment within a comment.
9931
9051607e 99322008-07-25 Robert Millan <rmh@aybabtu.com>
9933
9934 * util/getroot.c (find_root_device): Skip devices that match
9935 /dev/dm-[0-9]. This lets the real device be found for any type of
9936 abstraction (LVM, EVMS, RAID..).
9937 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
9938 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
9939 device is found first, find_root_device() will now skip it.
9940
01453bfc 99412008-07-24 Pavel Roskin <proski@gnu.org>
9942
9943 * include/grub/types.h: Use __builtin_bswap32() and
9944 __builtin_bswap64() with gcc 4.3 and newer.
9945
6af9849f 99462008-07-24 Christian Franke <franke@computer.org>
9947
3a0fa256 9948 * util/i386/pc/grub-install.in: If `--debug' is specified,
9949 pass `--verbose' to grub-setup.
9950 Abort script if make_system_path_relative_to_its_root() fails.
9951
7810e747 99522008-07-24 Bean <bean123ch@gmail.com>
9953
9954 * configure.ac: Fixed a bug caused by the previous cygwin patch,
9955 variable `target_platform' should be `platform'.
9956
42290e17 99572008-07-24 Bean <bean123ch@gmail.com>
9958
51cc5193 9959 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 9960 (grub_png_init_fixed_block): New function.
9961 (grub_png_decode_image_data): Handle fixed huffman code compression.
9962
2a8a80e4 99632008-07-24 Bean <bean123ch@gmail.com>
9964
9965 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
9966 (grub_pe2elf_SOURCES): New macro.
9967 (CLEANFILES): Add grub-pe2elf.
9968
9969 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
9970 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
9971 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
9972 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
9973 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
9974 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
9975 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
9976 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
9977 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
9978 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
9979 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
9980 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
9981 (GRUB_PE32_DT_FUNCTION): Likewise.
9982 (GRUB_PE32_REL_I386_DIR32): Likewise.
9983 (GRUB_PE32_REL_I386_REL32): Likewise.
9984 (grub_pe32_symbol): New structure.
9985 (grub_pe32_reloc): Likewise.
9986
9987 * util/grub-pe2elf.c: New file.
9988
9989 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
9990 start symbol in non pc platform.
9991
9992 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
9993
9994 The following patches are from Christian Franke.
9995
9996 * include/grub/dl.h: Remove .previous, gas supports this only
9997 for ELF format.
9998
9999 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
10000 Remove .type, gas supports this only for ELF format.
10001
10002 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
10003 nullbytes in symbol table. This fixes an infinite loop if table is
10004 zero filled.
10005
10006 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
10007 TARGET_IMG_LDFLAGS and EXEEXT.
10008
10009 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
10010 TARGET_IMG_LDFLAGS_AC.
10011 (grub_CHECK_STACK_ARG_PROBE): New function.
10012
10013 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
10014
10015 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
10016
10017 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
10018 to set TARGET_IMG_LD* accordingly.
10019 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
10020 Add call to grub_CHECK_STACK_ARG_PROBE.
10021 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
10022
10023 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
10024
10025 * genmk.rb: Add EXEEXT to CLEANFILES.
10026
12ccdb75 100272008-07-23 Robert Millan <rmh@aybabtu.com>
10028
10029 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
10030 define the codes for arrows and lines used for the menu).
10031 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
10032 as well.
10033
10034 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
10035 fonts, because the latter are too slow.
10036
18eeaf04 100372008-07-21 Bean <bean123ch@gmail.com>
10038
10039 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
10040 a20. Run keyboard test last, as it will cause macbook to halt.
10041
b095e2ad 100422008-07-18 Pavel Roskin <proski@gnu.org>
10043
10044 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
10045 load foreign architecture modules correctly anyway. Keep
10046 support for loading host architecture modules, whether we
10047 compile them or not.
10048
737feb35 100492008-07-17 Pavel Roskin <proski@gnu.org>
10050
3f4ce737 10051 * configure.ac: Use -m32 or -m64 regardless of whether we had to
10052 change target_cpu. The compiler default can mismatch target_cpu
10053 in any case.
10054
4ad2d049 10055 * disk/efi/efidisk.c: Fix format warnings on x86_64.
10056 * kern/efi/efi.c: Likewise.
10057
f6130a12 10058 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
10059 target compiler is functional.
10060 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
10061 are set up.
10062
58393a2d 10063 * configure.ac: Default to efi platform for x86_64-apple. Allow
10064 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
10065 adjustments from the rest, only do them if target is not
10066 explicitly given. Merge other adjustments with the final sanity
10067 check. Remove an extraneous check for supported CPU. Be
10068 specific which CPU and which platform is not supported.
10069
737feb35 10070 * configure.ac: Default to pc platform for x86_64.
10071
546f966a 100722008-07-17 Robert Millan <rmh@aybabtu.com>
10073
10074 Partial LinuxBIOS -> Coreboot rename.
10075
10076 * conf/i386-linuxbios.rmk: Renamed to ...
10077 * conf/i386-coreboot.rmk: ... this.
10078 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
10079 * configure.ac: Accept "coreboot" as input platform (but maintain
10080 compatibility with "linuxbios").
10081 * include/grub/i386/linuxbios: Renamed to ...
10082 * include/grub/i386/coreboot: ... this.
10083
20011694 100842008-07-17 Bean <bean123ch@gmail.com>
10085
10086 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 10087 (appleldr_mod_SOURCE): New variable.
20011694 10088 (appleldr_mod_CFLAGS): Likewise.
10089 (appleldr_mod_LDFLAGS): Likewise.
10090 (pci_mod_SOURCES): Likewise.
10091 (pci_mod_CFLAGS): Likewise.
10092 (pci_mod_LDFLAGS): Likewise.
10093 (lspci_mod_SOURCES): Likewise.
10094 (lspci_mod_CFLAGS): Likewise.
10095 (lspci_mod_LDFLAGS): Likewise.
10096
10097 * conf/x86_64-efi.rmk: New file.
10098
10099 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
10100 macro.
10101 (grub_efidisk_write): Likewise.
10102
10103 * include/efi/api.h (efi_call_0): New macro.
10104 (efi_call_1): Likewise.
10105 (efi_call_2): Likewise.
10106 (efi_call_3): Likewise.
10107 (efi_call_4): Likewise.
10108 (efi_call_5): Likewise.
10109 (efi_call_6): Likewise.
10110
10111 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
10112 grub_rescue_cmd_chainloader.
10113
10114 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
10115 (grub_pe32_optional_header): Change some fields based on i386 or
10116 x86_64 platform.
10117 (GRUB_PE32_PE32_MAGIC): Likewise.
10118
10119 * include/grub/efi/uga_draw.h: New file.
10120
10121 * include/grub/elf.h (STN_ABS): New constant.
10122 (R_X86_64_NONE): Relocation constant for x86_64.
10123 (R_X86_64_64): Likewise.
10124 (R_X86_64_PC32): Likewise.
10125 (R_X86_64_GOT32): Likewise.
10126 (R_X86_64_PLT32): Likewise.
10127 (R_X86_64_COPY): Likewise.
10128 (R_X86_64_GLOB_DAT): Likewise.
10129 (R_X86_64_JUMP_SLOT): Likewise.
10130 (R_X86_64_RELATIVE): Likewise.
10131 (R_X86_64_GOTPCREL): Likewise.
10132 (R_X86_64_32): Likewise.
10133 (R_X86_64_32S): Likewise.
10134 (R_X86_64_16): Likewise.
10135 (R_X86_64_PC16): Likewise.
10136 (R_X86_64_8): Likewise.
10137 (R_X86_64_PC8): Likewise.
10138
10139 * include/grub/i386/efi/pci.h: New file.
10140
10141 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
10142 Change it value based on platform.
10143 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
10144 (GRUB_E820_RAM): Likewise.
10145 (GRUB_E820_RESERVED): Likewise.
10146 (GRUB_E820_ACPI): Likewise.
10147 (GRUB_E820_NVS): Likewise.
10148 (GRUB_E820_EXEC_CODE): Likewise.
10149 (GRUB_E820_MAX_ENTRY): Likewise.
10150 (grub_e820_mmap): New structure.
10151 (linux_kernel_header): Change the efi field according to different
10152 kernel version, also field from linux_kernel_header.
10153
10154 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
10155
10156 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
10157 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
10158 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
10159 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
10160 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
10161 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
10162 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
10163 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
10164 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
10165 (GRUB_PCI_ADDR_IO_MASK): Likewise.
10166
10167 * include/grub/x86_64/efi/kernel.h: New file.
10168
10169 * include/grub/x86_64/efi/loader.h: Likewise.
10170
10171 * include/grub/x86_64/efi/machine.h: Likewise.
10172
10173 * include/grub/x86_64/efi/pci.h: Likewise.
10174
10175 * include/grub/x86_64/efi/time.h: Likewise.
10176
10177 * include/grub/x86_64/linux.h: Likewise.
10178
10179 * include/grub/x86_64/setjmp.h: Likewise.
10180
10181 * include/grub/x86_64/time.h: Likewise.
10182
10183 * include/grub/x86_64/types.h: Likewise.
10184
10185 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
10186 GRUB_TARGET_SIZEOF_VOID_P.
10187
10188 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
10189 (grub_efi_locate_handle): Likewise.
10190 (grub_efi_open_protocol): Likewise.
10191 (grub_efi_set_text_mode): Likewise.
10192 (grub_efi_stall): Likewise.
10193 (grub_exit): Likewise.
10194 (grub_reboot): Likewise.
10195 (grub_halt): Likewise.
10196 (grub_efi_exit_boot_services): Likewise.
10197 (grub_get_rtc): Likewise.
10198
10199 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
10200 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
10201 (grub_efi_allocate_pages): Wrap efi calls.
10202 (grub_efi_free_pages): Wrap efi calls.
10203 (grub_efi_get_memory_map): Wrap efi calls.
10204
10205 * kern/x86_64/dl.c: New file.
10206
10207 * kern/x86_64/efi/callwrap.S: Likewise.
10208
10209 * kern/x86_64/efi/startup.S: Likewise.
10210
10211 * loader/efi/appleloader.c: Likewise.
10212
10213 * loader/efi/chainloader.c (cmdline): New variable.
10214 (grub_chainloader_unload): Wrap efi calls.
10215 (grub_chainloader_boot): Likewise.
10216 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
10217 command line.
10218
10219 * loader/efi/chainloader_normal.c (chainloader_command):
10220 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
10221 command line.
10222
10223 * loader/i386/efi/linux.c (allocate_pages): Change allocation
10224 method.
10225 (grub_e820_add_region): New function.
10226 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
10227 booting.
10228 (grub_find_video_card): New function.
10229 (grub_linux_setup_video): New function.
10230 (grub_rescue_cmd_linux): Probe for video information.
10231
10232 * normal/x86_64/setjmp.S: New file.
10233
10234 * term/efi/console.c (map_char): New function.
10235 (grub_console_putchar): Map unicode char.
10236 (grub_console_checkkey): Wrap efi calls.
10237 (grub_console_getkey): Likewise.
10238 (grub_console_getwh): Likewise.
10239 (grub_console_gotoxy): Likewise.
10240 (grub_console_cls): Likewise.
10241 (grub_console_setcolorstate): Likewise.
10242 (grub_console_setcursor): Likewise.
10243
10244 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
10245
59652a20 102462008-07-16 Pavel Roskin <proski@gnu.org>
10247
ef294055 10248 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
10249 format strings.
10250
59652a20 10251 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
10252 pointer, not an integer. This fixes a warning and prevents
10253 precision loss on 64-bit systems.
10254 (relocate_addresses): Remove unneeded cast.
10255
afc3b5d7 102562008-07-15 Pavel Roskin <proski@gnu.org>
10257
506b2b3e 10258 * kern/i386/ieee1275/init.c: Include grub/cache.h.
10259
62ead89c 10260 * term/ieee1275/ofconsole.c: Disable code unused on i386.
10261
c4cd51d7 10262 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
10263 Fix comparison between signed and unsigned.
10264
0d3d8f28 10265 * include/grub/i386/ieee1275/console.h: Declare
10266 grub_console_init() and grub_console_fini().
10267
8804b286 10268 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
10269 It's empty and unused.
10270
ee01cf35 10271 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
10272 beginning to avoid warnings with some compilers.
10273
afc3b5d7 10274 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
10275 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
10276
e4e8eaa5 102772008-07-14 Pavel Roskin <proski@gnu.org>
10278
407aceb4 10279 * kern/env.c (grub_register_variable_hook): Don't copy empty
10280 string, it leaks memory. Pass "" to grub_env_set(), it should
10281 handle constant strings.
10282
e4e8eaa5 10283 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
10284 * commands/cmp.c (grub_cmd_cmp): Likewise.
10285 * kern/dl.c (grub_dl_flush_cache): Likewise.
10286 (grub_dl_load_core): Likewise.
10287 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
10288 (grub_elf64_load_phdrs): Likewise.
10289
d4e2dad3 102902008-07-13 Pavel Roskin <proski@gnu.org>
10291
10292 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
10293 between signed and unsigned.
10294 (LzmaEnc_Finish): Fix warning about an unused parameter.
10295
aa24b516 102962008-07-13 Bean <bean123ch@gmail.com>
10297
10298 * Makefile.in (enable_lzo): New rule.
10299
10300 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
10301
10302 * configure.ac (ENABLE_LZO): New option --enable-lzo.
10303
10304 * boot/i386/pc/lnxboot.S: #include <config.h>.
10305
10306 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 10307 its value according to the compression algorithm used, lzo or lzma.
aa24b516 10308
10309 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
10310 compression algorithm according to configure macro.
10311
10312 * kern/i386/pc/startup.S (codestart): Likewise.
10313
10314 * kern/i386/pc/lzma_decode.S: New file.
10315
10316 * include/grub/lib/LzFind.h: Likewise.
10317
10318 * include/grub/lib/LzHash.h: Likewise.
10319
10320 * include/grub/lib/LzmaDec.h: Likewise.
10321
10322 * include/grub/lib/LzmaEnc.h: Likewise.
10323
10324 * include/grub/lib/LzmaTypes.h: Likewise.
10325
10326 * lib/LzFind.c: Likewise.
10327
10328 * lib/LzmaDec.c: Likewise.
10329
10330 * lib/LzmaEnc.c: Likewise.
10331
4ae821ac 103322008-07-13 Bean <bean123ch@gmail.com>
10333
10334 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
10335 (grub_ext4_extent_header): New structure.
10336 (grub_ext4_extent): Likewise.
10337 (grub_ext4_extent_idx): Likewise.
10338 (grub_ext4_find_leaf): New function.
10339 (grub_ext2_read_block): Handle extents.
10340
9a745147 103412008-07-12 Robert Millan <rmh@aybabtu.com>
10342
10343 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
10344
d49a4cf6 103452008-07-11 Robert Millan <rmh@aybabtu.com>
10346
10347 * util/grub.d/40_custom.in: New file. Example on how to add custom
10348 entries to /etc/grub.d.
10349 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
10350 40_custom (implicitly, by merging all the grub.d rules).
10351
947414b4 103522008-07-11 Pavel Roskin <proski@gnu.org>
10353
0059cf6f 10354 * commands/read.c (grub_getline): Fix invalid memory access.
10355 Don't add newline to the variable value.
10356
947414b4 10357 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
10358 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
10359 (serial_hw_get_port): Check validity of the port number.
10360 (grub_cmd_serial): Check return value of serial_hw_get_port().
10361
62a02d00 103622008-07-07 Pavel Roskin <proski@gnu.org>
10363
10364 * boot/i386/pc/diskboot.S (notification_string): Replace
10365 "Loading kernel" with just "loading". This is shorter, less
10366 confusing and saves a few bytes for possible future changes.
10367
3e5581b0 103682008-07-05 Pavel Roskin <proski@gnu.org>
10369
ea387a48 10370 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
10371 size for ATAPI devices, they are undefined. Output sector
10372 number in decimal form.
10373
3e5581b0 10374 * disk/ata.c: Use named constants for status bits.
10375
fdecb8fd 103762008-07-04 Pavel Roskin <proski@gnu.org>
10377
bcd35b90 10378 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
10379 grub_addr_t before casting it to the void pointer to fix a
10380 warning. Non-addressable regions are discarded earlier.
10381 (grub_arch_modules_addr): Cast _end to grub_addr_t.
10382 * kern/i386/linuxbios/table.c: Include grub/misc.h.
10383 (check_signature): Don't shadow table_header.
10384 (grub_linuxbios_table_iterate): Cast numeric constants to
10385 grub_linuxbios_table_header_t.
10386 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
10387 grub_stop().
10388
af58ab3d 10389 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
10390 prevent warnings.
10391
1759aa57 10392 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
10393 pointer, which can cause warnings. Support 64-bit addresses.
10394
fdecb8fd 10395 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
10396 of sizeof(long). This fixes PowerPC image generation on x86_64.
10397
8516d2a8 103982008-07-04 Robert Millan <rmh@aybabtu.com>
10399
10400 This fixes a performance issue when pc & gpt partmap iterators
10401 didn't abort iteration even after our hook found what it was
fe987087 10402 looking for (often causing expensive probes of non-existent drives).
8516d2a8 10403
10404 Some callers relied on previous buggy behaviour, since they would
34c44600 10405 raise an error when their own hooks caused early abortion of its
8516d2a8 10406 iteration.
10407
10408 * kern/device.c (grub_device_open): Improve error message.
10409 * disk/lvm.c (grub_lvm_open): Likewise.
10410 * disk/raid.c (grub_raid_open): Likewise.
10411
10412 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
10413 when hook requests it, independently of grub_errno.
10414 (pc_partition_map_probe): Do not fail when find_func() caused
10415 early abortion of pc_partition_map_iterate().
10416
10417 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
10418 when hook requests it, independently of grub_errno.
10419 (gpt_partition_map_probe): Do not fail when find_func() caused
10420 early abortion of gpt_partition_map_iterate().
10421
10422 * kern/partition.c (grub_partition_iterate): Abort parent iteration
10423 when hook requests it, independently of grub_errno. Do not fail when
10424 part_map_iterate_hook() caused early abortion of p->iterate().
10425
10426 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
10427 when grub_partition_iterate() returned with non-zero.
10428
277d0de9 104292008-07-03 Pavel Roskin <proski@gnu.org>
10430
10431 * disk/ata.c (grub_ata_pio_write): Check status before writing,
10432 like we do in grub_ata_pio_read().
10433 (grub_ata_readwrite): Always write individual sectors. Fix the
10434 sector count for the remainder.
10435 (grub_ata_write): Enable writing to ATA devices. Correctly
10436 report error for ATAPI devices.
10437
d4c9b428 104382008-07-02 Pavel Roskin <proski@gnu.org>
10439
e43fc690 10440 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
10441 warning.
10442
f707af42 10443 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
10444 for every read sector, we already increment it for the whole
10445 batch. This fixes reading more than 256 sectors at once.
10446
11e16b15 10447 * util/grub-editenv.c (cmd_info): Cast argument to long
10448 explicitly. ptrdiff_t reduces to int on i386.
10449
cbabfdd4 10450 * util/grub-editenv.c (main): Be specific which parameter is
10451 missing.
10452
b8fbce0a 10453 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
10454 (memdisk): Make memdisk_orig_addr a pointer.
10455
c9c8e606 10456 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
10457 for file offsets, use grub_off_t instead. Fix printf format
10458 warnings.
10459
ca62e598 10460 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
10461 there. Real unexpected warnings should not drown in the noise
10462 about known problems.
10463
ce8d1766 10464 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
10465 grub_disk_addr_t for memory addresses.
10466
00c7a56a 10467 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
10468 explicitly to fix a warning.
10469
08d3ef09 10470 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
10471
cb71ba20 10472 * Makefile.in (MODULE_LDFLAGS): New variable.
10473 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
10474 the linker accepts --build-id=none.
10475 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
10476 MODULE_LDFLAGS.
10477 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
10478
d4c9b428 10479 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
10480 those in Linux XFS code. Provide a way to access 64-bit parent
10481 inode.
10482 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
10483 the end of struct grub_xfs_dir_header.
10484
d4156eee 104852008-07-02 Bean <bean123ch@gmail.com>
10486
10487 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
10488 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10489 and GRUB_IEEE1275_FLAG_NO_ANSI.
10490
10491 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
10492 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10493 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
10494
10495 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
10496 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
10497
10498 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
10499 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
10500
10501 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
10502 esc sequence on non ANSI terminal.
10503 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
10504
10505 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
10506 beginning of file.
10507
2270f77b 105082008-07-02 Bean <bean123ch@gmail.com>
10509
10510 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
10511 (grub_editenv_SOURCES): New variable.
10512 (pkglib_MODULES): Add loadenv.mod.
10513 (loadenv_mod_SOURCES): New variable.
10514 (loadenv_mod_CFLAGS): Likewise.
10515 (loadenv_mod_LDFLAGS): Likewise.
10516
10517 * include/grub/envblk.h: New file.
10518
10519 * util/envblk.c: New file.
10520
10521 * util/grub-editenv.c: New file.
10522
10523 * commands/loadenv.c: New file.
10524
0e9e51ec 105252008-07-01 Pavel Roskin <proski@gnu.org>
10526
d89b7634 10527 * include/multiboot2.h (struct multiboot_tag_module): Use char,
10528 not unsigned char. This fixes warnings and is consistent with
10529 other tags.
10530
bf1835b1 10531 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
10532
8222a04b 10533 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
10534
6a42d99d 10535 * term/tparm.c (analyze): Always set *popcount.
10536
10b159d1 10537 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
10538 cast to fix a warning.
10539
b8789f6c 10540 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
10541 cast to suppress a warning.
10542
29d7e38a 10543 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
10544 grub_fshelp_read_file() expects.
10545
f341f669 10546 * fs/fat.c: Fix UUID calculation on big-endian systems. We
10547 write uuid as a 32-bit value in CPU byte order, so declare and
10548 use it as such.
10549
0e9e51ec 10550 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
10551 long if the format specifier expects it.
10552 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
10553 * partmap/pc.c (pc_partition_map_iterate): Likewise.
10554 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
10555 long to fix a warning.
10556 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
10557 grub_dprintf() arguments to fix warnings.
10558
3aefa857 105592008-06-30 Pavel Roskin <proski@gnu.org>
10560
56c7668b 10561 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
10562 install_bsd_part immediately before core.img is embedded or
10563 modified on disk. This fixes core.img verification if core.img
10564 cannot be embedded.
10565
3aefa857 10566 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
10567 core_path to calculate the blocklist.
10568 Patch from Javier Martín <lordhabbit@gmail.com>
10569
5444088d 105702008-06-29 Robert Millan <rmh@aybabtu.com>
10571
10572 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
10573 block to disk block.
10574 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
10575 Patch from Niels Böhm <bitbucket@arcor.de>
10576
674835c8 105772008-06-29 Robert Millan <rmh@aybabtu.com>
10578
10579 * util/update-grub_lib.in (font_path): Search for fonts in
10580 /boot/grub first, which is more likely to be readable (we aren't
10581 deciding where fonts live, just looking for them).
10582
f527dbc8 105832008-06-26 Pavel Roskin <proski@gnu.org>
10584
6c2d8df6 10585 * util/biosdisk.c (read_device_map): Don't leave dead map
10586 entries for devices failing stat() check.
10587
f527dbc8 10588 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
10589 core_path_dev for the core.img path on the target device.
10590
aebe3d13 105912008-06-26 Robert Millan <rmh@aybabtu.com>
10592
10593 * disk/fs_uuid.c: New file.
10594 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
10595 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
10596 (fs_uuid_mod_LDFLAGS): New variables.
10597 * include/grub/disk.h (grub_disk_dev_id): Add
10598 `GRUB_DISK_DEVICE_UUID_ID'.
10599 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
10600 implement iterate().
10601
37aaf354 106022008-06-26 Robert Millan <rmh@aybabtu.com>
10603
10604 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
10605 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
10606 Linux image includes no initrd.
10607
25ff262a 106082008-06-21 Javier Martín <lordhabbit@gmail.com>
10609
10610 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
10611 call to resolve the core image location that effectively appended the
10612 name twice.
10613
76a2bd44 106142008-06-21 Robert Millan <rmh@aybabtu.com>
10615
10616 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
10617 call from here ...
10618
10619 * util/grub.d/10_hurd.in: ... to here ...
10620 * util/grub.d/10_linux.in: ... and here.
10621
650e1c79 106222008-06-19 Robert Millan <rmh@aybabtu.com>
10623
fe987087 10624 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 10625 after it has been set by grub_machine_set_prefix().
10626
6ce63911 106272008-06-19 Robert Millan <rmh@aybabtu.com>
10628
10629 * commands/search.c (search_label, search_fs_uuid, search_file): Print
10630 search result when not saving to variable, not the other way around.
10631 When saving to variable, abort iteration as soon as a match is found.
10632
73940cec 106332008-06-19 Robert Millan <rmh@aybabtu.com>
10634
10635 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
10636 check for partition that provides /boot/grub. Its logic is flawed,
10637 as it prevents prepare_grub_to_access_device() from being called
10638 multiple times.
10639
3c62a39d 106402008-06-19 Robert Millan <rmh@aybabtu.com>
10641
10642 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
10643 "insmod" command directly when abstraction modules are needed,
fe987087 10644 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 10645 since it had already been processed).
10646
47395a42 106472008-06-19 Pavel Roskin <proski@gnu.org>
10648
10649 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
10650 changed. This is needed in case GRUB_LIBDIR changes.
10651 * conf/i386-ieee1275.rmk: Likewise.
10652 * conf/i386-linuxbios.rmk: Likewise.
10653 * conf/i386-pc.rmk: Likewise.
10654 * conf/powerpc-ieee1275.rmk: Likewise.
10655
a145ac2d 106562008-06-18 Pavel Roskin <proski@gnu.org>
10657
10658 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
10659 kernel_elf_symlist.c to symlist.c for consistency with other
10660 architectures. Update all users.
10661 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10662
7847c51e 106632008-06-18 Robert Millan <rmh@aybabtu.com>
10664
10665 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
10666 it in prefix.
10667
10668 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
10669 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
10670 a RAID device, run setup() for all members independently on whether
10671 LVM abstraction is being used.
10672 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
10673 If grub-mkimage has set `*install_dos_part == -2', don't override this
10674 value.
10675 Perform *install_dos_part adjustments independently on whether
10676 we're embedding or not.
10677 Clarify error message when image is too big for embedding.
10678 Remove duplicate *install_dos_part stanza.
10679
b23e5644 106802008-06-17 Robert Millan <rmh@aybabtu.com>
10681
10682 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
10683 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
10684 variables.
10685 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
10686 values in grub_ofconsole_normal_color and
10687 grub_ofconsole_highlight_color (they're not directly related to
10688 background and foreground).
10689 (grub_ofconsole_setcolorstate): Extract background and foreground
10690 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
10691
0aac2f79 106922008-06-17 Robert Millan <rmh@aybabtu.com>
10693
10694 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
10695 /boot/grub for the check in last commit, not /boot (they could be
10696 different partitions).
10697
3cca7ef3 106982008-06-16 Robert Millan <rmh@aybabtu.com>
10699
10700 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
10701 asked to setup access for the same partition that provides /boot,
10702 don't bother using UUIDs since our root already has the value we
10703 want.
10704
347396d8 107052008-06-16 Robert Millan <rmh@aybabtu.com>
10706
10707 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
10708 I2O devices.
10709 Patch from Sven Mueller <sven@debian.org>.
10710
991477f8 107112008-06-16 Robert Millan <rmh@aybabtu.com>
10712
10713 * util/update-grub.in: Check for $EUID instead of $UID.
10714 Reported by Vincent Zweije.
10715
d31a32a1 107162008-06-16 Bean <bean123ch@gmail.com>
10717
fe987087 10718 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 10719 (grub_ext2_read_block): Likewise.
10720 (grub_ext2_read_inode): Likewise.
10721 (grub_ext2_mount): Likewise.
10722 (grub_ext2_close): Likewise.
10723 (grub_ext3_get_journal): Removed.
10724
fe987087 10725 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 10726 (grub_reiserfs_read_symlink): Likewise.
10727 (grub_reiserfs_mount): Likewise.
10728 (grub_reiserfs_open): Likewise.
10729 (grub_reiserfs_read): Likewise.
10730 (grub_reiserfs_close): Likewise.
10731 (grub_reiserfs_get_journal): Removed.
10732
10733 * fs/fshelp.c (grub_fshelp_read): Removed.
10734 (grub_fshelp_map_block): Likewise.
10735
10736 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
10737 (grub_fshelp_journal): Likewise.
10738 (grub_fshelp_read): Likewise.
10739 (grub_fshelp_map_block): Likewise.
10740
3540a760 107412008-06-16 Pavel Roskin <proski@gnu.org>
10742
10743 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
10744 floating point anymore.
10745 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
10746
95614c84 107472008-06-15 Pavel Roskin <proski@gnu.org>
10748
10749 * commands/ls.c (grub_ls_list_files): Use integer calculations
10750 for human readable format, avoid floating point use.
10751 * kern/misc.c (grub_ftoa): Remove.
10752 (grub_vsprintf): Remove floating point support.
10753
50465dd6 107542008-06-15 Robert Millan <rmh@aybabtu.com>
10755
fe6b695a 10756 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 10757 devices.
10758 Reported by Max Vozeler.
10759
a9207284 107602008-06-15 Robert Millan <rmh@aybabtu.com>
10761
10762 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
10763 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
10764 skipped later.
10765 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
10766 the beginning of the prefix.
10767
10768 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
10769 It is assumed that if we have a memdisk, grub-mkimage has set
10770 grub_prefix to include the "(memdisk)" drive in it.
10771
a7cbd45a 107722008-06-15 Robert Millan <rmh@aybabtu.com>
10773
10774 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
10775 Initialize keyboard controller after registering the terminal, so that
10776 grub_printf() can be called from grub_keyboard_controller_init().
10777
21cf716a 107782008-06-15 Robert Millan <rmh@aybabtu.com>
10779
10780 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
10781 extent-btree which is written as big endian on disk.
10782 Reported by Alain Greppin <al@chilibi.org>.
10783
23a64d8e 107842008-06-14 Robert Millan <rmh@aybabtu.com>
10785
10786 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
10787 * util/i386/pc/grub-install.in (modules): Likewise.
10788
d687651c 107892008-06-13 Pavel Roskin <proski@gnu.org>
10790
10791 * commands/ls.c (grub_ls_list_files): Fix format warnings.
10792
dfe9ddd4 107932008-06-13 Bean <bean123ch@gmail.com>
10794
10795 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
10796
10797 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
10798
10799 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
10800 to indicate sparse block.
10801
16ae7781 108022008-06-12 Pavel Roskin <proski@gnu.org>
10803
e6d1a308 10804 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
10805 number, grub_fshelp_read() does it for us.
10806
16ae7781 10807 * fs/fshelp.c (grub_fshelp_read): New function. Implement
10808 linear disk read with journal translation.
10809 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
10810 * include/grub/fshelp.h: Declare grub_fshelp_read().
10811
40fd3a2b 108122008-06-09 Pavel Roskin <proski@gnu.org>
10813
10814 * fs/minix.c (grub_minix_mount): Handle error reading
10815 superblock.
10816
f5679726 108172008-06-08 Robert Millan <rmh@aybabtu.com>
10818
10819 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
10820 don't append the RAID prefix afterwards.
10821 Reported by Clint Adams.
10822
ce525529 108232008-06-08 Robert Millan <rmh@aybabtu.com>
10824
10825 Based on description from Pavel:
10826 * kern/disk.c (grub_disk_check_range): Rename to ...
10827 (grub_disk_adjust_range): ... this. Add a comment explaining the
10828 tasks performed by this function.
10829
ad4936a0 108302008-06-08 Robert Millan <rmh@aybabtu.com>
10831
10832 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
10833 `num_serial' (for consistency with other variables).
10834 (struct grub_ntfs_data): Add `uuid' member.
10835 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
10836 (grub_ntfs_uuid): New function.
10837 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
10838
dc20b0f9 108392008-06-07 Pavel Roskin <proski@gnu.org>
10840
10841 * util/biosdisk.c (open_device): Revert last change to the
10842 function, it broke installation. The sector needs to be
10843 different dependent on which device is opened.
10844
c5e3cfba 108452008-06-06 Robert Millan <rmh@aybabtu.com>
10846
10847 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
10848 rest of GRUB, and breakage doesn't happen if its value were modified.
10849
10850 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10851 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
10852 a constant (same value).
10853 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
10854 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
10855
26a1f8c4 108562008-06-06 Robert Millan <rmh@aybabtu.com>
10857
10858 * util/biosdisk.c (open_device): Do not modify sector offset when
10859 accessing a partition. kern/disk.c already handles this for us.
10860
25d6b327 108612008-06-06 Robert Millan <rmh@aybabtu.com>
10862
10863 * util/grub-emu.c (grub_machine_init): Move code in this function from
10864 here ...
10865 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
10866 segfault in case grub_printf() is called).
10867
10868 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
10869 grub_probe. Update all users not to explicitly add it again.
10870 (grub_device): New variable; contains corresponding device for grubdir.
10871 (fs_module, partmap_module, devabstraction_module): Pass
10872 `--device ${grub_device}' to grub_probe to avoid traversing /dev
10873 every time.
10874
9ece62fb 108752008-06-05 Robert Millan <rmh@aybabtu.com>
10876
10877 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
10878 is found, print it (same layout as with labels).
10879
1ad36d37 108802008-06-04 Robert Millan <rmh@aybabtu.com>
10881
10882 * util/biosdisk.c (get_drive): Rename to ...
10883 (find_grub_drive): ... this. Update all users.
10884
10885 (get_os_disk): Rename to ...
10886 (convert_system_partition_to_system_disk): ... this. Update all users.
10887
10888 (find_drive): Rename to ...
10889 (find_system_device): ... this. Update all users.
10890
e6a30859 108912008-06-04 Robert Millan <rmh@aybabtu.com>
10892
10893 * util/biosdisk.c (get_os_disk): Handle IDA devices.
10894 * util/grub-mkdevicemap.c (get_mmc_disk_name)
10895 (make_device_map): Likewise.
10896
00c108a4 108972008-06-01 Robert Millan <rmh@aybabtu.com>
10898
10899 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
10900 before dereferencing it.
10901
10902 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
10903 union with fat12/fat16-specific ones. Add some new fields, including
10904 `num_serial' for both versions.
10905 (struct grub_fat_data): Add `uuid' member.
10906 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
10907 names. Initialize `data->uuid' using `num_serial'.
10908 (grub_fat_uuid): New function.
10909 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
10910
10911 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
10912 (grub_reiserfs_uuid): New function.
10913 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
10914 member.
10915
10916 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
10917 (grub_xfs_uuid): New function.
10918 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
10919
1385c5bb 109202008-06-01 Robert Millan <rmh@aybabtu.com>
10921
10922 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
10923 code that is backward compatible with pre-uuid search command.
10924
c682dfd7 109252008-05-31 Robert Millan <rmh@aybabtu.com>
10926
10927 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
10928 floppies after everything else, to ensure floppy drive isn't accessed
10929 unnecessarily (patch from Bean).
10930
b7db5d47 109312008-05-31 Robert Millan <rmh@aybabtu.com>
10932
10933 * commands/search.c (search_label, search_fs_uuid, search_file): Do
10934 not print device names when we were asked to set a variable.
10935
6e037aa9 109362008-05-31 Robert Millan <rmh@aybabtu.com>
10937
10938 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
10939 using "cursor-on" and "cursor-off" commands (understood at least by
10940 the Open Firmware flavour on OLPC).
10941
41305bc8 109422008-05-31 Michael Gorven <michael@gorven.za.net>
10943
10944 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
10945 on and off sequences.
10946
69ba137e 109472008-05-31 Robert Millan <rmh@aybabtu.com>
10948
10949 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
10950 * util/update-grub.in: Likewise.
10951
520ae21b 109522008-05-30 Pavel Roskin <proski@gnu.org>
10953
10954 * util/biosdisk.c (linux_find_partition): Simplify logic and
10955 make the code more universal. Keep special processing for
10956 devfs, but use a simple rule for all other devices. If the
10957 device ends with a number, append 'p' and the partition number.
10958 Otherwise, append only the partition number.
10959
5786569b 109602008-05-30 Robert Millan <rmh@aybabtu.com>
10961
10962 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
10963 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
10964 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
10965 the `root' parameter to Linux.
10966
51500452 109672008-05-30 Robert Millan <rmh@aybabtu.com>
10968
10969 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
10970 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
10971 --fs_uuid with --fs-uuid.
10972 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
10973 all filesystems support them).
10974
811d3878 109752008-05-30 Robert Millan <rmh@aybabtu.com>
10976
10977 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 10978 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 10979
cab63c95 109802008-05-30 Robert Millan <rmh@aybabtu.com>
10981
10982 * util/grub.d/00_header.in: Remove obsolete comment referencing
10983 convert_system_path_to_grub_path().
10984 * util/update-grub.in: Likewise.
10985 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
10986 (convert_system_path_to_grub_path): Add a warning message explaining
10987 that this function is deprecated. Rely on is_path_readable_by_grub()
10988 for the readability checks.
10989 (font_path): Use is_path_readable_by_grub() for the readability
10990 check rather than convert_system_path_to_grub_path().
10991
972e2f7a 109922008-05-30 Robert Millan <rmh@aybabtu.com>
10993
10994 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
10995 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
10996 converting it first.
10997 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
10998 grub.cfg for access to font file, and afterwards call it again to set
10999 the root device.
11000
62191274 110012008-05-30 Robert Millan <rmh@aybabtu.com>
11002
11003 * commands/search.c (options): Add --fs_uuid option.
11004 (search_fs_uuid): New function.
11005 (grub_cmd_search): Fix --set argument passing.
11006 Use search_fs_uuid() when requested via --fs_uuid.
11007 (grub_search_init): Update help message.
11008 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
11009 and redeclare it as an array of 16-bit words.
11010 (grub_ext2_uuid): New function.
11011 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
11012 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
11013 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
11014 (GRUB_DEVICE_BOOT_UUID): New variables.
11015 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
11016 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
11017 whenever possible.
11018 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
11019 just assume `root' variable has the right value.
11020 * util/grub.d/10_linux.in: Likewise.
11021 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
11022 via PRINT_FS_UUID.
11023 (main): Recognise `-t fs_uuid' argument.
11024
01b73ec8 110252008-05-30 Robert Millan <rmh@aybabtu.com>
11026
11027 * util/biosdisk.c (map): Redefine structure to hold information
11028 about GRUB drive name.
fe6b695a 11029 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 11030 drive names.
11031 (call_hook): Remove.
11032 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
11033 member. Assume drive has partitions.
11034 (grub_util_biosdisk_open): Access device names via `.device' struct
11035 member.
11036 (open_device): Likewise.
11037 (find_drive): Likewise.
11038 (read_device_map): Adjust map[] usage to match the new struct
11039 definition. Don't check for duplicates (still possible, but not cheap
11040 anymore).
11041 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
11042 (make_device_name): Remove assumption of BIOS-like drive names.
11043
22f16596 110442008-05-30 Pavel Roskin <proski@gnu.org>
11045
11046 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
11047 compiling execute.c doesn't need grub_script.tab.h anymore.
11048 (normal/command.c_DEPENDENCIES): Likewise.
11049 (normal/function.c_DEPENDENCIES): Likewise.
11050 * conf/i386-ieee1275.rmk: Likewise.
11051 * conf/i386-linuxbios.rmk: Likewise.
11052 * conf/i386-pc.rmk: Likewise.
11053 * conf/powerpc-ieee1275.rmk: Likewise.
11054 * conf/sparc64-ieee1275.rmk: Likewise.
11055
528ad8f2 110562008-05-29 Pavel Roskin <proski@gnu.org>
11057
d1dff95d 11058 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
11059 when scanning metadata for volume group name.
11060
528ad8f2 11061 * include/grub/script.h: Don't include grub_script.tab.h. It's
11062 a generated file, which may only be included from the files with
11063 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
11064 use union YYSTYPE, as the later allows forward declaration.
11065 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
11066
47248e08 110672008-05-29 Robert Millan <rmh@aybabtu.com>
11068
11069 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
11070 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
11071 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
11072 (grub_console_checkkey): Add grub_dprintf() call to report unknown
11073 scan codes.
11074
ee632529 110752008-05-29 Robert Millan <rmh@aybabtu.com>
11076
11077 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
11078 control key combinations.
11079
eee96e08 110802008-05-29 Robert Millan <rmh@aybabtu.com>
11081
11082 * util/powerpc/ieee1275/grub-install.in: Move from here ...
11083 * util/ieee1275/grub-install.in: ... to here.
11084 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
11085 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
11086 (grub_install_SOURCES): Likewise.
11087
da9a6a94 110882008-05-29 Robert Millan <rmh@aybabtu.com>
11089
11090 * fs/affs.c: Update copyright year.
11091 * fs/ext2.c: Likewise.
11092 * fs/fshelp.c: Likewise.
11093 * fs/hfsplus.c: Likewise.
11094 * fs/ntfs.c: Likewise.
11095 * fs/xfs.c: Likewise.
11096 * include/grub/fshelp.h: Likewise.
11097 * util/grub-mkdevicemap.c: Likewise.
11098
12e65f3a 110992008-05-28 Robert Millan <rmh@aybabtu.com>
11100
11101 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
11102 might need to be fatfs to support some firmware implementations
11103 (e.g. OFW or EFI).
11104
23023641 111052008-05-28 Robert Millan <rmh@aybabtu.com>
11106
11107 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
11108 devices.
11109 * util/grub-mkdevicemap.c (get_mmc_disk_name)
11110 (make_device_map): Likewise.
11111
887d2619 111122008-05-20 Bean <bean123ch@gmail.com>
11113
11114 * fs/fshelp.c (grub_fshelp_map_block): New function.
11115 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
11116 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
11117
11118 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
11119 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
11120 (grub_fshelp_journal): New structure.
11121 (grub_fshelp_map_block): New function prototype.
11122 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
11123 (grub_fshelp_map_block): Likewise.
11124
11125 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
11126 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
11127 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
11128 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
11129 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
11130 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
11131 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
11132 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
11133 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
11134 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
11135 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
11136 (grub_ext2_sblock): New members for journal support.
11137 (grub_ext3_journal_header): New structure.
11138 (grub_ext3_journal_revoke_header): Likewise.
11139 (grub_ext3_journal_block_tag): Likewise.
11140 (grub_ext3_journal_sblock): Likewise.
11141 (grub_fshelp_node): New members logfile and journal.
11142 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
11143 grub_fshelp_map_block to get real block number.
11144 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
11145 number.
11146 (grub_ext2_read_inode): Likewise.
11147 (grub_ext3_get_journal): New function.
11148 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
11149 (grub_ext2_close): Release memory used by journal.
11150
11151 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
11152 (REISERFS_MAGIC_DESC_BLOCK): New macro.
11153 (grub_reiserfs_transaction_header): Renamed to
11154 grub_reiserfs_description_block, replace field data with real_blocks.
11155 (grub_reiserfs_commit_block): New structure.
11156 (grub_reiserfs_data): New member journal.
11157 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
11158 number.
11159 (grub_reiserfs_read_symlink): Likewise.
11160 (grub_reiserfs_iterate_dir): Likewise.
11161 (grub_reiserfs_open): Likewise.
11162 (grub_reiserfs_read): Likewise.
11163 (grub_reiserfs_get_journal): New function.
11164 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
11165 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
11166 using grub_reiserfs_get_journal.
11167 (grub_reiserfs_close): Release memory used by journal.
11168
11169 * fs/affs.c (grub_affs_read_block): Change block type to
11170 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
11171
11172 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
11173
11174 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
11175
11176 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
11177
11178 * fs/udf.c (grub_udf_read_block): Change block type to
11179 grub_disk_addr_t. Use type cast to avoid warning.
11180
11181 * fs/xfs.c (grub_xfs_read_block): Likewise.
11182
b7c6bed5 111832008-05-16 Christian Franke <franke@computer.org>
11184
11185 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
11186 to ensure that break with ESC will always work.
11187 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
11188 Remove ESC from keyboard queue.
11189
eedf167f 111902008-05-16 Christian Franke <franke@computer.org>
11191
11192 * util/biosdisk.c: [__CYGWIN__] Add includes.
11193 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
11194 (get_os_disk): Move variable declarations to OS specific
11195 parts to avoid warning.
11196 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
11197 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
11198 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
11199 Cygwin.
11200 * util/getroot.c: [__CYGWIN__] Add includes.
11201 (strip_extra_slashes): Fix "/" case.
11202 [__CYGWIN__] (get_win32_path): New function.
11203 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
11204 [__CYGWIN__] (find_root_device): Disable.
11205 [__CYGWIN__] (get_bootsec_serial): New function.
11206 [__CYGWIN__] (find_cygwin_root_device): Likewise.
11207 [__linux__] (grub_guess_root_device): Add early returns to simplify
11208 structure.
11209 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
11210 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
11211 check for Linux only.
11212
a079699e 112132008-05-15 Bean <bean123ch@gmail.com>
11214
11215 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
11216 keyboard hang problem in apple's intel mac.
11217
1cf4059a 112182008-05-09 Robert Millan <rmh@aybabtu.com>
11219
11220 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
11221 devices.
11222 * util/grub-mkdevicemap.c (get_virtio_disk_name)
11223 (make_device_map): Likewise.
11224 Reported by Aurelien Jarno <aurel32@debian.org>
11225
ed759390 112262008-05-07 Ian Campbell <ijc@hellion.org.uk>
11227
11228 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
11229 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
11230 (make_device_map): Output entries for xvd type disks.
11231
b56c4eaa 112322008-05-07 Robert Millan <rmh@aybabtu.com>
11233
11234 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
11235 devices.
11236 * util/grub-mkdevicemap.c (get_cciss_disk_name)
11237 (make_device_map): Likewise.
11238 Reported by Roland Dreier <rdreier@cisco.com>
11239
7f8866ed 112402008-05-07 Robert Millan <rmh@aybabtu.com>
11241
11242 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
11243 grub_strstr() call. Correct a few mistakes in failure path handling.
11244
b0346e0f 112452008-05-06 Robert Millan <rmh@aybabtu.com>
11246
11247 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
11248 Do not print a trailing slash (therefore, the root directory is an
11249 empty string).
11250 (convert_system_path_to_grub_path): Do not remove trailing slash
11251 from make_system_path_relative_to_its_root() output.
11252
11253 * util/i386/pc/grub-install.in: Add trailing slash to output from
11254 make_system_path_relative_to_its_root().
11255
6cf12cbd 112562008-05-06 Robert Millan <rmh@aybabtu.com>
11257
11258 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
11259 ensures that output lines aren't intermangled with those sent to
11260 stderr (via grub_util_info()).
11261 * util/grub-probe.c (grub_refresh): Likewise.
11262 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
11263
0fbb3117 112642008-05-05 Christian Franke <franke@computer.org>
11265
11266 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
11267 Add Cygwin device names.
11268 (get_ide_disk_name) [__CYGWIN__]: Likewise.
11269 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
11270 (check_device): Return error instead of success on empty name.
11271 (make_device_map): Move label inside linux specific code to
11272 prevent compiler warning.
11273
8124cdb7 112742008-04-30 Robert Millan <rmh@aybabtu.com>
11275
11276 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
11277 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
11278 first boot option.
11279 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
11280
094c01d0 112812008-04-29 Robert Millan <rmh@aybabtu.com>
11282
11283 * docs/grub.cfg: New file (example GRUB configuration).
11284
f4b1fc02 112852008-04-26 Robert Millan <rmh@aybabtu.com>
11286
329ce2a5 11287 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
11288 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
11289 and `disk/ieee1275/nand.c'.
f4b1fc02 11290
25f16ec1 112912008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 11292
25f16ec1 11293 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
11294 i386-linuxbios.
11295
11296 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
11297 change the buffer size to 4096 for cdrom device.
11298
11299 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
11300 and nand.mod.
11301 (_linux_mod_SOURCES): New variable.
11302 (_linux_mod_CFLAGS): Likewise.
11303 (_linux_mod_LDFLAGS): Likewise.
11304 (linux_mod_SOURCES): Likewise.
11305 (linux_mod_CFLAGS): Likewise.
11306 (linux_mod_LDFLAGS): Likewise.
11307 (nand_mod_SOURCES): Likewise.
11308 (nand_mod_CFLAGS): Likewise.
11309 (nand_mod_LDFLAGS): Likewise.
11310
11311 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
11312 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
11313 type property. (nand device in olpc don't have this property)
11314
11315 * include/grub/disk.h (grub_disk_dev_id): New macro
11316 GRUB_DISK_DEVICE_NAND_ID.
11317
11318 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
11319 function prototype.
11320 (grub_rescue_cmd_initrd): Likewise.
11321
11322 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
11323 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
11324 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 11325
25f16ec1 11326 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
11327 GRUB_MACHINE_IEEE1275 is defined.
11328
11329 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
11330 Use NESTED_FUNC_ATTR attribute on the hook parameter.
11331
11332 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
11333 on nested function heap_init.
11334 (grub_upper_mem): New variable for i386-ieee1275.
11335 (grub_get_extended_memory): New function for i386-ieee1275.
11336 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
11337
11338 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
11339 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
11340 property.
f19dbdb7 11341
25f16ec1 11342 * loader/i386/ieee1275/linux.c: New file.
11343
11344 * loader/i386/ieee1275/linux_normal.c: New file.
11345
11346 * disk/ieee1275/nand.c: New file.
11347
e89d61e9 113482008-04-18 Thomas Schwinge <tschwinge@gnu.org>
11349
11350 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
11351 value.
11352 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
11353
602566f6 113542008-04-18 Robert Millan <rmh@aybabtu.com>
11355
11356 Restructures early code path on ieee1275 to unify grub_main() as
11357 the first C function that is executed in every platform.
11358
11359 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
11360 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
11361 cmain().
11362 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
11363 * kern/ieee1275/cmain.c (cmain): Rename to ...
11364 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
11365 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
11366 at the beginning.
11367
57490c2b 113682008-04-18 Robert Millan <rmh@aybabtu.com>
11369
11370 * util/update-grub.in: Fix syntax error when setting
11371 `GRUB_PRELOAD_MODULES'.
11372 Reported by Stephane Chazelas <stephane@artesyncp.com>
11373
1977517d 113742008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
11375
11376 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
11377 section into account, newer toolchains generate unique build ids
11378 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 11379 we want build ids to be preserved
1977517d 11380 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
11381 far from other sections don't cause the raw binary images grow
11382 size
11383
bfb1f1a2 113842008-04-15 Robert Millan <rmh@aybabtu.com>
11385
11386 * disk/lvm.c: Update copyright year.
11387 * kern/misc.c: Likewise.
11388
01979850 113892008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11390
11391 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 11392 there is no memory left for physical volume name.
01979850 11393
0a1150e2 113942008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11395
11396 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
11397 volume name mapping to support bigger than 9 character names properly.
11398
82ead3fe 113992008-04-13 Robert Millan <rmh@aybabtu.com>
11400
11401 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
11402 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
11403
e54a72f5 114042008-04-13 Christian Franke <franke@computer.org>
11405
11406 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
11407 to create a floppy emulation boot CD when non emulation mode
11408 does not work.
11409 Enable Joliet CD filesystem extension.
11410
9fe86034 114112008-04-13 Robert Millan <rmh@aybabtu.com>
11412
11413 * kern/misc.c (grub_strncat): Fix off-by-one error.
11414 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
11415
11416 * kern/env.c (grub_env_context_close): Clear current context, not
11417 previous one.
11418 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
11419
11420 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
11421
7ceeee39 114222008-04-13 Robert Millan <rmh@aybabtu.com>
11423
11424 Improve robustness when handling LVM.
11425
11426 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 11427 (and leave `*p' unmodified).
7ceeee39 11428 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
11429 through it.
11430 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
11431 iterating through it.
11432 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
11433 through it.
fe6b695a 11434 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 11435 when due) on each grub_lvm_getvalue() or grub_strstr() call.
11436 Don't assume `vg->pvs != NULL' when iterating through it.
11437
58cd3d85 114382008-04-13 Robert Millan <rmh@aybabtu.com>
11439
11440 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
11441 * genmk.rb (partmap): New variable.
11442 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
11443 (#{partmap}): New target rule.
11444 * genpartmaplist.sh: New file.
11445 * Makefile.in (pkglib_DATA): Add partmap.lst.
11446 (partmap.lst): New target rule.
11447 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
11448 modules (including all partition maps), instead of preloading them.
11449
78b51059 114502007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
11451
11452 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
11453 `linux-boot-prober' (if installed) to detect other operating
11454 systems which are installed on the computer and add them to
11455 the boot menu.
11456 * conf/common.rmk: Build and install 30_os-prober.
11457
a91627b4 114582008-04-12 Robert Millan <rmh@aybabtu.com>
11459
11460 * kern/powerpc/ieee1275/init.c: Move from here ...
11461 * kern/ieee1275/init.c: ... to here. Update all users.
11462
11463 * kern/powerpc/ieee1275/cmain.c: Move from here ...
11464 * kern/ieee1275/cmain.c: ... to here. Update all users.
11465
11466 * kern/powerpc/ieee1275/openfw.c: Move from here ...
11467 * kern/ieee1275/openfw.c: ... to here. Update all users.
11468
11469 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
11470 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
11471
322562ea 114722008-04-10 Pavel Roskin <proski@gnu.org>
11473
11474 * configure.ac: Always use "_cv_" in cache variables for
11475 compatibility with Autoconf 2.62.
11476
a02a73c5 114772008-04-07 Robert Millan <rmh@aybabtu.com>
11478
11479 Revert grub/machine/init.h addition by Pavel (since it breaks on
11480 i386-ieee1275 and others):
11481 * util/i386/pc/misc.c: Remove grub/machine/init.h.
11482 * util/powerpc/ieee1275/misc.c: Likewise.
11483
25c024b1 114842008-04-07 Robert Millan <rmh@aybabtu.com>
11485
11486 * util/grub-probe.c (probe): Improve error message.
11487
3cbd2f98 114882008-04-07 Robert Millan <rmh@aybabtu.com>
11489
11490 * util/biosdisk.c (read_device_map): Skip devices that don't exist
11491 (this prevents the presence of a bogus entry from ruining the whole
11492 thing).
11493
87a297bf 114942008-04-06 Pavel Roskin <proski@gnu.org>
11495
36747a62 11496 * util/biosdisk.c: Include grub/util/biosdisk.h.
11497 * util/grub-fstest.c (execute_command): Make static.
11498 * util/grub-mkdevicemap.c (check_device): Likewise.
11499 * util/i386/pc/misc.c: Include grub/machine/init.h.
11500 * util/powerpc/ieee1275/misc.c: Likewise.
11501 * util/lvm.c: Include grub/util/lvm.h.
11502 * util/misc.c: Include grub/kernel.h, grub/misc.h and
11503 grub/cache.h.
11504 * util/raid.c: Include grub/util/raid.h.
11505 (grub_util_getdiskname): Make static.
11506
87a297bf 11507 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
11508 grub_hostfs_fini(), as they are called from grub_init_all() and
11509 grub_fini_all() respectively. This fixes an infinite loop in
11510 grub-fstest due to double registration of hostfs.
11511 Reported by Christian Franke <Christian.Franke@t-online.de>
11512
f6ce7629 115132008-04-05 Pavel Roskin <proski@gnu.org>
11514
11515 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
11516 all 8 functions. Otherwise, probe function 0 only.
11517
070e49e4 115182008-04-04 Pavel Roskin <proski@gnu.org>
11519
8b088a4c 11520 * commands/lspci.c (grub_lspci_iter): Print the bus number
11521 correctly.
11522
4f657021 11523 * commands/lspci.c (grub_pci_classes): Fix typos.
11524 (grub_lspci_iter): Don't print func twice. Print vendor ID
11525 before device ID, as it's normally done.
11526
070e49e4 11527 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
11528 Fix signedness warnings.
11529 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
11530 Likewise.
11531 * util/ieee1275/get_disk_name.c: Include config.h so that
11532 _GNU_SOURCE is defined and getline() is declared. Mark an
11533 unused argument as such. Fix a signedness warning.
11534
ba7328dc 115352008-04-02 Pavel Roskin <proski@gnu.org>
11536
26887f22 11537 * genkernsyms.sh.in: Use more robust assignments for CC and
11538 srcdir. Quote srcdir.
11539 * gensymlist.sh.in: Likewise. Assert at the compile time that
11540 the symbol table is not empty.
11541
ba7328dc 11542 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
11543 * fs/cpio.c (grub_cpio_read): Likewise.
11544
0f582c6b 115452008-04-01 Pavel Roskin <proski@gnu.org>
11546
4b6e1995 11547 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
11548 * disk/host.c (grub_host_open): Likewise.
11549 * disk/loopback.c (grub_loopback_open): Likewise.
11550 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
11551 disk->id as in disk/host.c, not a multi-character constant.
11552
828a2768 11553 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
11554 later is obsolete, potentially dangerous and sets a bad example.
11555 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
11556 * util/misc.c (grub_util_get_image_size): Likewise.
11557
2bb4fb47 11558 * disk/loopback.c (options): Improve help for "--partitions".
11559
0f582c6b 11560 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
11561 options to align them with the short options, e.g. "echo -e".
11562
a33224e0 115632008-03-31 Bean <bean123ch@gmail.com>
11564
11565 * video/reader/png.c (grub_png_data): New member is_16bit and
11566 image_data.
11567 (grub_png_decode_image_header): Detect 16 bit png image.
11568 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
11569 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
11570 (grub_video_reader_png): Release memory occupied by image_data.
11571
11572 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
11573 4096 bytes.
11574 (grub_nfs_mount): Skip the test for sector per cluster.
11575
11576 * include/grub/ntfs.h (MAX_SPC): Removed.
11577
86cb4f54 115782008-03-31 Bean <bean123ch@gmail.com>
11579
11580 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
11581 (grub_probe_SOURCES): Add fs/afs.c.
11582 (grub_fstest_SOURCES): Likewise.
11583 (afs_mod_SOURCES): New variable.
11584 (afs_mod_CFLAGS): Likewise.
11585 (afs_mod_LDFLAGS): Likewise.
11586
11587 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
11588 (grub_emu_SOURCES): Likewise.
11589
11590 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11591
11592 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11593
11594 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11595
11596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11597
11598 * fs/afs.c: New file.
11599
17c74c21 116002008-03-30 Pavel Roskin <proski@gnu.org>
11601
4cb68e89 11602 * disk/host.c: Include grub/misc.h to fix a warning.
11603 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
11604 warnings about implicit declarations.
11605
8790bb04 11606 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
11607 variable.
11608 * include/grub/i386/loader.h: Change declaration of
11609 grub_linux_boot() to match what grub_loader_set() expects.
11610 * util/getroot.c (grub_guess_root_device): Return const char* to
11611 fix a warning.
11612 * util/grub-probe.c (probe): Fix a warning about uninitialized
11613 abstraction_name variable.
11614 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
11615 second argument as unused to fix a warning.
11616
9a3f3296 11617 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
11618 missing grub_error() call.
11619
0ecef90d 11620 * util/update-grub_lib.in: Define datarootdir, since Autoconf
11621 2.60 and newer uses it to define datadir.
11622
0bf6d401 11623 * commands/sleep.c: Fix warning about implicit declaration.
11624 * disk/memdisk.c: Likewise.
11625 * loader/aout.c: Likewise.
11626 * loader/i386/bsd_normal.c: Likewise.
11627 * util/grub-probe.c: Likewise.
11628
7cdacf97 11629 * commands/i386/cpuid.c (has_longmode): Make static.
11630 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
11631 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
11632
17c74c21 11633 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
11634 GDT. This is more robust, as %ds can change.
11635 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
11636 calling real_to_prot().
11637 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
11638
80a3e68b 116392008-03-28 Pavel Roskin <proski@gnu.org>
11640
11641 * kern/i386/pc/startup.S: Assert that uncompressed functions
11642 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
11643 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
11644 code, as they push parts of the code (error handlers) beyond
11645 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
11646 code as correctness and size.
11647
77bcd272 116482008-03-28 Pavel Roskin <proski@gnu.org>
11649
11650 * kern/i386/pc/startup.S
11651 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
11652 data block address to the real mode, keep offset minimal. This
11653 works around a bug in AWARD BIOS on old Athlon systems, which
11654 makes CD detection hang.
11655
c5dfd43b 116562008-03-26 Pavel Roskin <proski@gnu.org>
11657
11658 * normal/color.c (grub_parse_color_name_pair): Make `name' a
11659 const.
11660 * include/grub/normal.h: Add grub_parse_color_name_pair()
11661 declaration.
11662
bf962df2 116632008-03-24 Bean <bean123ch@gmail.com>
11664
11665 * disk/i386/pc/biosdisk.c (cd_start): Removed.
11666 (cd_count): Removed.
11667 (cd_drive): New variable.
11668 (grub_biosdisk_get_drive): Don't check for (cdN) device.
11669 (grub_biosdisk_call_hook): Likewise.
11670 (grub_biosdisk_iterate): Change cdrom detection method.
11671 (grub_biosdisk_open): Replace cd_start with cd_drive.
11672 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
11673 detect cdrom device.
11674
11675 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
11676 Removed.
11677 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
11678 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
11679 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
11680 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
11681 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
11682 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
11683 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
11684 (grub_biosdisk_cdrp): New structure.
11685 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
11686
11687 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
11688
11689 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
11690 device.
11691
11692 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
11693 New function.
11694
68e7fc7a 116952008-03-20 Robert Millan <rmh@aybabtu.com>
11696
11697 Remove 2 TiB limit in ata.mod.
11698 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
11699 (grub_ata_dumpinfo): Print sector count with 0x%llx.
11700 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
11701 grub_uint64_t instead of grub_uint32_t.
11702
38ad2cf5 117032008-03-05 Bean <bean123ch@gmail.com>
11704
11705 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
11706 (grub_multiboot): Set boot device.
11707
11708 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
11709
2b89344e 117102008-03-02 Bean <bean123ch@gmail.com>
11711
11712 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
11713 symlink_buffer.
11714
87a95d1f 117152008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
11716
11717 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
11718 texinfo.tex.
11719
11720 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
11721 modified.
11722
11723 * docs/fdl.texi: New file.
f19dbdb7 11724
87a95d1f 11725 * docs/mdate-sh: New file. Copied from gnulib.
11726 * docs/texinfo.tex: Likewise.
11727
11728 * config.guess: Updated from gnulib.
11729 * install-sh: Likewise.
11730
7dc15d8e 117312008-02-28 Robert Millan <rmh@aybabtu.com>
11732
11733 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
11734 (aout_mod_SOURCES): New variable.
11735 (aout_mod_CFLAGS): Likewise.
11736 (aout_mod_LDFLAGS): Likewise.
11737
11738 * conf/i386-ieee1275.rmk: Likewise.
11739
b00ab696 117402008-02-28 Robert Millan <rmh@aybabtu.com>
11741
11742 * util/update-grub.in: Reorganise terminal validity check. Accept
11743 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
11744 Based on suggestion by Franklin PIAT.
11745
79ca2d78 117462008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
11747
11748 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
11749 function.
11750 * util/getroot.c (grub_util_check_block_device): New function that
11751 returns the given argument if it is a block device and returns NULL else.
11752 * util/grub-probe.c (argument_is_device): New variable.
11753 (probe): Promote device_name from a variable to an argument. Receive
11754 device_name from grub_util_check_block_device() if path is NULL and from
11755 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 11756 (options): Introduce new parameter '-d, --device'.
79ca2d78 11757 (main): Add description of the new parameter to the help screen.
11758 Rename path variable to argument. Set argument_is_device if the '-d'
11759 option is given. Pass argument to probe() depending on
11760 argument_is_device.
11761
0d16e571 117622008-02-24 Bean <bean123ch@gmail.com>
11763
11764 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
11765 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
11766 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
11767 (GRUB_ISO9660_VOLDESC_PART): Likewise.
11768 (GRUB_ISO9660_VOLDESC_END): Likewise.
11769 (grub_iso9660_primary_voldesc): New member escape.
11770 (grub_iso9660_data): New member joliet.
11771 (grub_iso9660_convert_string): New function.
11772 (grub_iso9660_mount): Detect joliet extension.
11773 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
11774 (grub_iso9660_iso9660_label): Likewise.
11775
11776 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
11777 (grub_setup_SOURCES): Add fs/udf.c.
11778 (grub_fstest_SOURCES): Likewise.
11779 (udf_mod_SOURCES): New variable.
11780 (udf_mod_CFLAGS): Likewise.
11781 (udf_mod_LDFLAGS): Likewise.
11782
11783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
11784 (grub_emu_SOURCES): Likewise.
11785
11786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11787
11788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11789
11790 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11791
11792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11793
11794 * fs/udf.c: New file.
11795
8a594a17 117962008-02-24 Robert Millan <rmh@aybabtu.com>
11797
11798 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
11799 (normal/lexer.c_DEPENDENCIES): New variables.
11800 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11801 (normal/lexer.c_DEPENDENCIES): Likewise.
11802 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
11803 (normal/lexer.c_DEPENDENCIES): Likewise.
11804 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
11805 (normal/lexer.c_DEPENDENCIES): Likewise.
11806 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11807 (normal/lexer.c_DEPENDENCIES): Likewise.
11808 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11809 (normal/lexer.c_DEPENDENCIES): Likewise.
11810
2dc33c03 118112008-02-23 Robert Millan <rmh@aybabtu.com>
11812
11813 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
11814 since they were intended to be in hex. This didn't break previously
11815 because of a bug in gpt_partition_map_iterate() (see below).
11816
11817 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
11818 when checking the validity of GPT header.
11819 Remove `partno', since it always provides the same information as `i'.
11820
f6f4cfb0 118212008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
11822
11823 * include/grub/efi/time.h: Fix a wrong comment.
11824
79ff665f 118252008-02-19 Pavel Roskin <proski@gnu.org>
11826
11827 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
11828 message.
11829
d38e24c2 118302008-02-19 Bean <bean123ch@gmail.com>
11831
11832 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
11833 (aout_mod_SOURCES): New variable.
11834 (aout_mod_CFLAGS): Likewise.
11835 (aout_mod_LDFLAGS): Likewise.
11836 (_bsd_mod_SOURCES): New variable.
11837 (_bsd_mod_CFLAGS): Likewise.
11838 (_bsd_mod_LDFLAGS): Likewise.
11839 (bsd_mod_SOURCES): New variable.
11840 (bsd_mod_CFLAGS): Likewise.
11841 (bsd_mod_LDFLAGS): Likewise.
11842
11843 * include/grub/aout.h: New file.
11844
11845 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
11846
11847 * include/grub/i386/bsd.h: New file.
11848
11849 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
11850 to make it public.
11851
11852 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
11853 function is called, so that it's possible to change it inside the hook.
11854 (grub_elf64_load): Likewise.
11855 (grub_elf_file): Don't close the file if elf header is not found.
11856 (grub_elf_close): Close the file if grub_elf_file fails (The new
11857 grub_elf_file won't close it).
11858 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
11859 (grub_elf64_size): Likewise.
11860
11861 * kern/i386/loader.S (grub_unix_real_boot): New function.
11862
11863 * loader/aout.c: New file.
11864
11865 * loader/i386/bsd.c: New file.
11866
11867 * loader/i386/bsd_normal.c: New file.
11868
11869 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
11870
11871 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 11872 can test other formats.
d38e24c2 11873
b93bdb0f 118742008-02-19 Robert Millan <rmh@aybabtu.com>
11875
11876 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
11877 (grub_gpt_partition_type_empty): Redefine with macro from
11878 `<grub/gpt_partition.h>'.
11879 (gpt_partition_map_iterate): Adjust partition type comparison.
11880
11881 Export `entry' as partmap-specific `part.data' struct.
11882 (grub_gpt_header, grub_gpt_partentry): Move from here ...
11883
11884 * include/grub/gpt_partition.h (grub_gpt_header)
11885 (grub_gpt_partentry): ... to here (new file).
11886
11887 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
11888
11889 (grub_gpt_partition_type_bios_boot): New const variable, defined
11890 with macro from `<grub/gpt_partition.h>'.
11891
11892 (setup): Replace `first_start' with `embed_region', which keeps
11893 track of the embed region (and is partmap-agnostic).
11894
11895 Replace find_first_partition_start() with find_usable_region(),
11896 which finds a usable region for embedding using partmap-specific
11897 knowledge (supports PC/MSDOS and GPT).
11898
11899 Fix all assumptions that the embed region start at sector 1, using
11900 `embed_region.start' from now on. Similarly, use `embed_region.end'
11901 rather than `first_start' to calculate available size.
11902
11903 In grub_util_info() message, replace "into after the MBR" with an
11904 indication of the specific sector our embed region starts at.
11905
66cb40f6 119062008-02-19 Robert Millan <rmh@aybabtu.com>
11907
11908 * DISTLIST: Replace `commands/ieee1275/halt.c' and
11909 `commands/ieee1275/reboot.c' with `commands/halt.c' and
11910 `commands/reboot.c'.
11911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11912 (halt_mod_SOURCES): Likewise.
11913 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11914 (halt_mod_SOURCES): Likewise.
11915
b7202015 119162008-02-17 Christian Franke <franke@computer.org>
11917
11918 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
11919
32b0fc49 119202008-02-17 Robert Millan <rmh@aybabtu.com>
11921
11922 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11923 set `first_start' to 0 for non-PC/MSDOS partition maps.
11924
aca63502 119252008-02-16 Robert Millan <rmh@aybabtu.com>
11926
11927 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11928 do not assume partition map is PC/MSDOS before performing checks that
11929 are specific to that layout.
11930
0de8be86 119312008-02-13 Robert Millan <rmh@aybabtu.com>
11932
11933 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
11934 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
11935 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
11936
c3db8364 119372008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
11938
11939 * configure.ac: Only a cosmetic change on the handling of
11940 -fno-stack-protector.
11941
f714229e 119422008-02-12 Alexandre Boeglin <alex@boeglin.org>
11943
c3db8364 11944 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
11945 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
11946 reboot.c.
f714229e 11947 (grub_install_SOURCES): Add halt.mod and reboot.mod.
11948 (halt_mod_SOURCES): New variable.
11949 (halt_mod_CFLAGS): Likewise.
11950 (halt_mod_LDFLAGS): Likewise.
11951 (reboot_mod_SOURCES): Likewise.
11952 (reboot_mod_CFLAGS): Likewise.
11953 (reboot_mod_LDFLAGS): Likewise.
11954
c3db8364 11955 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
11956 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
11957 reboot.c.
f714229e 11958 (halt_mod_SOURCES): Likewise.
11959 (reboot_mod_SOURCES): Likewise.
11960
c3db8364 11961 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
11962 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 11963 (reboot_mod_SOURCES): Likewise.
11964
11965 * commands/i386/pc/reboot.c: merge this file ...
11966
11967 * commands/ieee1275/reboot.c: ... and this file ...
11968
11969 * commands/reboot.c: ... to this file.
c3db8364 11970 Add some precompiler directive to include the correct header for
11971 each machine.
f714229e 11972
11973 * commands/ieee1275/halt.c: move this file ...
11974
11975 * commands/halt.c: ... to here.
c3db8364 11976 Add some precompiler directive to include the correct header for
11977 each machine.
f714229e 11978
11979 * include/grub/efi/efi.h (grub_reboot): New function declaration.
11980 (grub_halt): Likewise.
11981
11982 * kern/efi/efi.c (grub_reboot): New function.
11983 (grub_halt): Likewise.
11984
c74493e0 119852008-02-12 Robert Millan <rmh@aybabtu.com>
11986
11987 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
11988 /dev (like it is done for /dev/mapper). This doesn't provide support
11989 for EVMS, but at least it is now easy to identify the problem when it
11990 arises.
11991
d0db4b04 119922008-02-11 Robert Millan <rmh@aybabtu.com>
11993
11994 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
11995 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
11996 comparing it with -1, not 0.
11997
bf748642 119982008-02-10 Robert Millan <rmh@aybabtu.com>
11999
12000 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
12001 `disk/lvm.c'.
12002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12003 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12004
12005 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
12006 `disk/lvm.c' to the end of the list.
12007 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12008 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12009
b5db202a 120102008-02-10 Robert Millan <rmh@aybabtu.com>
12011
12012 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
12013 grub_print_error() instead. This will let user know why we're entering
12014 rescue mode.
12015 Based on suggestions from Sam Morris.
12016
83abee31 120172008-02-10 Alexandre Boeglin <alex@boeglin.org>
12018
12019 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
12020 on remaining N args, instead of "--" arg N times.
12021
78d5a08b 120222008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
12023
12024 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
12025 (fill_with_default_glyph): Changed to use unknown_glyph for fill
12026 pattern for unknown glyphs.
12027
68807e5f 120282008-02-09 Robert Millan <rmh@aybabtu.com>
12029
12030 * configure.ac: Probe for `help2man'.
12031 * Makefile.in (builddir): New variable.
12032 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
12033 or otherwise add a few flags/options to it.
12034 (install-local): For every executable utility or script that is
12035 installed, invoke $(HELP2MAN) to install a manpage based on --help
12036 output.
12037
12038 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
12039 that it doesn't prevent --help from working in build tree.
12040
12041 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
12042 with `bug-grub@gnu.org'.
12043 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
12044 * util/update-grub.in (usage): New function.
12045 Implement proper argument check, with support for --help and --version
12046 (as well as existing -y).
12047
120482008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 12049
12050 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
12051 avoid overwriting previous output.
12052 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
12053
c1962162 120542008-02-09 Robert Millan <rmh@aybabtu.com>
12055
12056 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
12057 drawing the menu.
12058
3dac2e3f 120592008-02-09 Robert Millan <rmh@aybabtu.com>
12060
12061 * commands/sleep.c: New file.
12062 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
12063 (sleep_mod_SOURCES): New variable.
12064 (sleep_mod_CFLAGS): Likewise.
12065 (sleep_mod_LDFLAGS): Likewise.
12066
7a634e08 120672008-02-09 Robert Millan <rmh@aybabtu.com>
12068
12069 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
12070 situations in which we can deduce the RAID size and the superblock
12071 doesn't match it.
12072
b92f0c18 120732008-02-09 Robert Millan <rmh@aybabtu.com>
12074
12075 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
12076 and return a grub_diskmemberlist_t composed of LVM physical volumes.
12077 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
12078
12079 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
12080 and return a grub_diskmemberlist_t composed of physical array members.
12081 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
12082
12083 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
12084 prototype.
12085 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
12086 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
12087 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
12088
12089 * util/grub-probe.c (probe): Move partmap probing code from here ...
12090 (probe_partmap): ... to here.
12091 (probe): Use probe_partmap() once for the disk we're probing, and
12092 additionally, when such disk contains a memberlist() struct member,
12093 once for each disk that is contained in the structure returned by
12094 memberlist().
12095
91a4bf68 120962008-02-09 Robert Millan <rmh@aybabtu.com>
12097
12098 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
12099 environment variable to 'all' in order to obtain debug output from
12100 non-util/ code.
12101 * util/i386/pc/grub-setup.c (main): Likewise.
12102
a96f9caa 121032008-02-08 Robert Millan <rmh@aybabtu.com>
12104
12105 * disk/raid.c (grub_raid_scan_device): Check for
12106 `array->device[sb.this_disk.number]' rather than for
12107 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 12108 guaranteed to be accessible.
a96f9caa 12109
b37a9222 121102008-02-08 Robert Millan <rmh@aybabtu.com>
12111
12112 * disk/raid.c: Update copyright.
12113 * fs/cpio.c: Likewise.
12114 * include/grub/raid.h: Likewise.
12115 * loader/i386/pc/multiboot.c: Likewise.
12116 * util/hostfs.c: Likewise.
12117
5626aee1 121182008-02-08 Robert Millan <rmh@aybabtu.com>
12119
12120 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
12121 to a grub_disk_t array.
12122 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
12123 `device[x]'.
12124 (grub_raid_scan_device): Replace `device[x].name' accesses with
12125 `device[x]->name'. Simplify initialization of `array->device[x]'.
12126
554f0187 121272008-02-08 Robert Millan <rmh@aybabtu.com>
12128
12129 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
12130 grub_dprintf() calls.
12131 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
12132 error message.
12133
1ec8425d 121342008-02-07 Christian Franke <franke@computer.org>
12135
12136 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
12137 instead of fseek and ftell to support large files.
12138 (grub_hostfs_read): Likewise.
12139
f2156fda 121402008-02-07 Robert Millan <rmh@aybabtu.com>
12141
12142 Patch from Jeroen Dekkers.
12143 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 12144 failure, since successfully reading all array members might not be
f2156fda 12145 required.
12146
9216e0e7 121472008-02-06 Robert Millan <rmh@aybabtu.com>
12148
12149 * util/grub-probe.c (probe): Simplify partmap probing (with the
12150 assumption that the first word up to the underscore equals to
12151 the module name).
12152
b0dfd29a 121532008-02-06 Christian Franke <franke@computer.org>
12154
12155 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
12156 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
12157 last block of a cpio or tar stream.
12158 Check for "TRAILER!!!" instead of any empty data
12159 block to detect last block of a cpio stream.
12160 (grub_cpio_dir): Fix constness of variable np.
12161 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
12162 cpio or tar trailer is detected. This fixes a crash
12163 on open of a non existing file.
12164
c32865bf 121652008-02-05 Bean <bean123ch@gmail.com>
12166
12167 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
12168 address of entry.
12169 (grub_multiboot_load_elf64): Likewise.
12170 (grub_multiboot): Initialize mbi structure.
12171
12172 * util/grub-fstest.c: Don't include unused header file script.h.
12173
fe6b695a 12174 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 12175 of file.
12176 (grub_fstest_SOURCES): Likewise.
12177
409480b7 121782008-02-05 Robert Millan <rmh@aybabtu.com>
12179
12180 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
12181 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
12182 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
12183 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
12184
12185 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
12186 (translation_table): Replace hardcoded values with macros
12187 provided by `<grub/term.h>'.
12188
12189 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
12190 (keyboard_map): Correct/add a few values, with macros provided
12191 by `<grub/term.h>'.
12192 (keyboard_map_shift): Zero values that don't differ from their
12193 `keyboard_map' equivalents.
12194 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
12195 Discard the second scan code that is always sent by Caps lock.
12196 Only use `keyboard_map_shift' when it provides a non-zero value,
12197 otherwise fallback to `keyboard_map'.
12198
99fadbaa 121992008-02-04 Bean <bean123ch@gmail.com>
12200
12201 * Makefile.in (enable_grub_fstest): New variable.
12202
12203 * conf/common.rmk (grub_fstest_init.lst): New rule.
12204 (grub_fstest_init.h): Likewise.
12205 (grub_fstest_init.c): Likewise.
12206 (util/grub-fstest.c_DEPENDENCIES): New variable.
12207 (grub_fstest_SOURCES): Likewise.
12208
12209 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
12210
12211 * util/grub-fstest.c: New file.
12212
bf567c50 122132008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12214
12215 Make grub-setup handle a separate root device.
f19dbdb7 12216
bf567c50 12217 * util/i386/pc/grub-setup.c (setup): Always open the root device,
12218 so that the root device can be compared with the destination
12219 device.
12220 When embedding the core image, if the root and destination devices
12221 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
12222 0xFF.
12223 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 12224
9be6b98b 122252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12226
12227 Add support for having a grub directory in a different drive. This
12228 is still only the data handling part.
f19dbdb7 12229
9be6b98b 12230 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
12231 (codestart): Save %dh in GRUB_ROOT_DRIVE.
12232 (grub_root_drive): New variable.
12233
12234 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
12235 instead of GRUB_BOOT_DRIVE to construct a device name. Set
12236 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
12237 as it was.
12238
12239 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
12240
12241 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
12242 macro.
12243 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
12244
12245 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
12246 is bogus, because PXE booting does not specify any drive
12247 correctly.
12248
12249 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
12250 am not sure if this is really correct.
12251
12252 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
12253 is always identical to the boot drive when booting from a CD.
12254
12255 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
12256 longer.
12257 (root_drive): New variable.
12258 (real_start): Unconditionally set %dh to ROOT_DRIVE.
12259 (setup_sectors): Push %dx right after popping it, because %dh will
12260 be modified later.
12261 (copy_buffer): Restore %dx.
12262
e0ca0677 122632008-02-03 Robert Millan <rmh@aybabtu.com>
12264
12265 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
12266 use `cdboot.img' for cdrom images.
12267
3b3f6629 122682008-02-03 Robert Millan <rmh@aybabtu.com>
12269
12270 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
12271 only setup gfxterm when `font' command has succeeded.
12272
d42b3672 122732008-02-03 Robert Millan <rmh@aybabtu.com>
12274
12275 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
12276 (grub_rescue_cmd_multiboot_loader)
12277 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
12278
fa370ea6 122792008-02-03 Pavel Roskin <proski@gnu.org>
12280
e0c5dacb 12281 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 12282 %edx and %esi from stack only after grub_gate_a20() is called.
12283 grub_gate_a20() clobbers %edx.
12284
f2a76e1d 122852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12286
12287 * configure.ac (AC_INIT): Bumped to 1.96.
12288
12289 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
12290 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
12291 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
12292 video/readers/png.c.
12293
90fd32d1 122942008-02-03 Bean <bean123ch@gmail.com>
9be665dd 12295
12296 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
12297 (cdboot_img_SOURCES): New variable.
12298 (cdboot_img_ASFLAGS): New variable.
12299 (cdboot_img_LDFLAGS): New variable.
12300
12301 * boot/i386/pc/cdboot.S: New file.
12302
12303 * disk/i386/pc/biosdisk.c (cd_start): New variable.
12304 (cd_count): Likewise.
12305 (grub_biosdisk_get_drive): Add support for cd device.
12306 (grub_biosdisk_call_hook): Likewise.
12307 (grub_biosdisk_iterate): Likewise.
12308 (grub_biosdisk_open): Likewise.
12309 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
12310 (grub_biosdisk_rw): Support reading from cd device.
12311 (GRUB_MOD_INIT): Iterate cd devices.
12312
12313 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
12314 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
12315 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
12316
12317 * kern/i386/pc/init.c (make_install_device): Check for cd device.
12318
4020aa53 123192008-02-02 Robert Millan <rmh@aybabtu.com>
12320
12321 * commands/read.c: New file.
12322 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
12323 (read_mod_SOURCES): New variable.
12324 (read_mod_CFLAGS): Likewise.
12325 (read_mod_LDFLAGS): Likewise.
12326
e03a1132 123272008-02-02 Robert Millan <rmh@aybabtu.com>
12328
12329 * normal/main.c (grub_normal_execute): Check for `menu->size' when
12330 determining whether menu has to be displayed.
12331
58c69220 123322008-02-02 Marco Gerards <marco@gnu.org>
12333
12334 * bus/pci.c: New file.
12335
12336 * include/grub/pci.h: Likewise.
12337
12338 * include/grub/i386/pc/pci.h: Likewise.
12339
12340 * commands/lspci.c: Likewise.
12341
12342 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
12343 `lspci.mod'.
12344 (pci_mod_SOURCES): New variable.
12345 (pci_mod_CFLAGS): Likewise.
12346 (pci_mod_LDFLAGS): Likewise.
12347 (lspci_mod_SOURCES): Likewise.
12348 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 12349 (lspci_mod_LDFLAGS): Likewise.
58c69220 12350
c004e1b4 123512008-02-02 Bean <bean123ch@gmail.com>
12352
12353 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
12354 (grub_ufs_get_file_block): Fix indirect block calculation problem.
12355
12356 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
12357 (grub_xfs_btree_node): New structure.
12358 (grub_xfs_btree_root): New structure.
12359 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
12360 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
12361 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12362 (GRUB_XFS_EXTENT_SIZE): Likewise.
12363 (grub_xfs_read_block): Support btree format type.
12364 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
12365 Use directory block as basic unit.
12366
12367 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
12368
12369 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
12370 __attribute__ ((__regparm__ (1))).
12371
f95562bf 123722008-02-01 Robert Millan <rmh@aybabtu.com>
12373
12374 Correct a mistake in previous commit.
12375
12376 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
12377 top.
12378 (normal/command.c_DEPENDENCIES): New variable.
12379
7d31f41f 123802008-02-01 Robert Millan <rmh@aybabtu.com>
12381
12382 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
12383 top.
12384 (normal/command.c_DEPENDENCIES): New variable.
12385 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
12386 * conf/i386-ieee1275.rmk: Likewise.
12387 * conf/i386-linuxbios.rmk: Likewise.
12388 * conf/i386-pc.rmk: Likewise.
12389 * conf/sparc64-ieee1275.rmk: Likewise.
12390 * conf/powerpc-ieee1275.rmk: Likewise.
12391 (grub_emu_SOURCES): Add `fs/fshelp.c'.
12392
12393 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
12394
60b6be74 123952008-02-01 Robert Millan <rmh@aybabtu.com>
12396
12397 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
12398 call at beginning of function.
12399
078522ab 124002008-01-31 Pavel Roskin <proski@gnu.org>
12401
12402 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 12403 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
12404 (grub_mkrescue_SOURCES): Likewise.
078522ab 12405 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
12406
ccaa8a5f 124072008-01-30 Robert Millan <rmh@aybabtu.com>
12408
12409 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
12410 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
12411 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
12412 (grub_probe_SOURCES): ... to here.
12413
12414 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
12415 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
12416 * conf/i386-ieee1275.rmk: Likewise.
12417 * conf/i386-linuxbios.rmk: Likewise.
12418 * conf/powerpc-ieee1275.rmk: Likewise.
12419
ae5a9cd7 124202008-01-30 Tristan Gingold <gingold@free.fr>
12421
12422 * kern/rescue.c: Silently accept empty lines.
12423
70bc2ef2 124242008-01-29 Bean <bean123ch@gmail.com>
12425
12426 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
12427 (real_code_2): Code cleanup and change comment style.
12428 (move_memory): Avoid using 32-bit address mode.
12429
6a4d50ea 124302008-01-29 Bean <bean123ch@gmail.com>
12431
12432 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
12433 (png_mod_SOURCES): New variable.
12434 (png_mod_CFLAGS): Likewise.
12435 (png_mod_LDFLAGS): Likewise.
12436
12437 * video/readers/png.c: New file.
12438
11cc30ac 124392008-01-28 Robert Millan <rmh@aybabtu.com>
12440
12441 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
12442 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
12443 `ifndef GRUB_MOD_GAP' hack.
12444 * util/elf/grub-mkimage.c (add_segments): Likewise.
12445
3abc589f 124462008-01-27 Robert Millan <rmh@aybabtu.com>
12447
12448 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
12449 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 12450 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 12451
e1907778 124522008-01-27 Robert Millan <rmh@aybabtu.com>
12453
12454 Get grub-emu to build again (including parallel builds).
12455
12456 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
12457 Split into ...
12458 (util/grub-emu.c_DEPENDENCIES): ... this, ...
12459 (normal/execute.c_DEPENDENCIES): ... this, ...
12460 (grub-emu_DEPENDENCIES): ... and this.
12461
12462 * conf/i386-efi.rmk: Likewise.
12463 * conf/i386-linuxbios.rmk: Likewise.
12464 * conf/i386-ieee1275.rmk: Likewise.
12465 * conf/powerpc-ieee1275.rmk: Likewise.
12466 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
12467
2216b101 124682008-01-27 Robert Millan <rmh@aybabtu.com>
12469
12470 * NEWS: Add a few items.
12471
f75172d9 124722008-01-27 Robert Millan <rmh@aybabtu.com>
12473
12474 Fix parallel builds with grub-emu. Based on earlier commit for
12475 grub-probe and grub-setup.
12476
12477 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12478 (util/grub-emu.c_DEPENDENCIES): ... this.
12479 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12480 (util/grub-emu.c_DEPENDENCIES): ... this.
12481 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12482 (util/grub-emu.c_DEPENDENCIES): ... this.
12483 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12484 (util/grub-emu.c_DEPENDENCIES): ... this.
12485 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12486 (util/grub-emu.c_DEPENDENCIES): ... this.
12487
3f51de77 124882008-01-27 Pavel Roskin <proski@gnu.org>
12489
12490 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
12491 to create a gap between _end and the modules added to the image
12492 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
12493 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
12494 * util/elf/grub-mkimage.c (add_segments): Likewise.
12495
2033f53e 124962008-01-26 Pavel Roskin <proski@gnu.org>
12497
12498 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
12499 just return an error.
12500
22da1f6f 125012008-01-26 Bean <bean123ch@gmail.com>
12502
12503 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
12504 (grub_reiserfs_get_item): Save offset of the next item.
12505 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
12506
2a9525e6 125072008-01-25 Robert Millan <rmh@aybabtu.com>
12508
12509 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
12510 make all filesystem sources appear together (possibly fixing omissions
12511 while at it).
12512 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12513 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12514 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12516
12517 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
12518 add `kern/file.c'.
12519 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
12520 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12521 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
12522 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12523
12524 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
12525 (probe): Add a sanity check to make sure of our ability to read
12526 requested files when probing for filesystem type.
12527
12528 * genmk.rb: Update copyright year (2007).
12529
12530 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
12531 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
12532 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
12533 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
12534 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
12535 : Remove function prototypes.
12536
b95f71b5 125372008-01-25 Robert Millan <rmh@aybabtu.com>
12538
12539 Revert my previous commits (based on wrong assumption of how grub_errno
12540 works).
12541
fe6b695a 12542 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 12543 * kern/file.c (grub_file_open): Likewise.
12544
d08bbb49 125452008-01-24 Pavel Roskin <proski@gnu.org>
12546
12547 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
12548 that hang if GRUB tries to setup colors.
12549 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
12550 colors for firmwares that don't support it.
12551 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
12552 Recognize Open Hack'Ware, set flags to work around its
12553 limitations.
12554
605e36ed 125552008-01-24 Robert Millan <rmh@aybabtu.com>
12556
12557 * kern/file.c (grub_file_open): Do not account previous failures of
12558 unrelated functions when grub_errno is checked for.
12559 Reported by Oleg Strikov.
12560
bac332a1 125612008-01-24 Bean <bean123ch@gmail.com>
12562
12563 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
12564 (grub_ufs_sblock): New member volume name.
12565 (grub_ufs_find_file): Fix string copy bug.
12566 (grub_ufs_label): Implement this function properly.
12567
12568 * fs/hfs.c (grub_hfs_cnid_type): New enum.
12569 (grub_hfs_iterate_records): Use the correct file number for extents
12570 and catalog file. Fix problem in next index calculation.
12571 (grub_hfs_find_node): Replace recursive function call with loop.
12572 (grub_hfs_iterate_dir): Replace recursive function call with loop.
12573
15c80c09 125742008-01-23 Robert Millan <rmh@aybabtu.com>
12575
12576 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
12577 `<grub/symbol.h>' and `<grub/multiboot.h>'.
12578 (grub_multiboot2_real_boot): New function prototype.
12579
12580 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
12581 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
12582
12583 * kern/i386/ieee1275/init.c (grub_os_area_addr)
12584 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
12585
305338fd 125862008-01-23 Robert Millan <rmh@aybabtu.com>
12587
12588 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
12589 #ifdef'ed out grub_printf().
12590
3ea52685 125912008-01-23 Robert Millan <rmh@aybabtu.com>
12592
12593 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
12594 grub_dprintf calls, since they make "debug=all" mode unusable.
12595 (grub_console_checkkey): Likewise.
12596
5882ae4b 125972008-01-23 Robert Millan <rmh@aybabtu.com>
12598
12599 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12600 `term/i386/pc/at_keyboard.c'.
12601 (pkglib_MODULES): Add `serial.mod'.
12602 (serial_mod_SOURCES): New variable.
12603 (serial_mod_CFLAGS): Likewise.
12604 (serial_mod_LDFLAGS): Likewise.
12605
12606 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
12607 `<grub/powerpc/ieee1275/console.h>'.
12608 (grub_keyboard_controller_init): New function prototype.
12609 (grub_console_checkkey): Likewise.
12610 (grub_console_getkey): Likewise.
12611
12612 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
12613 keyboard on i386.
12614
12615 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
12616 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
12617
06ab5303 126182008-01-23 Robert Millan <rmh@aybabtu.com>
12619
12620 * kern/i386/pc/init.c (make_install_device): When memdisk image is
12621 present, "(memdisk)/boot/grub" becomes the default prefix.
12622
12623 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
12624 a memdisk tarball with all the modules. Add --overlay=DIR option that
12625 allows users to overlay additional files into the image.
12626
dbb475a4 126272008-01-23 Robert Millan <rmh@aybabtu.com>
12628
12629 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
12630 and `machine/memory.h'.
12631 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
12632 (_multiboot_mod_SOURCES): New variable.
12633 (_multiboot_mod_CFLAGS): Likewise.
12634 (_multiboot_mod_LDFLAGS): Likewise.
12635 (multiboot_mod_SOURCES): Likewise.
12636 (multiboot_mod_CFLAGS): Likewise.
12637 (multiboot_mod_LDFLAGS): Likewise.
12638
12639 * include/grub/i386/ieee1275/loader.h: New file.
12640
12641 * include/grub/i386/ieee1275/machine.h: Likewise.
12642
12643 * include/grub/i386/ieee1275/memory.h: Likewise.
12644
12645 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
12646 variable declaration.
12647 (grub_os_area_size): Likewise.
12648
12649 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
12650 (grub_lower_mem, grub_upper_mem): New variables.
12651 (grub_stop_floppy): New function (just to make
12652 grub_multiboot2_real_boot() happy).
12653
12654 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
12655 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
12656 (grub_stop): New function.
12657 Include `"../realmode.S"' and `"../loader.S"'.
12658
12659 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
12660 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
12661
12662 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
12663 rely on grub_multiboot2_real_boot() for final boot.
12664
25638629 126652008-01-22 Robert Millan <rmh@aybabtu.com>
12666
12667 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
12668 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
12669 device that doesn't look like an SD card.
12670 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12671 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
12672 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
12673 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
12674 found.
12675
9dad816d 126762008-01-22 Robert Millan <rmh@aybabtu.com>
12677
12678 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
12679 avoid claiming over our own code.
12680
34842f2d 126812008-01-22 Bean <bean123ch@gmail.com>
12682
12683 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
12684 (jpeg_mod_SOURCES): New variable.
12685 (jpeg_mod_CFLAGS): Likewise.
12686 (jpeg_mod_LDFLAGS): Likewise.
12687
12688 * video/readers/jpeg.c : New file.
12689
44023a28 126902008-01-22 Bean <bean123ch@gmail.com>
12691
12692 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
12693 there are no more items.
12694
bc2d8ac6 126952008-01-21 Robert Millan <rmh@aybabtu.com>
12696
12697 * kern/mm.c (grub_mm_init_region): Improve debug message.
12698
261bd4bc 126992008-01-21 Robert Millan <rmh@aybabtu.com>
12700
12701 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
12702 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
12703 address.
12704 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
12705 a C macro.
12706 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
12707 Indicates start of upper memory.
12708 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
12709 (generate_image): Abort when image size is big enough to corrupt
12710 upper memory.
12711
12712 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
12713 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
12714 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12715 instead of hardcoding 0xA0000.
12716 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
12717 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12718 instead of hardcoding 0xA0000.
12719
f970b55e 127202008-01-21 Robert Millan <rmh@aybabtu.com>
12721
12722 * disk/memdisk.c (memdisk_size): New variable.
12723 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
12724 `memdisk_size'.
12725 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
12726 image to dynamic memory.
12727 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
12728 `memdisk_size'. Free memdisk block.
12729
1a8b0526 127302008-01-21 Robert Millan <rmh@aybabtu.com>
12731
12732 Fix detection of very small filesystems (like tar).
12733
12734 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
12735 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
12736 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
12737 a problem with this disk).
12738
6e9b4aab 127392008-01-21 Robert Millan <rmh@aybabtu.com>
12740
12741 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
12742 on grub_biosdisk_rw_standard() error.
12743
0d8837b2 127442008-01-21 Robert Millan <rmh@aybabtu.com>
12745
12746 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
12747 recent changes.
12748 * kern/elf.c: Likewise.
12749 * kern/ieee1275/ieee1275.c: Likewise.
12750 * kern/powerpc/ieee1275/openfw.c: Likewise.
12751 * term/ieee1275/ofconsole.c: Likewise.
12752
ffd36e34 127532008-01-21 Robert Millan <rmh@aybabtu.com>
12754
12755 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
12756
3f0093d0 12757 * include/grub/kernel.h (grub_arch_memdisk_addr)
12758 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 12759
3f0093d0 12760 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
12761 (grub_arch_memdisk_size): ... to here.
ffd36e34 12762
6c391b21 127632008-01-21 Robert Millan <rmh@aybabtu.com>
12764
12765 Mostly based on bugfix from Bean.
12766
12767 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
12768 attribute with hook() parameter.
12769 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
12770 declaration.
12771 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
12772 attribute with hook() parameter.
12773 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
12774 declaration.
12775
55a581dc 127762008-01-21 Robert Millan <rmh@aybabtu.com>
12777
12778 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
12779 (pkglib_MODULES): Add `memdisk.mod'.
12780 (memdisk_mod_SOURCES): New variable.
12781 (memdisk_mod_CFLAGS): Likewise.
12782 (memdisk_mod_LDFLAGS): Likewise.
12783
12784 * disk/memdisk.c: New file.
12785
12786 * include/grub/disk.h (grub_disk_dev_id): Add
12787 `GRUB_DISK_DEVICE_MEMDISK_ID'.
12788
12789 * include/grub/i386/pc/kernel.h
12790 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
12791 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
12792 (grub_kernel_image_size): New variable declaration.
12793 (grub_total_module_size): Likewise.
12794 (grub_memdisk_image_size): Likewise.
12795
12796 * include/grub/i386/pc/memory.h
12797 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
12798
12799 * include/grub/kernel.h: Include `<grub/symbol.h>'.
12800 (grub_arch_memdisk_addr): New variable declaration.
12801 (grub_arch_memdisk_size): Likewise.
12802
12803 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
12804 (grub_arch_memdisk_size): Likewise.
12805
12806 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
12807 (codestart): Replace hardcoded `0x100000' with
12808 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
12809
12810 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
12811 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
12812 not NULL, append the contents of the file it refers to, at the end of
12813 the compressed kernel image. Initialize `grub_memdisk_image_size'
12814 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
12815 (options): Add "memdisk"|'m' option.
12816 (main): Parse --memdisk|-m option, and pass user-provided path as
12817 parameter to generate_image().
12818
3d7f54c9 128192008-01-20 Robert Millan <rmh@aybabtu.com>
12820
12821 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
12822 grub_dprintf() calls from here ...
12823 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
12824
0bf74728 128252008-01-20 Robert Millan <rmh@aybabtu.com>
12826
12827 Fix detection of "real mode" when /options/real-mode? doesn't exist.
12828
12829 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
12830 declaration.
12831 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
12832 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
12833 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 12834 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 12835 property).
12836 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
12837 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
12838
33bf70a7 128392008-01-19 Robert Millan <rmh@aybabtu.com>
12840
fe6b695a 12841 Get rid of confusing function (superseded by
33bf70a7 12842 `grub_ieee1275_get_integer_property')
12843 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
12844 prototype.
12845 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
12846 function.
12847 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
12848 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 12849 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 12850
e2da7d26 128512008-01-19 Robert Millan <rmh@aybabtu.com>
12852
12853 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
12854 command after "shut-down", since implementations differ on which
12855 the command for halt is.
12856
59f1fd8d 128572008-01-19 Robert Millan <rmh@aybabtu.com>
12858
12859 * include/grub/i386/linuxbios/console.h: Add header protection.
12860 (grub_keyboard_controller_init): New function prototype.
12861 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
12862 (KEYBOARD_COMMAND_READ): Likewise.
12863 (KEYBOARD_COMMAND_WRITE): Likewise.
12864 (KEYBOARD_SCANCODE_SET1): Likewise.
12865 (grub_keyboard_controller_write): New function.
12866 (grub_keyboard_controller_read): Likewise.
12867 (grub_keyboard_controller_init): Likewise.
12868
12869 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
12870 (grub_console_init): On coreboot/LinuxBIOS, call
12871 grub_keyboard_controller_init().
12872
5f5a7c15 128732008-01-19 Robert Millan <rmh@aybabtu.com>
12874
12875 PowerPC changes provided by Pavel Roskin.
12876
12877 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
12878 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
12879 don't rely on cmain() doing it.
12880 * kern/i386/ieee1275/startup.S (_start): Store %eax in
12881 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
12882
1210e168 128832008-01-16 Robert Millan <rmh@aybabtu.com>
12884
12885 * include/grub/i386/linuxbios/memory.h
12886 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
12887 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
12888 receive `table_header' as argument. Instead, probe for it in the
12889 known memory ranges where it can be present.
12890 (grub_available_iterate): Do not pass a fixed `table_header' address
12891 to grub_linuxbios_table_iterate().
12892
3d04eab8 128932008-01-15 Robert Millan <rmh@aybabtu.com>
12894
12895 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
12896 * conf/i386-ieee1275.rmk: New file.
12897 * include/grub/i386/ieee1275/console.h: Likewise.
12898 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
12899 * include/grub/i386/ieee1275/kernel.h: Likewise.
12900 * include/grub/i386/ieee1275/time.h: Likewise.
12901 * kern/i386/ieee1275/init.c: Likewise.
12902 * kern/i386/ieee1275/startup.S: Likewise.
12903
d1bc1b73 129042008-01-15 Robert Millan <rmh@aybabtu.com>
12905
12906 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
12907 when pointers are 32-bit (but still do set it to one when they are
12908 64-bit).
12909
66a65807 129102008-01-15 Robert Millan <rmh@aybabtu.com>
12911
12912 * include/grub/ieee1275/ieee1275.h
12913 (grub_ieee1275_get_integer_property): New function prototype.
12914
12915 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
12916 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 12917 grub_ieee1275_get_property() to handle endianness.
66a65807 12918
12919 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
12920 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 12921 where appropriate.
66a65807 12922 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
12923 (grub_map): Likewise.
12924 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
12925
a83ccafd 129262008-01-15 Bean <bean123ch@gmail.com>
12927
12928 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
12929 (grub_script_execute_cmdline): Reset grub_errno.
12930
12931 * normal/main.c (read_config_file): Reset grub_errno.
12932
12933 * normal/parse.y (script_init): New.
12934 (script): Move function and menuentry here.
12935 (delimiter): New.
12936 (command): Add delimiter at the end of command.
12937 (commands): Adjust to match the new command.
12938 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 12939 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 12940 (if): Use the new commands.
12941
12942 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
12943
df6ecfc6 129442008-01-15 Robert Millan <rmh@aybabtu.com>
12945
12946 * normal/menu.c (run_menu): Move timeout message from here ...
12947 (print_timeout): ... to here.
12948 (run_menu): Use print_timeout() once during initial draw to print
12949 the whole message, and again in every clock tick to update only
12950 the number of seconds.
12951
87ae25eb 129522008-01-15 Robert Millan <rmh@aybabtu.com>
12953
12954 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
12955 actual size of `available' from grub_ieee1275_get_property(), and
12956 restrict parsing to that bound.
12957
47bf09a4 129582008-01-15 Christian Franke <franke@computer.org>
12959
12960 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
12961 (argp_program_version): Remove variable.
12962 (argp_program_bug_address): Likewise.
12963 (options): Convert from struct argp_option to struct option.
12964 (struct arguments): Remove.
12965 (parse_opt): Remove.
12966 (usage): New function.
12967 (main): Replace struct args members by simple variables.
12968 Replace argp_parse() by getopt_long().
12969 Add switch to evaluate options.
12970 Add missing "(...)" around root_dev in prefix string.
12971
c86f1469 129722008-01-14 Robert Millan <rmh@aybabtu.com>
12973
12974 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
12975 for grub_ieee1275_exit(), in order to improve portability.
12976
e622c559 129772008-01-14 Robert Millan <rmh@aybabtu.com>
12978
12979 * util/grub.d/10_linux.in (prefix): Define.
12980 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
12981
44cb1ec8 129822008-01-13 Pavel Roskin <proski@gnu.org>
12983
12984 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
12985 grub_errno if no errors have been detected.
12986
1eb8c802 129872008-01-12 Robert Millan <rmh@aybabtu.com>
12988
12989 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
12990 (grub_util_get_dev_abstraction): New function prototype.
12991
12992 * util/getroot.c: Include `<grub/util/getroot.h>'
12993 (grub_util_get_grub_dev): Move detection of abstraction type to ...
12994 (grub_util_get_dev_abstraction): ... here (new function).
12995
12996 * util/grub-probe.c: Convert PRINT_* to an enum. Add
12997 `PRINT_ABSTRACTION'.
12998 (probe): Probe for abstraction type when requested.
12999 (main): Understand `--target=abstraction'.
13000
13001 * util/i386/efi/grub-install.in: Add abstraction module to core
13002 image when it is found to be necessary.
13003 * util/i386/pc/grub-install.in: Likewise.
13004 * util/powerpc/ieee1275/grub-install.in: Likewise.
13005
13006 * util/update-grub_lib.in (font_path): Return system path without
13007 converting to GRUB path.
13008 * util/update-grub.in: Convert system path returned by font_path()
13009 to a GRUB path. Use `grub-probe -t abstraction' to determine what
13010 abstraction module is needed for loading fonts (if any). Export
13011 that as `GRUB_PRELOAD_MODULES'.
13012 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
13013 insmod commands).
13014
52bd3de9 130152008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
13016
13017 Remove some unused code from reiserfs.
f19dbdb7 13018
52bd3de9 13019 * fs/reiserfs.c (struct grub_reiserfs_key)
13020 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
13021 (struct grub_reiserfs_node_body): Removed.
13022 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
13023 Likewise.
13024 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13025 Likewise.
13026 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13027 Likewise.
13028 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13029 Likewise.
13030 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
13031 Likewise.
13032 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
13033 Likewise.
13034 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13035 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13036 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13037
2f80039d 130382008-01-10 Robert Millan <rmh@aybabtu.com>
13039
13040 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
13041 Determines if a file is garbage left by packaging systems, etc.
13042 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
13043 for processing /etc/grub.d scripts.
13044 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
13045 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
13046 as a condition for processing Linux images.
13047
87888032 130482008-01-10 Pavel Roskin <proski@gnu.org>
13049
13050 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
13051 to compile reiserfs.c on PowerPC.
13052
7e54fced 130532008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 13054
13055 * kern/device.c (grub_device_iterate): Do not abort device iteration
13056 when one of the devices cannot be opened.
13057 * kern/disk.c (grub_disk_open): Do not account previous failures of
13058 unrelated functions when grub_errno is checked for.
13059
5aa541e6 130602008-01-08 Robert Millan <rmh@aybabtu.com>
13061
13062 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
13063 `! grub_linux_is_bzimage', change order of address comparison to make
13064 it more intuitive, and improve "too big zImage" error message.
13065
7076340d 130662008-01-08 Robert Millan <rmh@aybabtu.com>
13067
13068 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
13069 `$(update-grub_DATA)'.
13070 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
13071 targets.
13072
9ca70333 130732008-01-07 Robert Millan <rmh@aybabtu.com>
13074
13075 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
13076 which instruction is modified by grub-setup during installation
13077 (since it wasn't obvious by only looking at this file).
13078
38ccf575 130792008-01-07 Robert Millan <rmh@aybabtu.com>
13080
13081 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
13082 listing actual TODO items.
13083
f5db4291 130842008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
13085
868967cf 13086 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
13087 correctly.
13088 (grub_reiserfs_get_key_offset): Likewise.
13089 (grub_reiserfs_set_key_offset): Likewise.
13090 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 13091 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 13092
13093 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
13094 better to remove the bitfield version completely.
f19dbdb7 13095
868967cf 130962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 13097
f5db4291 13098 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
13099 allocated from the heap, due to the fshelp implementation.
13100 (grub_reiserfs_dir): Free NODE, due to the same reason.
13101
492e6d9d 131022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
13103
13104 Mostly from Vincent Pelletier:
f19dbdb7 13105
492e6d9d 13106 * fs/reiserfs.c: New file.
f19dbdb7 13107
492e6d9d 13108 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
13109 (reiserfs_mod_SOURCES): New variable.
13110 (reiserfs_mod_CFLAGS): Likewise.
13111 (reiserfs_mod_LDFLAGS): Likewise.
13112
13113 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
13114 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
13115 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
13116 normal/color.c.
13117
9ce3e7c1 131182008-01-06 Robert Millan <rmh@aybabtu.com>
13119
13120 * normal/color.c: Remove `<grub/env.h>'.
13121
f3b58148 131222008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
13123
13124 * include/grub/normal.h: Include <grub/env.h>.
13125
7ac3bcfa 131262008-01-05 Robert Millan <rmh@aybabtu.com>
13127
13128 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
13129 usage example with `(hd0,1)'.
fb358190 13130 Reported by Samuel Thibault.
7ac3bcfa 13131
c8ee99d7 131322008-01-05 Robert Millan <rmh@aybabtu.com>
13133
13134 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
13135 (grub_linux_boot_zimage): Rename to ...
13136 (grub_linux_boot): ... this.
13137 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
13138 (grub_linux_boot_zimage): Conditionalize zImage copy.
13139
13140 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
13141 (grub_linux_boot_bzimage): Remove prototype.
13142 (grub_linux_boot_zimage): Rename to ...
13143 (grub_linux_boot): ... this.
13144
13145 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
13146 (grub_linux_boot): Remove function.
13147
0ece25b1 131482008-01-05 Robert Millan <rmh@aybabtu.com>
13149
13150 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
13151 (grub_env_write_color_highlight): Likewise.
13152 (grub_wait_after_message): Likewise.
13153
13154 * normal/color.c: New file.
13155
13156 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13157 (normal_mod_DEPENDENCIES): Likewise.
13158
13159 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13160 (normal_mod_DEPENDENCIES): Likewise.
13161
13162 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13163 (normal_mod_DEPENDENCIES): Likewise.
13164
13165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13166 (normal_mod_DEPENDENCIES): Likewise.
13167
13168 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
13169 for waiting after a message is printed.
13170 * normal/main.c (read_config_file): Likewise.
13171 (grub_normal_init): Register grub_env_write_color_normal() and
13172 grub_env_write_color_highlight() hooks. Mark `color_normal' and
13173 `color_highlight' variables as global.
13174
13175 * normal/menu.c (grub_wait_after_message): New function.
13176 (grub_color_menu_normal): New variable. Replaces ...
13177 (GRUB_COLOR_MENU_NORMAL): ... this macro.
13178 (grub_color_menu_highlight): New variable. Replaces ...
13179 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
13180 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
13181 `GRUB_TERM_COLOR_STANDARD'.
13182 (print_message): Use `grub_setcolorstate' to reload colors. Rename
13183 `normal_code' and `highlight_code' to `old_color_normal' and
13184 `old_color_highlight', respectively.
13185 (grub_menu_init_page): Update colors when drawing the menu, based on
13186 `menu_color_normal' and `menu_color_highlight' variables.
13187 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
13188 a message is printed.
13189
182dd4e5 131902008-01-05 Robert Millan <rmh@aybabtu.com>
13191
13192 * kern/env.c (grub_env_context_open): Propagate hooks for global
13193 variables to new context.
13194
13195 * kern/main.c (grub_set_root_dev): Export `root' variable.
13196
ddf8f6ad 131972008-01-05 Robert Millan <rmh@aybabtu.com>
13198
13199 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 13200 discs unconditionally, since udev and others have options to provide
ddf8f6ad 13201 them.
13202
d8b43d9b 132032008-01-05 Robert Millan <rmh@aybabtu.com>
13204
13205 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
13206
2bff2de3 132072008-01-04 Christian Franke <franke@computer.org>
13208
13209 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
13210 of eisa_mmap.
13211
97eab917 132122008-01-03 Pavel Roskin <proski@gnu.org>
13213
13214 * kern/i386/linuxbios/init.c: Put "void" to all function
13215 declarations with no arguments.
13216 * kern/powerpc/ieee1275/init.c: Likewise.
13217 * term/i386/pc/at_keyboard.c: Likewise.
13218 * term/i386/pc/vga_text.c: Likewise.
13219 * util/grub-mkdevicemap.c: Likewise.
13220
b9416d00 132212008-01-02 Robert Millan <rmh@aybabtu.com>
13222
13223 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
13224 message when loaded image is out of bounds.
13225 (grub_multiboot_load_elf64): Likewise.
13226
92695df9 132272008-01-02 Pavel Roskin <proski@gnu.org>
13228
13229 * util/grub.d/10_linux.in: Try version without ".old" when
13230 looking for initrd. It's better to use initrd from the newer
13231 kernel of the same version than no initrd at all.
13232
d98d9cad 132332008-01-01 Robert Millan <rmh@aybabtu.com>
13234
13235 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
13236
dbfdce36 132372008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
13238
f19dbdb7 13239 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 13240 grub_video_get_active_render_target.
13241 (grub_video_adapter): Added unmap_color and get_active_render_target.
13242
f19dbdb7 13243 * video/video.c: Added grub_video_unmap_color and
dbfdce36 13244 grub_video_get_active_render_target.
13245 (grub_video_get_info): Changed method to accept NULL pointer as an
13246 argument to allow detection of active video adapter.
13247
13248 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
13249 grub_video_vbe_unmap_color_int.
13250 Added grub_video_vbe_unmap_color and
13251 grub_video_vbe_get_active_render_target.
13252 (grub_video_vbe_adapter): Added unmap_color and
13253 get_active_render_target.
13254
f19dbdb7 13255 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 13256 with grub_video_vbe_unmap_color_int.
13257
13258 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
13259 (DEFAULT_NORMAL_COLOR): Likewise.
13260 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
13261 (DEFAULT_FG_COLOR): Removed.
13262 (DEFAULT_BG_COLOR): Likewise.
13263 (DEFAULT_CURSOR_COLOR): Changed value.
13264 (grub_virtual_screen): Added standard_color_setting,
13265 normal_color_setting, highlight_color_setting and term_color.
13266 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
13267 (bitmap_width): Added.
13268 (bitmap_height): Likewise.
13269 (bitmap): Likewise.
13270 (set_term_color): Likewise.
13271 (grub_virtual_screen_setup): Changed to use new terminal coloring
13272 settings.
13273 (grub_gfxterm_init): Added init for bitmap.
13274 (grub_gfxterm_fini): Added destroy for bitmap.
13275 (redraw_screen_rect): Updated to use background bitmap and new
13276 terminal coloring.
13277 (scroll_up): Added optimization for case when there is no bitmap.
13278 (grub_gfxterm_cls): Fixed to use correct background color.
13279 (grub_virtual_screen_setcolorstate): Changed to use new terminal
13280 coloring.
13281 (grub_virtual_screen_setcolor): Likewise.
13282 (grub_virtual_screen_getcolor): Added.
13283 (grub_gfxterm_background_image_cmd): Likewise.
13284 (grub_video_term): Added setcolor and getcolor.
13285 (MOD_INIT): Added registration of background_image command.
13286 (MOD_TERM): Added unregistration for background_image command.
13287
c3c20931 132882007-12-30 Pavel Roskin <proski@gnu.org>
13289
13290 * loader/multiboot_loader.c: Fix multiboot command
13291 unregistration. Fix all typos in the word "multiboot".
13292
df266716 132932007-12-29 Pavel Roskin <proski@gnu.org>
94239199 13294
13295 * util/grub.d/10_linux.in: Refactor search for initrd. Add
13296 support for initrd names used in Fedora.
13297
fc6e896c 132982007-12-26 Bean <bean123ch@gmail.com>
13299
13300 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
13301 (cpio_mod_SOURCES): New variable.
13302 (cpio_mod_CFLAGS): Likewise.
13303 (cpio_mod_LDFLAGS): Likewise.
13304
13305 * fs/cpio.c: New file.
13306
13307 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
13308
13309 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13310
13311 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13312
13313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13314
533110ad 133152007-12-25 Robert Millan <rmh@aybabtu.com>
13316
13317 * include/grub/term.h (struct grub_term): Add `getcolor' function.
13318 (grub_getcolor): New function.
13319
13320 * kern/term.c (grub_getcolor): New function.
13321 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
13322 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
13323 (print_entry): Set normal and highlight colors to
13324 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
13325 respectively, before printing and restore them to old
13326 values afterwards.
13327 (grub_menu_init_page): Likewise. Fill an additional colored space
13328 that would otherwise be left blank.
13329
13330 * term/efi/console.c (grub_console_getcolor): New function.
13331 (struct grub_console_term.getcolor): New variable.
13332 * term/i386/pc/console.c (grub_console_getcolor): New function.
13333 (struct grub_console_term.getcolor): New variable.
13334 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
13335 (struct grub_console_term.getcolor): New variable.
13336
13337 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
13338 (struct grub_console_term.setcolor): Remove variable.
13339 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
13340 (struct grub_console_term.setcolor): Remove variable.
13341 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
13342 (struct grub_console_term.setcolor): Remove variable.
13343 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
13344 (struct grub_console_term.setcolor): Remove variable.
13345
4931827f 133462007-12-25 Robert Millan <rmh@aybabtu.com>
13347
13348 * configure.ac: Search for possible unifont.hex locations, and
13349 define UNIFONT_HEX if found.
13350
13351 * Makefile.in (UNIFONT_HEX): Define variable.
13352 (DATA): Rename to ...
13353 (PKGLIB): ... this. Update all users.
13354 (PKGDATA): New variable.
13355 (pkgdata_IMAGES): Rename to ...
13356 (pkglib_IMAGES): ... this. Update all users.
13357 (pkgdata_MODULES): Rename to ...
13358 (pkglib_MODULES): ... this. Update all users.
13359 (pkgdata_PROGRAMS): Rename to ...
13360 (pkglib_PROGRAMS): ... this. Update all users.
13361 (pkgdata_DATA): Rename to ...
13362 (pkglib_DATA): ... this. Update all users.
13363 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
13364 (unicode.pff, ascii.pff): New rules.
13365 (all-local): Add `$(PKGDATA)' dependency.
13366 (install-local): Process `$(PKGDATA)'.
13367
13368 * util/update-grub_lib.in (font_path): Search for *.pff files in
13369 a few more locations, including `${pkgdata}'.
13370
57e57e31 133712007-12-23 Robert Millan <rmh@aybabtu.com>
13372
13373 Patch from Bean <bean123ch@gmail.com>:
13374 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
13375 `size'.
13376
4bc72aa9 133772007-12-21 Bean <bean123ch@gmail.com>
13378
13379 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
13380 (ntfscomp_mod_SOURCES): New variable.
13381 (ntfscomp_mod_CFLAGS): Likewise.
13382 (ntfscomp_mod_LDFLAGS): Likewise.
13383
13384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
13385 (grub_probe_SOURCES): Likewise.
13386 (grub_emu_SOURCES): Likewise.
13387
13388 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13389 (grub_emu_SOURCES): Likewise.
13390
13391 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13392 (grub_emu_SOURCES): Likewise.
13393
13394 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13395 (grub_emu_SOURCES): Likewise.
13396
13397 * fs/ntfs.c (grub_ntfscomp_func): New variable.
13398 (read_run_list): Renamed to grub_ntfs_read_run_list.
13399 (decomp_nextvcn): Moved to ntfscomp.c.
13400 (decomp_getch): Likewise.
13401 (decomp_get16): Likewise.
13402 (decomp_block): Likewise.
13403 (read_block): Likewise.
13404 (read_data): Partially moved to ntfscomp.c.
13405 (fixup): Change unsigned to grub_uint16_t.
13406 (read_mft): Change unsigned long to grub_uint32_t.
13407 (read_attr): Likewise.
13408 (read_data): Likewise.
13409 (read_run_data): Likewise.
13410 (read_run_list): Likewise.
13411 (read_mft): Likewise.
13412
13413 * fs/ntfscomp.c: New file.
13414
13415 * include/grub/ntfs.h: New file.
13416
af680a87 134172007-12-16 Robert Millan <rmh@aybabtu.com>
13418
13419 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
13420 IDE disk check, since Linux is known to support 20 IDE disks.
13421 Reported by Colin Watson.
13422
84be7599 134232007-12-15 Bean <bean123ch@gmail.com>
13424
13425 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
13426 (lnxboot_img_SOURCES): New variable.
13427 (lnxboot_img_ASFLAGS): Likewise.
13428 (lnxboot_img_LDFLAGS): Likewise.
13429
13430 * boot/i386/pc/lnxboot.S: New file.
13431
6af9db01 134322007-11-24 Pavel Roskin <proski@gnu.org>
13433
13434 * configure.ac: Test if '--build-id=none' is supported by the
13435 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
13436 objcopy to generate incorrect binary files (binutils
13437 2.17.50.0.18-1 as shipped by Fedora 8).
13438 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
13439 linking, so that build ID doesn't break the test.
13440
7361cfe6 134412007-11-24 Pavel Roskin <proski@gnu.org>
13442
13443 * include/grub/i386/time.h: use "void" in the argument list
13444 of grub_cpu_idle().
13445 * include/grub/powerpc/time.h: Likewise.
13446 * include/grub/sparc64/time.h: Likewise.
13447
1593e10c 134482007-11-18 Christian Franke <franke@computer.org>
13449
13450 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
13451 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
13452 This fixes the problem that function keys did not work in grub-emu.
13453
3b8db1a8 134542007-11-18 Christian Franke <franke@computer.org>
13455
13456 * disk/host.c (grub_host_open): Remove attribute unused from
13457 name parameter. Add check for "host". This fixes the problem
13458 that grub-emu does not find partitions.
13459
2e29408d 134602007-11-18 Christian Franke <franke@computer.org>
13461
13462 * util/hostfs.c (is_dir): New function.
13463 (grub_hostfs_dir): Handle missing dirent.d_type case.
13464 (grub_hostfs_read): Add missing fseek().
13465 (grub_hostfs_label): Clear label pointer. This fixes a crash
13466 of grub-emu on "ls (host)".
13467
398cd047 134682007-11-18 Christian Franke <franke@computer.org>
13469
13470 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
13471 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
13472 to 64 bit boundary by default.
13473
c405c391 134742007-11-18 Bean <bean123ch@gmail.com>
13475
13476 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
13477 (hexdump_mod_SOURCES): New variable.
13478 (hexdump_mod_CFLAGS): Likewise.
13479 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 13480
c405c391 13481 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13482
13483 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13484
13485 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13486
13487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13488
13489 * include/grub/hexdump.h: New file.
13490
13491 * commands/hexdump.c: New file.
13492
5cced7fd 134932007-11-10 Robert Millan <rmh@aybabtu.com>
13494
13495 * commands/i386/pc/play.c (beep_off): Switch order of arguments
13496 in grub_outb() calls.
13497 (beep_on): Likewise.
13498
8b714eb0 134992007-11-10 Christian Franke <franke@computer.org>
13500
13501 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
13502 (grub_menu_run): Likewise.
13503
ce0f1839 135042007-11-10 Robert Millan <rmh@aybabtu.com>
13505
13506 * include/grub/i386/efi/machine.h: New file.
13507 * include/grub/i386/linuxbios/machine.h: Likewise.
13508 * include/grub/i386/pc/machine.h: Likewise.
13509 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13510 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13511
13512 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
13513 (serial_hw_io_addr): New variable.
13514 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
13515 instead of `(unsigned short *) 0x400'.
13516
270c237d 135172007-11-10 Bean <bean123ch@gmail.com>
13518
13519 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
13520
a87783bf 135212007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13522
13523 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
13524 (vga_mod_SOURCES): Added.
13525 (vga_mod_CFLAGS): Likewise.
13526 (vga_mod_LDFLAGS): Likewise.
13527
13528 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
13529 grub_outb() calls.
13530 (set_map_mask): Likewise.
13531 (set_read_map): Likewise.
13532 (set_read_address): Likewise.
13533 (vga_font): Removed variable.
13534 (get_vga_glyph): Removed function.
13535 (invalidate_char): Likewise.
13536 (write_char): Changed to use grub_font_get_glyph() for font
13537 information.
13538 (grub_vga_putchar): Likewise.
13539 (grub_vga_getcharwidth): Likewise.
13540
6433b448 135412007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13542
13543 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
13544 flags.
13545 (pxeboot_img_LDFLAGS): Likewise.
13546 (diskboot_img_LDFLAGS): Likewise.
13547 (kernel_img_LDFLAGS): Likewise.
13548
49178511 135492007-11-06 Robert Millan <rmh@aybabtu.com>
13550
13551 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
13552 in grub_outb() calls.
13553 (serial_hw_init): Likewise.
13554
53b052de 135552007-11-05 Robert Millan <rmh@aybabtu.com>
13556
13557 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
13558 spaces. Skip non-regular files.
13559
5ab33bba 135602007-11-05 Robert Millan <rmh@aybabtu.com>
13561
13562 * kern/disk.c (grub_disk_firmware_fini)
13563 (grub_disk_firmware_is_tainted): New variables.
13564
13565 * include/grub/disk.h (grub_disk_firmware_fini)
13566 (grub_disk_firmware_is_tainted): Likewise.
13567
13568 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
13569 (grub_disk_biosdisk_fini): ... to here.
13570 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
13571 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
13572 is set. Register grub_disk_biosdisk_fini() in
13573 `grub_disk_firmware_fini'.
13574
13575 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
13576 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
13577 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
13578 to finish existing firmware disk interface.
13579
13580 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
13581 (ata_mod_SOURCES): New variable.
13582 (ata_mod_CFLAGS): Likewise.
13583 (ata_mod_LDFLAGS): Likewise.
13584
0149ab7c 135852007-11-05 Robert Millan <rmh@aybabtu.com>
13586
13587 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
13588 (grub_ata_wait): Reimplement using grub_millisleep().
13589
13590 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
13591 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
13592
be7ac41e 135932007-11-03 Marco Gerards <marco@gnu.org>
13594
13595 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
13596 (CRTC_ADDR_PORT): New macro.
13597 (CRTC_DATA_PORT): Likewise.
13598 (CRTC_CURSOR): Likewise.
13599 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13600 (CRTC_CURSOR_ADDR_LOW): Likewise.
13601 (update_cursor): New function.
13602 (grub_console_real_putchar): Call `update_cursor'.
13603 (grub_console_gotoxy): Likewise.
13604 (grub_console_cls): Set the default color when clearing the
13605 screen.
13606 (grub_console_setcursor): Implemented.
13607
bb06ab2e 136082007-11-03 Marco Gerards <marco@gnu.org>
13609
13610 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
13611 become activate.
13612 (grub_ata_pio_write): Likewise.
13613
13614 (grub_atapi_identify): Wait after issuing an ATA command.
13615 (grub_atapi_packet): Likewise.
13616 (grub_ata_identify): Likewise.
13617 (grub_ata_readwrite): Likewise.
13618
cf8f780b 136192007-11-03 Marco Gerards <marco@gnu.org>
13620
13621 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
13622 (grub_ata_pio_write): Likewise.
13623 (grub_ata_readwrite): Use `grub_error', instead of
13624 returning `grub_errno'.
13625
ed649e54 136262007-11-03 Marco Gerards <marco@gnu.org>
13627
13628 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
13629 grub_ata_pio_write once for every single sector, instead of for
13630 multiple sectors.
13631
ca25d8f0 136322007-10-31 Robert Millan <rmh@aybabtu.com>
13633
13634 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
13635
13636 * conf/i386-linuxbios.rmk: New file.
13637
13638 * kern/i386/pc/hardware.c: Likewise.
13639 * term/i386/pc/at_keyboard.c: Likewise.
13640 * term/i386/pc/vga_text.c: Likewise.
13641
13642 * include/grub/i386/linuxbios/boot.h: Likewise.
13643 * include/grub/i386/linuxbios/console.h: Likewise.
13644 * include/grub/i386/linuxbios/init.h: Likewise.
13645 * include/grub/i386/linuxbios/kernel.h: Likewise.
13646 * include/grub/i386/linuxbios/loader.h: Likewise.
13647 * include/grub/i386/linuxbios/memory.h: Likewise.
13648 * include/grub/i386/linuxbios/serial.h: Likewise.
13649 * include/grub/i386/linuxbios/time.h: Likewise.
13650
13651 * kern/i386/linuxbios/init.c: Likewise.
13652 * kern/i386/linuxbios/startup.S: Likewise.
13653 * kern/i386/linuxbios/table.c: Likewise.
13654
e911ecc1 136552007-10-31 Marco Gerards <marco@gnu.org>
13656
13657 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
13658 (ata_mod_SOURCES): New variable.
13659 (ata_mod_CFLAGS): Likewise.
13660 (ata_mod_LDFLAGS): Likewise.
13661
13662 * disk/ata.c: New file.
13663
13664 * include/grub/disk.h (grub_disk_dev_id): Add
13665 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 13666
7f66d0e0 136672007-10-31 Robert Millan <rmh@aybabtu.com>
13668
13669 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
13670 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
13671
13672 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
13673 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
13674
13675 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
13676 `<grub/types.h>'.
13677
13678 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
13679
5cd7dd46 136802007-10-27 Robert Millan <rmh@aybabtu.com>
13681
3236ca65 13682 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 13683
2ebfc90f 136842007-10-22 Robert Millan <rmh@aybabtu.com>
13685
13686 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
13687 `"../realmode.S"'.
13688 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
13689
73fcb0f3 136902007-10-22 Robert Millan <rmh@aybabtu.com>
13691
13692 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
13693 (pkgdata_MODULES): Add `biosdisk.mod'.
13694 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
13695 variables.
13696
13697 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
13698 (grub_biosdisk_init): Replace with ...
13699 (GRUB_MOD_INIT(biosdisk)): ... this.
13700 (grub_biosdisk_fini): Replace with ...
13701 (GRUB_MOD_FINI(biosdisk)): ... this.
13702
13703 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
13704 (grub_machine_init): Remove call to grub_biosdisk_init().
13705 (grub_machine_fini): Remove call to grub_machine_fini().
13706
13707 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
13708
3381d274 137092007-10-22 Robert Millan <rmh@aybabtu.com>
13710
13711 * include/grub/time.h: New file.
13712 * include/grub/i386/time.h: Likewise.
13713 * include/grub/powerpc/time.h: Likewise.
13714 * include/grub/sparc64/time.h: Likewise.
13715
13716 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
13717 instances to ...
13718 (KERNEL_MACHINE_TIME_HEADER): ... this.
13719 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13720 instances to ...
13721 (KERNEL_MACHINE_TIME_HEADER): ... this.
13722 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13723 instances to ...
13724 (KERNEL_MACHINE_TIME_HEADER): ... this.
13725
13726 * kern/i386/efi/init.c: Include `<grub/time.h>'.
13727 (grub_millisleep): New function.
13728 * kern/i386/pc/init.c: Include `<grub/time.h>'.
13729 (grub_millisleep): New function.
13730 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
13731 Remove `grub/machine/time.h' include.
13732 (grub_millisleep): New function.
13733 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
13734 Remove `grub/machine/time.h' include.
13735 (grub_millisleep): New function.
13736
13737 * include/grub/misc.h (grub_div_roundup): New function.
13738
13739 * kern/misc.c: Include `<grub/time.h>'.
13740 (grub_millisleep_generic): New function.
13741
13742 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
13743 Add `time.h'.
13744 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
13745 Add `time.h'.
13746 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
13747 `machine/time.h'. Add `time.h'.
13748 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13749
a39a0312 137502007-10-21 Robert Millan <rmh@aybabtu.com>
13751
13752 * include/grub/misc.h (grub_max): New function.
13753
2aad70e2 137542007-10-21 Robert Millan <rmh@aybabtu.com>
13755
13756 * util/misc.c (grub_util_info): Call fflush() before returning.
13757
54b71c4b 137582007-10-20 Robert Millan <rmh@aybabtu.com>
13759
13760 * genmk.rb (Image): Copy `extra_flags' from here ...
13761 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
13762
13763 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
13764 to `argc' and `args' arguments.
13765
a979f513 137662007-10-17 Robert Millan <rmh@aybabtu.com>
13767
13768 * kern/i386/loader.S: New file.
13769
13770 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
13771 * kern/i386/loader.S (grub_linux_prot_size)... to here.
13772 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
13773 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
13774 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
13775 * kern/i386/loader.S (grub_linux_real_addr)... to here.
13776 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
13777 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
13778 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
13779 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
13780 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
13781 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
13782 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
13783 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
13784
13785 * kern/i386/realmode.S: New file.
13786
13787 * kern/i386/pc/startup.S (protstack): Moved from here ...
13788 * kern/i386/realmode.S (protstack)... to here.
13789 * kern/i386/pc/startup.S (gdt): Moved from here ...
13790 * kern/i386/realmode.S (gdt)... to here.
13791 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
13792 * kern/i386/realmode.S (prot_to_real)... to here.
13793
13794 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
13795 `kern/i386/realmode.S'.
13796
825fc8fd 137972007-10-17 Robert Millan <rmh@aybabtu.com>
13798
13799 * include/grub/i386/loader.h: New file.
13800
13801 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
13802 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13803 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13804 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13805 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
13806 * include/grub/i386/loader.h (grub_linux_prot_size)
13807 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13808 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13809 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13810 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
13811
13812 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
13813
e179b2f4 138142007-10-15 Robert Millan <rmh@aybabtu.com>
13815
13816 * normal/misc.c (grub_normal_print_device_info): Do not probe for
13817 filesystem when dev->disk is unset.
13818 Do probe for filesystem even when dev->disk->has_partitions is set.
13819 In case a filesystem is found, always report it.
13820 In case it isn't, if dev->disk->has_partitions is set, report that
13821 a partition table was found instead of reporting that no filesystem
13822 could be identified.
13823
5db82af6 138242007-10-12 Robert Millan <rmh@aybabtu.com>
13825
13826 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
13827 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
13828
68f6ac74 13829 * include/grub/types.h (grub_host_to_target16): New macro.
13830 (grub_host_to_target32): Likewise.
13831 (grub_host_to_target64): Likewise.
13832 (grub_target_to_host16): Likewise.
13833 (grub_target_to_host32): Likewise.
13834 (grub_target_to_host64): Likewise.
5db82af6 13835
13836 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13837 Renamed from to ...
13838 (GRUB_MOD_ALIGN): ...this. Update all users.
13839
68f6ac74 13840 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
13841 grub_host_to_target32.
13842 Replace grub_be_to_cpu32 with grub_target_to_host32.
13843 (load_modules): Likewise.
13844 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
13845 Replace grub_be_to_cpu32 with grub_target_to_host32.
13846 Replace grub_cpu_to_be16 with grub_host_to_target16.
13847 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 13848
3cf497cc 138492007-10-12 Robert Millan <rmh@aybabtu.com>
13850
13851 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
13852 * util/elf/grub-mkimage.c: ... here.
13853
13854 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
13855 `util/powerpc/ieee1275/grub-mkimage.c'.
13856
c8cc3692 138572007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 13858
c8cc3692 13859 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
13860 and make it easier to figure out.
13861 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
13862 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
13863 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
13864 leave us with less than HEAP_MIN_SIZE total heap.
13865 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 13866
5c58b791 138672007-10-03 Robert Millan <rmh@aybabtu.com>
13868
13869 * include/grub/i386/io.h: New file.
13870 * commands/i386/pc/play.c (inb): Removed.
13871 (outb): Removed.
13872 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13873 with grub_outb().
afcd2ef8 13874 * term/i386/pc/serial.c (inb): Removed.
13875 (outb): Removed.
13876 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13877 with grub_outb().
13878 * term/i386/pc/vga.c (inb): Removed.
13879 (outb): Removed.
13880 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13881 with grub_outb().
5c58b791 13882
1a477ed6 138832007-10-02 Robert Millan <rmh@aybabtu.com>
13884
13885 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
13886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13887 Reported by Marcin Kurek.
13888
6b5d80fa 138892007-09-07 Robert Millan <rmh@aybabtu.com>
13890
13891 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
13892 SmartFirmware version updates (as released by Sven Luther), and avoid
13893 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
13894 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
13895 known broken.
13896
5618afbf 138972007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13898
13899 From Hitoshi Ozeki:
13900 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
13901 when merging two regions.
13902
6139dcd9 139032007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13904
508e39ee 13905 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
13906 * normal/completion.c (grub_normal_do_completion): Likewise.
13907 Reported by Hitoshi Ozeki.
13908
139092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 13910
6139dcd9 13911 Do not use devices at boot in chainloading.
f19dbdb7 13912
6139dcd9 13913 * loader/i386/pc/chainloader.c (boot_drive): New variable.
13914 (boot_part_addr): Likewise.
13915 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
13916 with BOOT_DRIVE and BOOT_PART_ADDR.
13917 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
13918 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
13919
38da6516 139202007-08-29 Robert Millan <rmh@aybabtu.com>
13921
13922 Patch from Simon Peter <dn.tlp@gmx.net>:
13923 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
13924 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
13925 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
13926 util/i386/pc/grub-setup.c_DEPENDENCIES.
13927 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
13928 util/grub-probe.c_DEPENDENCIES.
13929 * conf/powerpc-ieee1275.rmk: Likewise.
13930
29d0928c 139312007-08-28 Robert Millan <rmh@aybabtu.com>
13932
13933 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
13934 to tell grub-mkdevicemap how to name devices.
13935 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
13936 feature).
13937
13938 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
13939 util/i386/get_disk_name.c.
13940 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
13941 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
13942 util/ieee1275/get_disk_name.c.
13943
13944 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
13945
13946 * DISTLIST: Add util/i386/get_disk_name.c and
13947 util/ieee1275/get_disk_name.c.
13948
13949 * util/grub-mkdevicemap.c: Replace device naming logic with
13950 grub_util_get_disk_name() calls.
13951
5a0d3cca 139522007-08-20 Robert Millan <rmh@aybabtu.com>
13953
13954 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
13955 (so that it works for both plural and singular quantities).
13956
8b72db2f 139572007-08-05 Robert Millan <rmh@aybabtu.com>
13958
13959 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
13960 so that [xz] isn't taken into account when determining order.
13961
352466bf 139622007-08-02 Marco Gerards <marco@gnu.org>
13963
13964 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
13965 `include/multiboot2.h', `include/grub/elfload.h',
13966 `include/multiboot.h', `include/grub/multiboot.h',
13967 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
13968 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
13969 `kern/elf.c', `loader/multiboot_loader.c',
13970 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
13971 `loader/i386/pc/multiboot2.c',
13972 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
13973 `util/i386/pc/grub-mkrescue.in'. Remove
13974 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
13975 `include/grub/i386/pc/util/biosdisk.h' and
13976 `include/grub/powerpc/ieee1275/multiboot.h'.
13977
8f096014 139782007-08-02 Bean <bean123ch@gmail.com>
13979
13980 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
13981 (ntfs_mod_SOURCES): New variable.
13982 (ntfs_mod_CFLAGS): Likewise.
13983 (ntfs_mod_LDFLAGS): Likewise.
13984
13985 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
13986 (grub_probe_SOURCES): Likewise.
13987 (grub_emu_SOURCES): Likewise.
13988
13989 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13990 (grub_emu_SOURCES): Likewise.
13991
13992 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13993 (grub_emu_SOURCES): Likewise.
f19dbdb7 13994
8f096014 13995 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
13996
13997 * fs/ntfs.c: New file.
13998
9959f7db 139992007-08-02 Bean <bean123ch@gmail.com>
14000
14001 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
14002
14003 * file.h (grub_file): Likewise.
14004
14005 * fshelp.h (grub_fshelp_read_file): Likewise.
14006
14007 * util/i386/pc/grub-setup.c (setup): Likewise.
14008 (save_first_sector): Likewise.
14009 (save_blocklists): Likewise.
f19dbdb7 14010
9959f7db 14011 * fs/affs.c (grub_affs_read_file): Likewise.
14012
14013 * fs/ext2.c (grub_ext2_read_file): Likewise.
14014
14015 * fs/fat.c (grub_fat_read_data): Likewise.
14016
14017 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
14018
14019 * fs/hfs.c (grub_hfs_read_file): Likewise.
14020
14021 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
14022
14023 * fs/jfs.c (grub_jfs_read_file): Likewise.
14024
14025 * fs/minix.c (grub_minix_read_file): Likewise.
14026
14027 * fs/sfs.c (grub_sfs_read_file): Likewise.
14028
14029 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 14030
9959f7db 14031 * fs/xfs.c (grub_xfs_read_file): Likewise.
14032
14033 * command/blocklist.c (read_blocklist): Likewise.
14034 (print_blocklist): Likewise.
14035
0a203f83 140362007-08-02 Marco Gerards <marco@gnu.org>
14037
14038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
14039 `util/hostfs.c'.
14040
14041 * disk/host.c: New file.
14042
14043 * util/hostfs.c: Likewise.
14044
14045 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
14046 return `GRUB_ERR_BAD_FS'.
14047 * fs/sfs.c (grub_sfs_mount): Likewise.
14048 * fs/xfs.c (grub_xfs_mount): Likewise.
14049
14050 * include/grub/disk.h (enum grub_disk_dev_id): Add
14051 `GRUB_DISK_DEVICE_HOST_ID'.
14052
14053 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
14054
e5dfe777 140552007-07-24 Jerone Young <jerone@gmail.com>
14056
f19dbdb7 14057 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 14058 modules for compilation.
14059 * conf/powerpc-ieee1275.rmk: Likewise.
14060
14061 * include/multiboot.h: Move multiboot definitions to one file. Rename
14062 many definitions to not get grub specific.
14063 * include/multiboot2.h: Create header with multiboot 2 definitions.
14064 * include/grub/multiboot.h: Header for grub specific function
14065 prototypes and definitions.
14066 * include/grub/multiboot2.h: Likewise.
14067 * include/grub/multiboot_loader.h: Likewise.
14068 * include/grub/i386/pc/multiboot.h: Removed.
14069 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
14070
14071 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
14072 and 2 to allow for one multiboot and module commands.
14073 * loader/multiboot2.c: Add multiboot2 functionality.
14074 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
14075 and definition names.
14076 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
14077 2 functions.
14078 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
14079 ieee1275 specific multiboot2 code.
14080
14081 * kern/i386/pc/startup.S: Change headers and definition names for
14082 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
14083
daf0f0ba 140842007-07-22 Robert Millan <rmh@aybabtu.com>
14085
14086 * geninitheader.sh: Process file specified in first parameter rather
14087 than hardcoding grub_modules_init.lst.
fe6b695a 14088 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 14089 than hardcoding grub_modules_init.h.
14090
14091 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
14092 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
14093 grub_probe_init.[ch] and grub_setup_init.[ch].
14094
14095 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
14096 grub_modules_init.h with grub_emu_init.h.
14097 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
14098 grub_probe_init.[ch] files.
14099 * conf/i386-efi.rmk: Likewise.
14100 * conf/i386-pc.rmk: Likewise.
14101 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
14102 grub_setup_init.[ch] files.
14103
14104 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
14105 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
14106 to initialize modules rather than a list of hardcoded functions.
14107 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
14108 grub_init_all() to initialize modules rather than a list of hardcoded
14109 functions.
14110
54cdc1cc 141112007-07-22 Robert Millan <rmh@aybabtu.com>
14112
14113 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14114 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
14115
ad0686cc 141162007-07-22 Robert Millan <rmh@aybabtu.com>
14117
14118 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
14119 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
14120 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
14121 flag when running on SmartFirmware.
14122 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
14123 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
14124 was set.
14125
14126 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14127 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
14128 rather than decreasing it.
14129
14130 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
14131 there's not enough space to do it, fail in the same way as when it
14132 can't be done because there are no partitions.
14133
14134 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
14135 when nvsetenv failed.
14136
969c02ec 141372007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14138
14139 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
14140 because this rule is automatically generated.
14141 (grub-mkrescue): Removed for the same reason as above.
14142
5a79f472 141432007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14144
14145 Migrate to GNU General Public License Version 3.
f19dbdb7 14146
5a79f472 14147 * COPYING: Replaced with the plain text version of GPLv3.
14148
14149 * config.guess: Updated from gnulib.
14150 * config.sub: Likewise.
14151
14152 * geninit.sh: Output a GPLv3 copyright notice.
14153 * geninitheader.sh: Likewise.
14154 * genmodsrc.sh: Likewise.
14155 * gensymlist.sh.in: Likewise.
14156
14157 * boot/i386/pc/boot.S: Upgraded to GPLv3.
14158 * boot/i386/pc/diskboot.S: Likewise.
14159 * boot/i386/pc/pxeboot.S: Likewise.
14160 * commands/blocklist.c: Likewise.
14161 * commands/boot.c: Likewise.
14162 * commands/cat.c: Likewise.
14163 * commands/cmp.c: Likewise.
14164 * commands/configfile.c: Likewise.
14165 * commands/echo.c: Likewise.
14166 * commands/help.c: Likewise.
14167 * commands/ls.c: Likewise.
14168 * commands/search.c: Likewise.
14169 * commands/terminal.c: Likewise.
14170 * commands/test.c: Likewise.
14171 * commands/videotest.c: Likewise.
14172 * commands/i386/cpuid.c: Likewise.
14173 * commands/i386/pc/halt.c: Likewise.
14174 * commands/i386/pc/play.c: Likewise.
14175 * commands/i386/pc/reboot.c: Likewise.
14176 * commands/i386/pc/vbeinfo.c: Likewise.
14177 * commands/i386/pc/vbetest.c: Likewise.
14178 * commands/ieee1275/halt.c: Likewise.
14179 * commands/ieee1275/reboot.c: Likewise.
14180 * commands/ieee1275/suspend.c: Likewise.
14181 * disk/loopback.c: Likewise.
14182 * disk/lvm.c: Likewise.
14183 * disk/raid.c: Likewise.
14184 * disk/efi/efidisk.c: Likewise.
14185 * disk/i386/pc/biosdisk.c: Likewise.
14186 * disk/ieee1275/ofdisk.c: Likewise.
14187 * font/manager.c: Likewise.
14188 * fs/affs.c: Likewise.
14189 * fs/ext2.c: Likewise.
14190 * fs/fat.c: Likewise.
14191 * fs/fshelp.c: Likewise.
14192 * fs/hfs.c: Likewise.
14193 * fs/hfsplus.c: Likewise.
14194 * fs/iso9660.c: Likewise.
14195 * fs/jfs.c: Likewise.
14196 * fs/minix.c: Likewise.
14197 * fs/sfs.c: Likewise.
14198 * fs/ufs.c: Likewise.
14199 * fs/xfs.c: Likewise.
14200 * hello/hello.c: Likewise.
14201 * include/grub/acorn_filecore.h: Likewise.
14202 * include/grub/arg.h: Likewise.
14203 * include/grub/bitmap.h: Likewise.
14204 * include/grub/boot.h: Likewise.
14205 * include/grub/cache.h: Likewise.
14206 * include/grub/device.h: Likewise.
14207 * include/grub/disk.h: Likewise.
14208 * include/grub/dl.h: Likewise.
14209 * include/grub/elfload.h: Likewise.
14210 * include/grub/env.h: Likewise.
14211 * include/grub/err.h: Likewise.
14212 * include/grub/file.h: Likewise.
14213 * include/grub/font.h: Likewise.
14214 * include/grub/fs.h: Likewise.
14215 * include/grub/fshelp.h: Likewise.
14216 * include/grub/gzio.h: Likewise.
14217 * include/grub/hfs.h: Likewise.
14218 * include/grub/kernel.h: Likewise.
14219 * include/grub/loader.h: Likewise.
14220 * include/grub/lvm.h: Likewise.
14221 * include/grub/misc.h: Likewise.
14222 * include/grub/mm.h: Likewise.
14223 * include/grub/net.h: Likewise.
14224 * include/grub/normal.h: Likewise.
14225 * include/grub/parser.h: Likewise.
14226 * include/grub/partition.h: Likewise.
14227 * include/grub/pc_partition.h: Likewise.
14228 * include/grub/raid.h: Likewise.
14229 * include/grub/rescue.h: Likewise.
14230 * include/grub/script.h: Likewise.
14231 * include/grub/setjmp.h: Likewise.
14232 * include/grub/symbol.h: Likewise.
14233 * include/grub/term.h: Likewise.
14234 * include/grub/terminfo.h: Likewise.
14235 * include/grub/tparm.h: Likewise.
14236 * include/grub/types.h: Likewise.
14237 * include/grub/video.h: Likewise.
14238 * include/grub/efi/api.h: Likewise.
14239 * include/grub/efi/chainloader.h: Likewise.
14240 * include/grub/efi/console.h: Likewise.
14241 * include/grub/efi/console_control.h: Likewise.
14242 * include/grub/efi/disk.h: Likewise.
14243 * include/grub/efi/efi.h: Likewise.
14244 * include/grub/efi/pe32.h: Likewise.
14245 * include/grub/efi/time.h: Likewise.
14246 * include/grub/i386/linux.h: Likewise.
14247 * include/grub/i386/setjmp.h: Likewise.
14248 * include/grub/i386/types.h: Likewise.
14249 * include/grub/i386/efi/kernel.h: Likewise.
14250 * include/grub/i386/efi/loader.h: Likewise.
14251 * include/grub/i386/efi/time.h: Likewise.
14252 * include/grub/i386/pc/biosdisk.h: Likewise.
14253 * include/grub/i386/pc/boot.h: Likewise.
14254 * include/grub/i386/pc/chainloader.h: Likewise.
14255 * include/grub/i386/pc/console.h: Likewise.
14256 * include/grub/i386/pc/init.h: Likewise.
14257 * include/grub/i386/pc/kernel.h: Likewise.
14258 * include/grub/i386/pc/loader.h: Likewise.
14259 * include/grub/i386/pc/memory.h: Likewise.
14260 * include/grub/i386/pc/multiboot.h: Likewise.
14261 * include/grub/i386/pc/serial.h: Likewise.
14262 * include/grub/i386/pc/time.h: Likewise.
14263 * include/grub/i386/pc/vbe.h: Likewise.
14264 * include/grub/i386/pc/vbeblit.h: Likewise.
14265 * include/grub/i386/pc/vbefill.h: Likewise.
14266 * include/grub/i386/pc/vbeutil.h: Likewise.
14267 * include/grub/i386/pc/vga.h: Likewise.
14268 * include/grub/ieee1275/ieee1275.h: Likewise.
14269 * include/grub/ieee1275/ofdisk.h: Likewise.
14270 * include/grub/powerpc/libgcc.h: Likewise.
14271 * include/grub/powerpc/setjmp.h: Likewise.
14272 * include/grub/powerpc/types.h: Likewise.
14273 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14274 * include/grub/powerpc/ieee1275/console.h: Likewise.
14275 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
14276 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14277 * include/grub/powerpc/ieee1275/loader.h: Likewise.
14278 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
14279 * include/grub/powerpc/ieee1275/time.h: Likewise.
14280 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
14281 * include/grub/sparc64/libgcc.h: Likewise.
14282 * include/grub/sparc64/setjmp.h: Likewise.
14283 * include/grub/sparc64/types.h: Likewise.
14284 * include/grub/sparc64/ieee1275/console.h: Likewise.
14285 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14286 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14287 * include/grub/sparc64/ieee1275/time.h: Likewise.
14288 * include/grub/util/biosdisk.h: Likewise.
14289 * include/grub/util/getroot.h: Likewise.
14290 * include/grub/util/lvm.h: Likewise.
14291 * include/grub/util/misc.h: Likewise.
14292 * include/grub/util/raid.h: Likewise.
14293 * include/grub/util/resolve.h: Likewise.
14294 * io/gzio.c: Likewise.
14295 * kern/device.c: Likewise.
14296 * kern/disk.c: Likewise.
14297 * kern/dl.c: Likewise.
14298 * kern/elf.c: Likewise.
14299 * kern/env.c: Likewise.
14300 * kern/err.c: Likewise.
14301 * kern/file.c: Likewise.
14302 * kern/fs.c: Likewise.
14303 * kern/loader.c: Likewise.
14304 * kern/main.c: Likewise.
14305 * kern/misc.c: Likewise.
14306 * kern/mm.c: Likewise.
14307 * kern/parser.c: Likewise.
14308 * kern/partition.c: Likewise.
14309 * kern/rescue.c: Likewise.
14310 * kern/term.c: Likewise.
14311 * kern/efi/efi.c: Likewise.
14312 * kern/efi/init.c: Likewise.
14313 * kern/efi/mm.c: Likewise.
14314 * kern/i386/dl.c: Likewise.
14315 * kern/i386/efi/init.c: Likewise.
14316 * kern/i386/efi/startup.S: Likewise.
14317 * kern/i386/pc/init.c: Likewise.
14318 * kern/i386/pc/lzo1x.S: Likewise.
14319 * kern/i386/pc/startup.S: Likewise.
14320 * kern/ieee1275/ieee1275.c: Likewise.
14321 * kern/powerpc/cache.S: Likewise.
14322 * kern/powerpc/dl.c: Likewise.
14323 * kern/powerpc/ieee1275/cmain.c: Likewise.
14324 * kern/powerpc/ieee1275/crt0.S: Likewise.
14325 * kern/powerpc/ieee1275/init.c: Likewise.
14326 * kern/powerpc/ieee1275/openfw.c: Likewise.
14327 * kern/sparc64/cache.S: Likewise.
14328 * kern/sparc64/dl.c: Likewise.
14329 * kern/sparc64/ieee1275/init.c: Likewise.
14330 * kern/sparc64/ieee1275/openfw.c: Likewise.
14331 * loader/efi/chainloader.c: Likewise.
14332 * loader/efi/chainloader_normal.c: Likewise.
14333 * loader/i386/efi/linux.c: Likewise.
14334 * loader/i386/efi/linux_normal.c: Likewise.
14335 * loader/i386/pc/chainloader.c: Likewise.
14336 * loader/i386/pc/chainloader_normal.c: Likewise.
14337 * loader/i386/pc/linux.c: Likewise.
14338 * loader/i386/pc/linux_normal.c: Likewise.
14339 * loader/i386/pc/multiboot.c: Likewise.
14340 * loader/i386/pc/multiboot_normal.c: Likewise.
14341 * loader/powerpc/ieee1275/linux.c: Likewise.
14342 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14343 * normal/arg.c: Likewise.
14344 * normal/cmdline.c: Likewise.
14345 * normal/command.c: Likewise.
14346 * normal/completion.c: Likewise.
14347 * normal/execute.c: Likewise.
14348 * normal/function.c: Likewise.
14349 * normal/lexer.c: Likewise.
14350 * normal/main.c: Likewise.
14351 * normal/menu.c: Likewise.
14352 * normal/menu_entry.c: Likewise.
14353 * normal/misc.c: Likewise.
14354 * normal/parser.y: Likewise.
14355 * normal/script.c: Likewise.
14356 * normal/i386/setjmp.S: Likewise.
14357 * normal/powerpc/setjmp.S: Likewise.
14358 * normal/sparc64/setjmp.S: Likewise.
14359 * partmap/acorn.c: Likewise.
14360 * partmap/amiga.c: Likewise.
14361 * partmap/apple.c: Likewise.
14362 * partmap/gpt.c: Likewise.
14363 * partmap/pc.c: Likewise.
14364 * partmap/sun.c: Likewise.
14365 * term/gfxterm.c: Likewise.
14366 * term/terminfo.c: Likewise.
14367 * term/efi/console.c: Likewise.
14368 * term/i386/pc/console.c: Likewise.
14369 * term/i386/pc/serial.c: Likewise.
14370 * term/i386/pc/vesafb.c: Likewise.
14371 * term/i386/pc/vga.c: Likewise.
14372 * term/ieee1275/ofconsole.c: Likewise.
14373 * util/biosdisk.c: Likewise.
14374 * util/console.c: Likewise.
14375 * util/genmoddep.c: Likewise.
14376 * util/getroot.c: Likewise.
14377 * util/grub-emu.c: Likewise.
14378 * util/grub-mkdevicemap.c: Likewise.
14379 * util/grub-probe.c: Likewise.
14380 * util/lvm.c: Likewise.
14381 * util/misc.c: Likewise.
14382 * util/raid.c: Likewise.
14383 * util/resolve.c: Likewise.
14384 * util/update-grub.in: Likewise.
14385 * util/update-grub_lib.in: Likewise.
14386 * util/grub.d/00_header.in: Likewise.
14387 * util/grub.d/10_hurd.in: Likewise.
14388 * util/grub.d/10_linux.in: Likewise.
14389 * util/i386/efi/grub-install.in: Likewise.
14390 * util/i386/efi/grub-mkimage.c: Likewise.
14391 * util/i386/pc/grub-install.in: Likewise.
14392 * util/i386/pc/grub-mkimage.c: Likewise.
14393 * util/i386/pc/grub-mkrescue.in: Likewise.
14394 * util/i386/pc/grub-setup.c: Likewise.
14395 * util/i386/pc/misc.c: Likewise.
14396 * util/powerpc/ieee1275/grub-install.in: Likewise.
14397 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
14398 * util/powerpc/ieee1275/misc.c: Likewise.
14399 * video/bitmap.c: Likewise.
14400 * video/video.c: Likewise.
14401 * video/i386/pc/vbe.c: Likewise.
14402 * video/i386/pc/vbeblit.c: Likewise.
14403 * video/i386/pc/vbefill.c: Likewise.
14404 * video/i386/pc/vbeutil.c: Likewise.
14405 * video/readers/tga.c: Likewise.
14406
3572d015 144072007-07-02 Robert Millan <rmh@aybabtu.com>
14408
14409 * conf/i386-efi.rmk: Replace obsolete reference to
14410 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
14411 with util/getroot.c.
14412 * conf/powerpc-ieee1275.rmk: Likewise.
14413 * conf/sparc64-ieee1275.rmk: Likewise.
14414
14415 * util/grub-emu.c (main): Fix unchecked pointer handling.
14416
2c2a681b 144172007-07-02 Robert Millan <rmh@aybabtu.com>
14418
14419 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
14420 invocation to fail, in order to support partition-less media.
14421
14422 * util/i386/pc/grub-install.in: Likewise.
14423
14424 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
14425 which fs or partmap modules are needed (akin to its sister scripts).
14426
14427 Also use grub-probe to get rid of unportable /proc/mounts check.
14428
14429 Print the same informational message that the other scripts do, before
fe6b695a 14430 exiting.
2c2a681b 14431
6193defe 144322007-06-23 Robert Millan <rmh@aybabtu.com>
14433
fe6b695a 14434 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 14435 a font file can be found and, if so, echo the GRUB path to it.
14436
14437 * util/update-grub.in: Handle multiple terminals depending on user
14438 input, platform availability and font file presence. Propagate
14439 variables of our findings to /etc/grub.d/ children.
14440
14441 * util/grub.d/00_header.in: Handle multiple terminals, based on
14442 environment setup by update-grub.
14443
eface1dc 144442007-06-23 Robert Millan <rmh@aybabtu.com>
14445
ba50d28f 14446 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 14447
bf697e28 144482007-06-21 Robert Millan <rmh@aybabtu.com>
14449
14450 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
14451 indicate end of data section in kernel image.
14452 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
14453 GRUB_KERNEL_MACHINE_DATA_END.
14454
14455 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
14456 space for it.
14457 * kern/i386/efi/startup.S: Likewise.
14458
14459 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
14460 during image generation. Implement --prefix option to override this
14461 patch.
14462 * util/i386/efi/grub-mkimage.c: Likewise.
14463
14464 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
14465 code to make path relative to its root into a separate function.
14466
14467 * util/i386/pc/grub-install.in: Use newly provided
14468 make_system_path_relative_to_its_root() to convert ${grubdir}, then
14469 pass the result to grub-install --prefix.
14470
baa574b4 144712007-06-13 Robert Millan <rmh@aybabtu.com>
14472
14473 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
14474 DEFAULT_DEVICE_MAP.
14475 * util/grub-emu.c: Use above definitions from misc.h instead of
14476 defining them.
14477 * util/grub-mkdevicemap.c: Likewise.
14478 * util/i386/pc/grub-setup.c: Likewise.
14479 * util/grub-probe.c: Likewise.
14480 (probe): Abort with grub_util_error() when either
14481 grub_guess_root_device or grub_util_get_grub_dev fails.
14482
0215dcbf 144832007-06-12 Robert Millan <rmh@aybabtu.com>
14484
14485 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
14486 "pager" assignment.
14487 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
14488 "pcdata".
14489 * util/grub-probe.c (probe): Likewise for "drive_name".
14490
8af2ab7b 144912007-06-11 Robert Millan <rmh@aybabtu.com>
14492
14493 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
14494 not just the cdrom one.
14495
59d31694 144962007-06-11 Robert Millan <rmh@aybabtu.com>
14497
14498 * util/i386/pc/grub-mkrescue.in: Add "set -e".
14499 Add --pkglibdir=DIR option to override pkglibdir.
14500 Mention --image-type=TYPE in help output.
14501 Fix --grub-mkimage (it was a no-op).
fe6b695a 14502 Abort gracefully when no parameter is given.
59d31694 14503
7ee367e4 145042007-06-11 Robert Millan <rmh@aybabtu.com>
14505
14506 * util/i386/pc/grub-mkrescue.in: New file.
14507 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
14508 * Makefile.in: Handle bin_SCRIPTS.
14509
29b0ed46 145102007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
14511
14512 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
14513 list of video modes.
14514
c0f90770 145152007-06-06 Robert Millan <rmh@aybabtu.com>
14516
14517 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
14518 file doesn't exist, or if it is in a filesystem grub can't read.
14519
14520 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
14521 not abort if GRUB_DRIVE could not be defined. Rearrange generated
14522 header comment to fit in 80 columns when the variables are resolved.
14523
14524 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
14525 could be identified by update-grub. Remove redundant check for
fe6b695a 14526 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 14527 handles that).
14528
fb36dc26 145292007-06-04 Robert Millan <rmh@aybabtu.com>
14530
14531 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
14532
14533 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
14534
14535 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
14536
0c68c93e 145372007-06-04 Robert Millan <rmh@aybabtu.com>
14538
14539 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
14540
14541 * include/grub/partition.h: Declare grub_apple_partition_map_init and
14542 grub_apple_partition_map_fini.
14543
14544 * util/biosdisk.c
14545 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
14546 to access >2 TiB disks).
14547
14548 Print disk->total_sectors with %llu instead of %lu, since this
14549 variable is always 64-bit (prevents wrong disk size from being displayed
14550 on either >2 TiB disk or big-endian CPU).
14551
14552 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
14553 into a generic case that supports all (sane) partition maps.
14554
14555 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
14556 breaks big-endian.
14557
14558 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
14559 and grub_apple_partition_map_fini() after that.
14560
0f23eb74 145612007-06-01 Robert Millan <rmh@aybabtu.com>
14562
14563 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
14564
14565 * util/grub.d/00_header.in: Only enable gfxterm when
14566 convert_system_path_to_grub_path() succeeds.
14567
42c71976 145682007-05-20 Robert Millan <rmh@aybabtu.com>
14569
14570 * util/update-grub_lib.in: New file.
14571 * DISTLIST: Add update-grub_lib.in.
14572 * conf/common.rmk: Generate update-grub_lib and install it in
14573 $(lib_DATA).
14574 * Makefile.in: Add install routine for $(lib_DATA).
14575
14576 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
14577 function provided by update-grub_lib to support arbitrary paths of
14578 unifont.pff.
14579 * util/update-grub.in: Use convert_system_path_to_grub_path() to
14580 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
14581
5beb2291 145822007-05-19 Robert Millan <rmh@aybabtu.com>
14583
14584 * commands/i386/cpuid.c: New module.
14585 * DISTLIST: Add it.
14586 * conf/i386-efi.rmk: Enable cpuid.mod.
14587 * conf/i386-pc.rmk: Likewise.
14588
7262eca1 145892007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14590
14591 * kern/disk.c (grub_disk_read): Check return value of
14592 grub_realloc().
14593
260ba823 145942007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14595
14596 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
14597 arrays.
14598 * disk/raid.c (grub_raid_open): Likewise.
14599
1ecb6cf2 146002007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14601
14602 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
14603 stack instead of on the heap.
14604
14605 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
14606 before doing a read on it.
14607
14608 * configure.ac: Only use -fno-stack-protector for the target
14609 environment.
f19dbdb7 14610
21c8cbb1 146112007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14612
14613 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
14614 __attribute_ ((unused)) to mode_type argument.
14615
14616 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 14617
21c8cbb1 14618 * kern/misc.c (memcmp): Fix prototype.
14619
14620 * include/grub/partition.h [GRUB_UTIL]
14621 (grub_gpt_partition_map_init): Add prototype.
14622 (grub_gpt_partition_map_fini): Likewise.
14623
14624 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
14625 at the right place.
14626
14627 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
14628 (grub_fat_read_data): Likewise.
14629 (grub_fat_find_dir): Likewise.
14630
14631 * font/manager.c (find_glyph): Make table a const.
14632 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 14633
849d55d3 146342007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
14635
14636 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
14637 code, first search for device in /dev/mapper, then in /dev.
14638 (grub_util_get_grub_dev): New function.
14639 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
14640 prototype.
14641 * util/grub-probe.c (probe): Remove check for RAID, call
14642 grub_util_get_grub_dev() instead of
14643 grub_util_biosdisk_get_grub_dev().
14644 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
14645 grub_util_biosdisk_get_grub_dev().
14646 * util/i386/pc/grub-setup.c (main): Likewise.
14647
8fff7c2f 146482007-05-16 Robert Millan <rmh@aybabtu.com>
14649
14650 * DISTLIST: Update for the latest changes.
14651 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
14652 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
14653 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
14654 grub/util/biosdisk.h.
14655 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
14656 grub/util/biosdisk.h.
14657
48e12b52 146582007-05-16 Robert Millan <rmh@aybabtu.com>
14659
14660 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
14661
46b9d128 146622007-05-16 Robert Millan <rmh@aybabtu.com>
14663
14664 * util/i386/efi/grub-install.in: New.
14665 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
14666 newly added grub-install.
14667 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
14668 include.
14669 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
14670 grub/util/biosdisk.h.
14671 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
14672 grub/util/biosdisk.h.
14673
2d1a40a9 146742007-05-16 Robert Millan <rmh@aybabtu.com>
14675
14676 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
14677 * include/grub/util/biosdisk.h: ... here.
14678 * util/i386/pc/biosdisk.c: Moved to ...
14679 * util/biosdisk.c: ... here.
14680 * util/i386/pc/getroot.c: Moved to ...
14681 * util/getroot.c: ... here.
14682 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
14683 * util/grub-mkdevicemap.c: ... here.
14684 * util/i386/pc/grub-probe.c: Moved to ...
14685 * util/grub-probe.c: ... here.
14686
9e26e3bc 146872007-05-15 Robert Millan <rmh@aybabtu.com>
14688
14689 * util/update-grub.in: Remove duplicated line in grub.cfg header
14690 message.
14691
57f96397 146922007-05-13 Robert Millan <rmh@aybabtu.com>
14693
14694 * util/update-grub.in: Fix a few assumptions about the devices holding
14695 /, /boot and /boot/grub being the same.
14696 * util/grub.d/00_header.in: Likewise.
14697 * util/grub.d/10_hurd.in: Likewise.
14698 * util/grub.d/10_linux.in: Likewise.
14699
14700 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
14701 patterns. Use that to define the `.old' suffix as older than `'.
14702
14703 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
14704
14705 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
14706 the grub.cfg header message.
14707
2e610d62 147082007-05-11 Robert Millan <rmh@aybabtu.com>
14709
14710 * util/update-grub.in: Create device.map if it doesn't already exist,
14711 before attempting to run grub-probe.
14712 Check for grub-probe and grub-mkdevicemap with the same code
14713 grub-install is using.
14714 Remove test mode.
14715
3f6a10ef 147162007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
14717
14718 * Makefile.in: Add the datarootdir autoconf variable.
14719
02e7b75e 147202007-05-09 Robert Millan <rmh@aybabtu.com>
14721
14722 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 14723 fail gracefully if dev->disk->partition == NULL.
02e7b75e 14724
75f396cc 147252007-05-07 Robert Millan <rmh@aybabtu.com>
14726
14727 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
14728 determine partition map module.
14729 * util/i386/pc/grub-install.in: Use this feature to decide which
14730 partition module to load, instead of hardcoding pc and gpt.
14731
da65cb36 147322007-05-07 Robert Millan <rmh@aybabtu.com>
14733
14734 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
14735 source directory differs from build directory.
14736
b57d6a91 147372007-05-05 Robert Millan <rmh@aybabtu.com>
14738
14739 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
14740 initialisation.
14741
509d00f1 147422007-05-05 Robert Millan <rmh@aybabtu.com>
14743
14744 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
14745
c48f23ef 147462007-05-05 Robert Millan <rmh@aybabtu.com>
14747
14748 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
14749 command-line arguments via ${GRUB_CMDLINE_LINUX}.
14750
20b97658 147512007-05-05 Robert Millan <rmh@aybabtu.com>
14752
14753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
14754 (grub_probe_SOURCES): Likewise.
14755 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
14756 GPT and initialize dos_part and bsd_part accordingly.
14757 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
14758 install_bsd_part.
14759 (main): Activate gpt module for use during partition identification,
14760 and deactivate it afterwards.
14761 * util/i386/pc/grub-install.in: Add gpt module to core.img.
14762 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
14763 partition identification, and deactivate it afterwards.
14764
99123174 147652007-05-05 Robert Millan <rmh@aybabtu.com>
14766
14767 * term/i386/pc/console.c (grub_console_fini): Call
14768 grub_term_set_current() before grub_term_unregister().
14769
ebd97f6e 147702007-05-04 Robert Millan <rmh@aybabtu.com>
14771
14772 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
14773 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
14774 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
14775 and update-grub_DATA.
14776 * conf/common.rmk: Build and install update-grub components.
14777 * conf/common.mk: Regenerate.
14778 * util/update-grub.in: New. Core of update-grub.
14779 * util/grub.d/00_header.in: New. Generates grub.cfg header.
14780 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
14781 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
14782 * util/grub.d/README: New. Document grub.d directory layout.
14783
b06a264d 147842007-05-01 Robert Millan <rmh@aybabtu.com>
14785
14786 * util/grub-emu.c: Move initialization functions
14787 grub_util_biosdisk_init() and grub_init_all() before
14788 grub_util_biosdisk_get_grub_dev(), which relies on them.
14789
41f0050e 147902007-04-19 Robert Millan <rmh@aybabtu.com>
14791
14792 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
14793 it is used later.
14794
04582bb3 147952007-04-18 Jerone Young <jerone@gmail.com>
14796
f19dbdb7 14797 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 14798 stanza.
14799
08db4632 148002007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 14801
08db4632 14802 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
14803 continue on and look for device node with real device name.
14804
801b76be 148052007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 14806
fe6b695a 14807 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 14808 ability.
14809 * Makefile.in: Add autoconf package transformation code.
14810 * util/i386/pc/grub-install.in: Likewise.
14811 * util/powerpc/ieee1275/grub-install.in: Likewise.
14812
6795c4e1 148132007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
14814
14815 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
14816 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
14817 (EXT2_REVISION): Likewise.
14818 (EXT2_INODE_SIZE): Likewise.
14819 (struct grub_ext2_block_group): Added a missing member
14820 "used_dirs".
14821 (grub_ext2_read_inode): Divide by the inode size in a superblock
14822 instead of 128 to obtain INODES_PER_BLOCK.
14823 Use the macro EXT2_INODE_SIZE instead of directly using
14824 SBLOCK->INODE_SIZE.
14825
d70af616 148262007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
14827
14828 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
14829 superblock instead of the structure size to compute an
14830 offset. This fixes the problem that GRUB could not read a
14831 filesystem when inode size is different from 128-byte.
14832
3b801603 148332007-03-05 Marco Gerards <marco@gnu.org>
14834
14835 * normal/main.c (read_config_file): When "menu" is not set, create
14836 an initial context.
14837
4785bfe4 148382007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14839
14840 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
14841 (HEAP_LIMIT): New macro.
14842 (grub_claim_heap): Claim memory up to `heaplimit'.
14843
a0cbb023 148442007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14845
14846 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
14847 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
14848 (_start): Likewise.
14849 (grub_arch_modules_addr): Return address after `_end'.
14850 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
14851 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
14852 (add_segments): Calculate `_end' from phdr size and location.
14853 (ALIGN_UP): Moved to ...
14854 * include/grub/misc.h: here.
14855 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
14856 New macro.
14857 (GRUB_IEEE1275_MODULE_BASE): Removed.
14858
fd7d8eba 148592007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14860
14861 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
14862 loop boundary.
14863
9b09e6fc 148642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14865
14866 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
14867 All users updated.
14868 (grub_elf64_load_hook_t): Likewise.
14869 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
14870 debug output.
14871
3ce27299 148722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14873
14874 * kern/mm.c: Update copyright.
14875 (grub_mm_debug): Correct syntax error.
14876 (grub_mm_dump_free): New function.
14877 (grub_debug_free): Call `grub_free'.
14878 * include/grub/mm.h: Update copyright.
14879 (grub_mm_dump_free): Add declaration.
14880
077d5fee 148812007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14882
14883 * include/grub/ieee1275/ieee1275.h: Update copyright.
14884 * kern/powerpc/ieee1275/init.c: Likewise.
14885 * kern/powerpc/ieee1275/openfw.c: Likewise.
14886
14887 * loader/powerpc/ieee1275/linux.c: Likewise.
14888 * include/grub/elfload.h: Likewise.
14889 * kern/elf.c: Likewise.
14890 (grub_elf32_load): Pass `base' and `size' parameters. Update all
14891 callers.
14892 (grub_elf64_load): Likewise.
14893 (grub_elf32_load_segment): Move to a nested function.
14894 (grub_elf64_load_segment): Likewise.
14895
dc946850 148962007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14897
14898 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
14899 prototype.
14900 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
14901 (grub_heap_len): Likewise.
14902 (HEAP_SIZE): New macro.
14903 (grub_claim_heap): New function.
14904 (grub_machine_init): Don't claim heap directly. Call
14905 `grub_claim_heap'.
14906 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
14907 (grub_available_iterate): New function.
14908
baa2a121 149092007-02-03 Thomas Schwinge <tschwinge@gnu.org>
14910
14911 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
14912 * configure.ac: Use it for testing the HOST and TARGET compilers.
14913
4fe9862e 149142006-12-13 Thomas Schwinge <tschwinge@gnu.org>
14915
14916 * Makefile.in (enable_grub_emu): New variable.
14917 * configure.ac (--enable-grub-emu): New option.
14918 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
14919 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
14920 * conf/i386-pc.rmk: Likewise.
14921 * conf/powerpc-ieee1275.rmk: Likewise.
14922 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
14923
a8aa5762 149242006-12-12 Marco Gerards <marco@gnu.org>
14925
14926 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
14927
14928 * kern/env.c (grub_env_unset): Don't free the member `value' when
14929 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
14930 pointer.
14931
14932 * normal/main.c (current_menu): Removed.
14933 (free_menu): Unset the `menu' environment variable.
14934 (grub_normal_menu_addentry): Make use of the environment variable
14935 `menu', instead of using the global `current_menu'. Allocate
14936 memory for the sourcecode of this entry.
14937 (read_config_file): New argument `nested', changed all callers.
14938 Only in the case of a new context, initialize a new menu. Set the
14939 `menu' environment variable.
14940 (grub_normal_execute): Don't set and unset the environment
14941 variable `menu' here anymore. Only free the menu when leaving the
14942 context.
14943
14944 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
14945 leak.
14946
957b3a3e 149472006-12-11 Marco Gerards <marco@gnu.org>
14948
14949 * normal/menu_entry.c (run): Fix off by one bug so the last line
14950 is executed. Move the loader check to outside the loop.
14951
ef875714 149522006-12-08 Hollis Blanchard <hollis@penguinppc.org>
14953
14954 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
14955
4e739985 149562006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
14957
14958 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
14959 the number of sectors. Reported by Andrey Shuvikov
14960 <mr_hyro@yahoo.com>.
f19dbdb7 14961
790707f2 149622006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
14963
14964 * kern/disk.c (grub_disk_read): When there is a read error, always
14965 try to read only the necessary data.
f19dbdb7 14966
790707f2 14967 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
14968 disk/raid.c.
14969 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
14970 prototype.
14971 [GRUB_UTIL] (grub_raid_fini): Likewise.
14972 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 14973 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 14974 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
14975 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
14976 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
14977 and grub_raid_fini().
f19dbdb7 14978
03e58196 149792006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
14980
14981 * include/grub/types.h (__unused): Rename to UNUSED.
14982 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
14983 (grub_elf64_size): Likewise.
f19dbdb7 14984
ae4f23bf 149852006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14986
14987 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
14988 grub_error_push and grub_error_pop in the error-handling path.
14989 (grub_elf32_load_segment): Only call grub_file_read with non-zero
14990 length.
14991
2166cc83 149922006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14993
14994 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
14995 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14997 (kernel_elf_SOURCES): Likewise.
14998 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
14999 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
15000 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15001 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15002 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
15003 (elf_mod_SOURCES): New variable.
15004 (elf_mod_CFLAGS): Likewise.
15005 (elf_mod_LDFLAGS): Likewise.
15006 * include/grub/types.h (__unused): New macro.
15007 * include/grub/elfload.h: New file.
15008 * kern/elf.c: Likewise.
15009 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
15010 (ELF32_LOADMASK): New macro.
15011 (ELF64_LOADMASK): Likewise.
15012 (vmlinux): Removed.
15013 (grub_linux_load32): New function.
15014 (grub_linux_load64): Likewise.
15015 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
15016 Use grub_elf_t instead of grub_file_t.
15017
a09d5aa5 150182006-11-02 Hollis Blanchard <hollis@penguinppc.org>
15019
15020 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
15021 `catch_result' to struct set_color_args.
15022
d976fc51 150232006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
15024
15025 * normal/menu.c: Include grub/script.h.
15026 * normal/menu_entry.c: Likewise.
15027 * include/grub/normal.h: Do not include grub/script.h.
15028
67507549 150292006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15030
15031 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
15032
69203a99 150332006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15034
15035 * kern/disk.c (grub_disk_open): Print debug messages when opening a
15036 disk.
15037 (grub_disk_close): Print debug messages when closing a disk.
15038 (grub_disk_read): Print debug messages when disk read fails.
15039 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
15040 filesystem type.
15041 * kern/partition.c: Include misc.h.
15042 (grub_partition_iterate): Print debug messages when detecting
15043 partition type.
15044
e2b8278c 150452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15046
15047 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
15048 is negative.
15049 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
15050
97b2f2ff 150512006-10-26 Hollis Blanchard <hollis@penguinppc.org>
15052
15053 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15054 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
15055
6555d655 150562006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
15057
15058 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
15059 instead of sizeof(lv). Patch by Michael Guntsche.
15060
4d42b77f 150612006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
15062
15063 * disk/lvm.c: Rename VGS to VG_LIST.
15064 (grub_lvm_iterate): Change VGS->LV to VG-LV.
15065 (grub_lvm_open): Likewise.
15066 Thanks to Michael Guntsche for finding this bug.
15067
5d74d927 150682006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
15069
15070 * configure.ac (AC_INIT): Bumped to 1.95.
15071
a1bb27e4 150722006-10-14 Robert Millan <rmh@aybabtu.com>
15073
15074 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
15075 with "/dev/.static/dev/md".
15076
e0994b8b 150772006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
15078
15079 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
15080 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
15081 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
15082 DRIVE_NAME are always freed.
15083
15084 * util/i386/pc/biosdisk.c (make_device_name): Add one into
15085 DOS_PART, as a DOS partition is counted from one instead of zero
15086 now. Reported by Robert Millan.
15087
ddd5cee9 150882006-10-14 Robert Millan <rmh@aybabtu.com>
15089
15090 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
15091 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
15092 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
15093 string returned by grub_guess_root_device.
15094 * util/i386/pc/grub-setup.c: Likewise.
15095 * util/i386/pc/grub-probefs.c: Likewise.
15096
15097 * util/i386/pc/grub-probefs.c: Rename to ...
15098 * util/i386/pc/grub-probe.c: ... this.
15099 * DISTLIST: Remove grub-probefs, add grub-probe.
15100 * conf/i386-efi.rmk: Likewise.
15101 * conf/i386-pc.rmk: Likewise.
15102 * util/i386/pc/grub-install.in: Likewise.
15103
15104 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
15105 choose which information we want to print.
15106
2b002173 151072006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
15108
15109 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
15110 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
15111 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
15112 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
15113 video/readers/tga.c and video/i386/pc/vbeutil.c.
15114
151152006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
15116
15117 Added support for RAID and LVM.
f19dbdb7 15118
2b002173 15119 * disk/lvm.c: New file.
15120 * disk/raid.c: Likewise.
15121 * include/grub/lvm.h: Likewise.
f19dbdb7 15122 * include/grub/raid.h: Likewise.
2b002173 15123 * include/grub/util/lvm.h: Likewise.
15124 * include/grub/util/raid.h: Likewise.
15125 * util/lvm.c: Likewise.
15126 * util/raid.c: Likewise.
15127
15128 * include/grub/disk.h (grub_disk_dev_id): Add
15129 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
15130 (grub_disk_get_size): New prototype.
15131 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
15132 returns a partition.
15133 (grub_disk_get_size): New function.
f19dbdb7 15134
2b002173 15135 * kern/i386/pc/init.c (make_install_device): Copy the prefix
15136 verbatim if grub_install_dos_part is -2.
15137
15138 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
15139 and LVM devices.
15140
15141 * util/i386/pc/grub-setup.c (setup): New argument
15142 MUST_EMBED. Force embedding of GRUB when the argument is
15143 true. Close FILE before returning.
15144 (main): Add support for RAID and LVM.
f19dbdb7 15145
2b002173 15146 * conf/common.rmk: Add RAID and LVM modules.
15147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
15148 util/lvm.c.
15149 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
15150
15151 * kern/misc.c (grub_strstr): New function.
15152 * include/grub/misc.h (grub_strstr): New prototype.
15153
050548d0 151542006-10-10 Tristan Gingold <tristan.gingold@bull.net>
15155
15156 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
15157
da849d2d 151582006-10-05 Tristan Gingold <tristan.gingold@bull.net>
15159
15160 * kern/misc.c (grub_strtoull): Guess the base only if not
15161 specified.
15162
97b2f2ff 151632006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 15164
15165 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
15166 PowerMac support.
15167
97b2f2ff 151682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 15169
15170 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
15171
15172 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
15173 Remove `flags' argument. All callers changed.
15174 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
15175 (IEEE1275_IHANDLE_INVALID): New variable.
15176 (IEEE1275_CELL_INVALID): New variable.
15177 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
15178 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
15179 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
15180 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
15181 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
15182 codes from Open Firmware. All callers updated.
15183 (grub_ieee1275_next_property): Directly return Open Firmware return
15184 code.
15185 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15186 Standardize error checking from `grub_ieee1275_get_property'.
15187 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
15188 `devalias' to `aliases'. Correct comments. Consolidate error paths.
15189
97b2f2ff 151902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 15191
15192 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
15193 `instance_to_package_args' to `instance_to_path_args'.
15194
15195 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
15196 `grub_ieee1275_chosen'.
15197
15198 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
15199 `grub_ieee1275_interpret'.
15200
97b2f2ff 152012006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 15202
15203 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
15204
97b2f2ff 152052006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 15206
15207 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
15208 (__cmpdi): Likewise.
15209
15210 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
15211 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
15212 `grub_ssize_t'.
15213
02bb8acc 15214 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 15215
15216 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
15217 to type `grub_ssize_t'.
15218 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
15219
7f9a8531 152202006-09-22 Marco Gerards <marco@gnu.org>
15221
15222 * normal/script.c (grub_script_create_cmdmenu): Skip leading
15223 newlines.
15224
b5ef1102 152252006-09-22 Marco Gerards <marco@gnu.org>
15226
15227 * commands/echo.c: New file.
15228
15229 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
15230
15231 * conf/common.rmk (echo_mod_SOURCES): New variable.
15232 (echo_mod_CFLAGS): Likewise.
15233 (echo_mod_LDFLAGS): Likewise.
15234
2cff3677 152352006-09-22 Marco Gerards <marco@gnu.org>
15236
15237 * normal/main.c (get_line): Malloc memory instead of using
15238 preallocated memory. Removed the arguments `cmdline' and
15239 `max_len'. Updated all callers.
15240
6ba4688b 152412006-09-22 Marco Gerards <marco@gnu.org>
15242
15243 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
15244 (normal_mod_DEPENDENCIES): Likewise.
15245
15246 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
15247 (normal_mod_DEPENDENCIES): Likewise.
15248
15249 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
15250
e02ac02c 152512006-09-22 Johan Rydberg <jrydberg@gnu.org>
15252
15253 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
15254 programs.
15255 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
15256 (normal_mod_DEPENDENCIES): Likewise.
15257 * conf/i386-pc.mk: Regenerate.
15258 * conf/i386-efi.mk: Likewise
15259 * conf/common.mk: Likewise.
15260 * conf/powerpc-ieee1275.mk: Likewise.
15261 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 15262
8d252e44 152632006-09-22 Robert Millan <rmh@aybabtu.com>
15264
15265 Sync with i386 version.
15266 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
15267 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
15268
209bf7ac 152692006-09-21 Robert Millan <rmh@aybabtu.com>
15270
15271 Import from GRUB Legacy (lib/device.c):
15272 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
15273 (init_device_map) [__linux__]: Add support for I2O devices.
15274
6b146090 152752006-09-14 Marco Gerards <marco@gnu.org>
15276
15277 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
15278 `-melf_i386'.
15279
e38600a8 152802006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 15281
15282 * util/i386/pc/grub-install.in: Skip menu.lst when removing
15283 /boot/grub/*.lst.
78fa1790 15284
2952da5d 15285 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 15286
2952da5d 15287 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
15288 before adding it to device.map.
15289
01b82a64 152902006-08-15 Johan Rydberg <jrydberg@gnu.org>
15291
fe6b695a 15292 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 15293 compiles a file; using the -MD option.
15294 * conf/common.mk: Regenerate.
15295 * conf/i386-pc.mk: Likewise.
15296 * conf/i386-efi.mk: Likewise.
15297 * conf/powerpc-ieee1275.mk: Likewise.
15298 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 15299
1064790d 153002006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
15301
15302 Move the prototypes of grub_setjmp and grub_longjmp to
15303 cpu/setjmp.h, so that each architecture may specify different
15304 attributes.
f19dbdb7 15305
1064790d 15306 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
15307 (grub_longjmp): Likewise.
15308 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
15309 (grub_longjmp): Likewise.
15310 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
15311 (grub_longjmp): Likewise.
15312
15313 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
15314 [!GRUB_UTIL] (grub_longjmp): Removed.
15315
29dda3ed 153162006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
15317
15318 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
15319 "color!" method does not return any value.
15320
ad2a06ed 153212006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15322
15323 * include/grub/bitmap.h: New file.
15324
15325 * include/grub/i386/pc/vbeutil.h: Likewise.
15326
15327 * video/bitmap.c: Likewise.
15328
15329 * video/readers/tga.c: Likewise.
15330
15331 * video/i386/pc/vbeutil.c: Likewise.
15332
15333 * commands/videotest.c: Code cleanup and updated to reflect to new
15334 video API.
15335
15336 * term/gfxterm.c: Likewise.
15337
15338 * video/video.c: Likewise.
15339
15340 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
15341 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
15342 (bitmap_mod_SOURCES): New entry.
15343 (bitmap_mod_CFLAGS): Likewise.
15344 (bitmap_mod_LDFLAGS): Likewise.
15345 (tga_mod_SOURCES): Likewise.
15346 (tga_mod_CFLAGS): Likewise.
15347 (tga_mod_LDFLAGS): Likewise.
15348
15349 * include/grub/video.h (grub_video_blit_operators): New enum type.
15350 (grub_video_render_target): Changed as forward declaration and moved
15351 actual definition to be video driver specific.
15352 (grub_video_adapter.blit_bitmap): Added blitting operator.
15353 (grub_video_adapter.blit_render_target): Likewise.
15354 (grub_video_blit_bitmap): Likewise.
15355 (grub_video_blit_render_target): Likewise.
15356
15357 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
15358 driver specific render target definition.
15359 (grub_video_vbe_map_rgba): Added driver internal helper.
15360 (grub_video_vbe_unmap_color): Updated to use
15361 grub_video_i386_vbeblit_info.
15362 (grub_video_vbe_get_video_ptr): Likewise.
15363
15364 * include/grub/i386/pc/vbeblit.h
15365 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
15366 grub_video_i386_vbeblit_info.
15367 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15368 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15369 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15370 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15371 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15372 (grub_video_i386_vbeblit_index_index): Likewise.
15373 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
15374 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15375 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15376 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
15377 operator.
15378 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
15379 operator.
15380
15381 * video/i386/pc/vbeblit.c: Updated to reflect changes on
15382 include/grub/i386/pc/vbeblit.h.
15383
15384 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
15385 Updated to use grub_video_i386_vbeblit_info.
15386 (grub_video_i386_vbefill_R8G8B8): Likewise.
15387 (grub_video_i386_vbefill_index): Likewise.
15388 (grub_video_i386_vbefill): Added generic filler.
15389
15390 * video/i386/pc/vbefill.c: Updated to reflect changes on
15391 include/grub/i386/pc/vbefill.h.
15392
15393 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
15394 grub_video_i386_vbeblit_info.
15395 (grub_video_vbe_unmap_color): Likewise.
15396 (grub_video_vbe_blit_glyph): Likewise.
15397 (grub_video_vbe_scroll): Likewise.
15398 (grub_video_vbe_draw_pixel): Removed function.
15399 (grub_video_vbe_get_pixel): Likewise.
15400 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
15401 updated code to use it.
15402 (common_blitter): Added common blitter for render target and bitmap.
15403 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
15404 (grub_video_vbe_blit_render_target): Likewise.
15405
bc8c036d 154062006-07-30 Johan Rydberg <jrydberg@gnu.org>
15407
15408 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
15409 is in text mode if there is no console control protocol instance
15410 available.
15411
684a8eff 154122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15413
15414 * include/grub/video.h: Code cleanup.
15415
15416 * include/grub/i386/pc/vbe.h: Likewise.
15417
15418 * video/i386/pc/vbe.c: Likewise.
15419
15420 * video/i386/pc/vbeblit.c: Likewise.
15421
15422 * video/i386/pc/vbefill.c: Likewise.
15423
15424 * video/video.c: Likewise. Also added more comments.
15425
5915059b 154262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15427
15428 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
15429 (struct grub_biosdisk_dap): Likewise.
15430
15431 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
15432 linkage settings for all functions.
15433
90ce5d56 154342006-07-12 Marco Gerards <marco@gnu.org>
15435
15436 * configure.ac (--enable-mm-debug): Fix typo.
15437
15438 * genkernsyms.sh.in: Use proper quoting for `CC'.
15439
43e7f879 154402006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
15441
15442 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
15443 (normal_mod_ASFLAGS): Remove "-m32".
15444
4889bdec 154452006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
15446
15447 * util/misc.c: Include config.h.
15448 [!HAVE_MEMALIGN]: Do not include malloc.h.
15449 (grub_memalign): Use posix_memalign, if present. Then, use
15450 memalign, if present. Otherwise, emit an error.
15451
15452 * util/grub-emu.c: Do not include malloc.h.
15453
15454 * include/grub/util/misc.h: Include unistd.h. This is required for
15455 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
15456 D. Eades III <hde@foobar-qux.org>.
15457
15458 * configure.ac (AC_GNU_SOURCE): Added.
15459 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
15460 type.
15461
fd39d4da 154622006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
15463
15464 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
15465 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
15466
b786f3b5 154672006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
15468
15469 * include/grub/types.h (grub_host_addr_t): Rename to
15470 grub_target_addr_t.
15471 (grub_host_off_t): Rename to grub_target_off_t.
15472 (grub_host_size_t): Rename to grub_target_size_t.
15473 (grub_host_ssize_t): Rename to grub_target_ssize_t.
15474 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
15475
15476 * include/grub/kernel.h (struct grub_module_header): Change type
15477 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
15478 (grub_module_info): Likewise.
f19dbdb7 15479
051988bb 154802006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15481
15482 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
15483 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
15484 Velazquez <jesus.velazquez@gmail.com>.
15485
deae281b 154862006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15487
15488 Count partitions from 1 instead of 0 in the string representation
15489 of partitions. Still use 0-based internally.
f19dbdb7 15490
deae281b 15491 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
15492 (sun_partition_map_iterate): Use grub_partition_t instead of
15493 struct grub_partition *. Cast DESC->START_CYLINDER to
15494 grub_uint64_t after converting the endian.
15495 (sun_partition_map_probe): Subtract 1 for PARTNUM.
15496 (sun_partition_map_get_name): Add 1 to P->INDEX.
15497
15498 * partmap/pc.c (grub_partition_parse): Subtract 1 for
15499 PCDATA->DOS_PART.
15500 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
15501
15502 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
15503 zero instead of one.
15504 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
15505 (gpt_partition_map_get_name): Add 1 into P->INDEX.
15506
15507 * partmap/apple.c (apple_partition_map_iterate): Change the type
15508 of POS to unsigned.
15509 (apple_partition_map_probe): Subtract 1 for PARTNUM.
15510 (apple_partition_map_get_name): Add 1 into P->INDEX.
15511
15512 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
15513 of POS to unsigned.
15514 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
15515 calculate the offset of a partition.
15516 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
15517 (amiga_partition_map_get_name): Add 1 into P->INDEX.
15518
15519 * partmap/acorn.c (acorn_partition_map_find): Change the type of
15520 SECTOR to grub_disk_addr_t.
15521 (acorn_partition_map_iterate): Likewise.
15522 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
15523 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
15524 top.
15525 (acorn_partition_map_get_name): Add 1 into P->INDEX.
15526
15527 * kern/i386/pc/init.c (make_install_device): Add 1 into
15528 GRUB_INSTALL_DOS_PART.
15529
15530 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
15531 conditional.
15532
524a1e6a 155332006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15534
15535 Clean up the code to support 64-bit addressing in disks and
15536 files. This change is not enough for filesystems yet.
f19dbdb7 15537
524a1e6a 15538 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
15539 type of "start" to grub_uint64_t.
15540 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
15541 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
15542 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
15543 convert addresses.
15544
15545 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
15546 to grub_disk_addr_t.
15547
15548 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
15549 string.
15550
15551 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15552
15553 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
15554 to char *.
15555
15556 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
15557
15558 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
15559
15560 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
15561
15562 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
15563 to grub_off_t, to detect an error from grub_file_seek.
15564 (grub_multiboot_load_elf32): Likewise.
15565
15566 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
15567 maximum unsigned long value when an overflow is detected.
15568 (grub_strtoull): New function.
15569 (grub_divmod64): Likewise.
15570 (grub_lltoa): use grub_divmod64.
15571
15572 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
15573 grub_disk_addr_t.
15574 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
15575 the pointer to next character. Use grub_strtoull instead of
15576 grub_strtoul.
15577 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
15578 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
15579 respectively.
15580
fe6b695a 15581 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 15582 return value is signed.
15583 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
15584 test if OFFSET is less than zero, as OFFSET is unsigned now.
15585
15586 * kern/disk.c (struct grub_disk_cache): Change the type of
15587 "sector" to grub_disk_addr_t.
15588 (grub_disk_cache_get_index): Change the type of SECTOR to
15589 grub_disk_addr_t. Calculate the hash with SECTOR casted to
15590 unsigned after shifting.
15591 (grub_disk_cache_invalidate): Change the type of SECTOR to
15592 grub_disk_addr_t.
15593 (grub_disk_cache_unlock): Likewise.
15594 (grub_disk_cache_store): Likewise.
15595 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
15596 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
15597 grub_disk_addr_t and grub_uint64_t, respectively.
15598 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
15599 body, as the value of OFFSET is tweaked by
15600 grub_disk_check_range. Change the types of START_SECTOR, LEN and
15601 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
15602 respectively.
15603 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
15604 body, as the value of OFFSET is tweaked by
15605 grub_disk_check_range. Change the types of LEN and N to
15606 grub_size_t.
15607
15608 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
15609 and "saved_offset" to grub_off_t.
15610 (test_header): Cast BUF to char *.
15611 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
15612 to char *.
15613 (grub_gzio_read): Change the types of OFFSET and SIZE to
15614 grub_off_t and grub_size_t, respectively.
15615
15616 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
15617 Removed.
15618 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
15619 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
15620 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
15621 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
15622 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
15623
15624 * include/grub/types.h (grub_off_t): Unconditionally set to
15625 grub_uint64_t.
15626 (grub_disk_addr_t): Changed to grub_uint64_t.
15627
15628 * include/grub/partition.h (struct grub_partition): Change the
15629 types of "start", "len" and "offset" to grub_disk_addr_t,
15630 grub_uint64_t and grub_disk_addr_t, respectively.
15631 (grub_partition_get_start): Return grub_disk_addr_t.
15632 (grub_partition_get_len): Return grub_uint64_t.
15633
15634 * include/grub/misc.h (grub_strtoull): New prototype.
15635 (grub_divmod64): Likewise.
15636
15637 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
15638 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
15639 grub_off_t, respectively.
15640 All callers and references changed.
15641
15642 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
15643 grub_size_t in "read".
15644 All callers and references changed.
15645
15646 * include/grub/file.h (struct grub_file): Change the types of
15647 "offset" and "size" to grub_off_t and grub_off_t,
15648 respectively. Change the type of SECTOR to grub_disk_addr_t in
15649 "read_hook".
15650 (grub_file_read): Change the type of LEN to grub_size_t.
15651 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
15652 grub_off_t.
15653 (grub_file_size): Return grub_off_t.
15654 (grub_file_tell): Likewise.
15655 All callers and references changed.
15656
15657 * include/grub/disk.h (struct grub_disk_dev): Change the types of
15658 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
15659 "write".
15660 (struct grub_disk): Change the type of "total_sectors" to
15661 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 15662 "read_hook".
524a1e6a 15663 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
15664 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
15665 (grub_disk_write): Likewise.
15666 All callers and references changed.
15667
15668 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
15669 char * for grub_strncmp to silence gcc.
15670 (grub_iso9660_mount): Likewise.
15671 (grub_iso9660_mount): Likewise.
15672 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
15673 return statement.
15674 (grub_iso9660_iterate_dir): Likewise.
15675 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
15676
15677 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
15678 LEN to grub_disk_addr_t and grub_size_t, respectively.
15679
15680 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15681
15682 * fs/jfs.c (grub_jfs_read_file): Likewise.
15683
15684 * fs/minix.c (grub_jfs_read_file): Likewise.
15685
15686 * fs/sfs.c (grub_jfs_read_file): Likewise.
15687
15688 * fs/ufs.c (grub_jfs_read_file): Likewise.
15689
15690 * fs/xfs.c (grub_jfs_read_file): Likewise.
15691
15692 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
15693 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
15694 respectively.
15695
15696 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
15697 BLKNR to -1 instead of returning GRUB_ERRNO.
15698 (grub_ext2_read_file): Change the types of SECTOR and
15699 LEN to grub_disk_addr_t and grub_size_t, respectively.
15700
15701 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
15702 LEN to grub_disk_addr_t and grub_size_t, respectively.
15703
15704 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
15705 grub_file_read.
15706
15707 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
15708 string. Do not cast SECTOR explicitly.
15709
15710 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
15711 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
15712 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
15713 grub_disk_addr_t and grub_size_t, respectively. If the sector is
15714 over 2TB and LBA mode is not supported, raise an error.
15715 (get_safe_sectors): New function.
15716 (grub_biosdisk_read): Use get_safe_sectors.
15717 (grub_biosdisk_write): Likewise.
15718
15719 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
15720 (grub_efidisk_write): Likewise.
15721
15722 * disk/loopback.c (delete_loopback): Cosmetic changes.
15723 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
15724 correctly.
15725 (grub_loopback_open): Likewise.
15726 (grub_loopback_read): Likewise. Also, change the type of POS to
15727 grub_off_t, and fix the usage of grub_memset.
15728
15729 * commands/i386/pc/play.c: Include grub/machine/time.h.
15730
15731 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
15732 print FILE->SIZE.
15733
15734 * commands/configfile.c: Include grub/env.h.
15735
15736 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
15737 GRUB_ERRNO directly instead. Change the type of POS to
15738 grub_off_t. Follow the coding standard.
15739
15740 * commands/blocklist.c: Include grub/partition.h.
15741 (grub_cmd_blocklist): Return an error if the underlying device is
15742 not a disk. Take the starting sector of a partition into account,
15743 if a partition is used.
15744
15745 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
15746 a length field.
15747 (lba_mode): Support 64-bit addresses.
15748 (chs_mode): Likewise.
15749 (copy_buffer): Adapted to the new offsets of a length field and a
15750 segment field.
15751 (blocklist_default_start): Allocate 64-bit space.
15752
15753 * boot/i386/pc/boot.S (force_lba): Removed.
15754 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 15755 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 15756 space.
15757 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
15758 is useless.
15759 (lba_mode): Refactored to support a 64-bit address. More size
15760 optimization.
15761 (setup_sectors): Likewise.
15762
53af98ad 157632006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15764
15765 * DISTLIST: Added include/grub/i386/linux.h. Removed
15766 include/grub/i386/pc/linux.h
15767
15768 * configure.ac (AC_INIT): Bumped to 1.94.
15769
15770 * config.guess: Updated from gnulib.
15771 * config.sub: Likewise.
15772 * install-sh: Likewise.
15773 * mkinstalldirs: Likewise.
15774
b4c1940a 157752006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15776
15777 * conf/common.rmk (grub_modules_init.lst): Depended on
15778 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
15779 MODSRCFILES.
15780
15781 * genmk.rb (PModule::rule): Reverted the previous change.
15782
cfca1cfd 157832006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15784
15785 * conf/common.rmk (grub_modules_init.lst): Depends on
15786 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
15787 that the target does not exist before producing.
15788 (grub_modules_init.h): Remove the target before generating.
15789 (grub_emu_init.c): Likewise.
15790
15791 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
15792
aa6d7826 157932006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
15794
15795 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
15796 for the target-specific tests. Make sure that we also have the
15797 up-to-date target variables for those tests.
15798
26c607b9 157992006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15800
15801 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
15802 (PModule::rule): Likewise.
15803
0162321a 158042006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15805
15806 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
15807 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
15808 target-specific flags should be prefixed.
15809 (PModule::rule): Likewise.
15810
6c826348 158112006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
15812
15813 * configure.ac (CMP): Check if cmp is available explicitly.
15814
b977bf01 158152006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
15816
15817 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
15818 (target_cpu): New variable.
15819 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 15820
b977bf01 15821 * util/i386/pc/grub-install.in (host_cpu): Removed.
15822 (target_cpu): New variable.
15823 (pkglibdir): Use target_cpu instead of host_cpu.
15824
15825 * util/genmoddep.c: Removed.
f19dbdb7 15826
b977bf01 15827 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
15828 instead of GRUB_HOST_SIZEOF_VOID_P.
15829 * kern/dl.c: Likewise.
15830
15831 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
15832 ...
15833 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15834 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15835 (GRUB_TARGET_SIZEOF_LONG): ... this.
15836 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15837 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15838 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15839 to ...
15840 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15841 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15842 (GRUB_TARGET_SIZEOF_LONG): ... this.
15843 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15844 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15845 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15846 to ...
15847 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15848 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15849 (GRUB_TARGET_SIZEOF_LONG): ... this.
15850 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15851 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15852
15853 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
15854 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
15855 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
15856 instead of GRUB_HOST_SIZEOF_LONG.
15857 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
15858 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
15859 GRUB_CPU_WORDS_BIGENDIAN.
15860 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
15861 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
15862 grub_host_ssize_t.
15863
15864 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
15865 (genmoddep_SOURCES): Likewise.
15866 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
15867 (genmoddep_SOURCES): Likewise.
15868 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
15869 (genmoddep_SOURCES): Likewise.
15870 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
15871 Likewise.
15872 (genmoddep_SOURCES): Likewise.
15873
15874 * genmoddep.awk: New file.
15875
15876 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
15877 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
15878 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
15879 (PModule::rule): Likewise.
15880 (Program::rule): Likewise.
15881 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
15882 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
15883 respectively.
15884
15885 * configure.ac: Rewritten intensively to use host and target
15886 instead of build and host, respectively.
15887
15888 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
15889 (host_cpu): Removed.
15890 (target_cpu): New variable.
15891 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
15892 (BUILD_CC): Removed.
15893 (BUILD_CFLAGS): Likewise.
15894 (BUILD_CPPFLAGS): Likewise.
15895 (TARGET_CC): New variable.
15896 (TARGET_CFLAGS): Likewise.
15897 (TARGET_CPPFLAGS): Likewise.
15898 (TARGET_LDFLAGS): Likewise.
15899 (AWK): Likewise.
15900 (include): Use target_cpu instead of host_cpu.
15901 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 15902
b977bf01 15903 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
15904
f09771a1 159052006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
15906
15907 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
15908 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
15909 field 'false' to 'exec_on_false'.
15910 (grub_script_create_cmdif): Renamed argument names to reflect above
15911 changes.
15912
15913 * normal/execute.c (grub_script_execute_cmdif): Likewise.
15914
15915 * normal/script.c (grub_script_create_cmdif): Likewise.
15916
118f4fb3 159172006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
15918
15919 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
15920 top.
15921 (grub_hfsplus_btree_recptr): Likewise.
15922 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
15923 FILEBLOCK both to pass a block number and store next block
15924 number.
15925 (grub_hfsplus_read_block): Rewritten heavily to support an extent
15926 overflow file correctly. Specify errors appropriately, because
15927 fshelp expects that GRUB_ERRNO is set when fails. Reuse
15928 grub_hfsplus_btree_recptr to get the pointer to a found key.
15929 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
15930 is found.
15931
15932 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
15933 linux.mod.
15934 (_linux_mod_SOURCES): New variable.
15935 (_linux_mod_CFLAGS): Likewise.
15936 (_linux_mod_LDFLAGS): Likewise.
15937 (linux_mod_SOURCES): Likewise.
15938 (linux_mod_CFLAGS): Likewise.
15939 (linux_mod_LDFLAGS): Likewise.
15940
15941 * DISTLIST: Added loader/i386/efi/linux.c,
15942 loader/i386/efi/linux_normal.c and
15943 include/grub/i386/efi/loader.h.
15944
15945 * loader/i386/efi/linux.c: New file.
15946 * loader/i386/efi/linux_normal.c: Likewise.
15947 * include/grub/i386/efi/loader.h: Likewise.
15948
89a7d726 159492006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
15950
15951 * commands/blocklist.c: New file.
15952
15953 * DISTLIST: Added commands/blocklist.c.
15954
15955 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 15956 color for the background, and a darker color for the foreground.
89a7d726 15957 (grub_console_checkkey): Return READ_KEY.
15958 (grub_console_cls): Set the background to
15959 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
15960
15961 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
15962
15963 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
15964 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
15965
15966 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
15967 prototype.
15968
15969 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
15970 BG. The spec is wrong again.
15971
15972 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
15973 prototype.
15974 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
15975
15976 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
15977 commands/blocklist.c.
15978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 15979
89a7d726 15980 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
15981 (blocklist_mod_SOURCES): New variable.
15982 (blocklist_mod_CFLAGS): Likewise.
15983 (blocklist_mod_LDFLAGS): Likewise.
15984
75c8f258 159852006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
15986
15987 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
15988 duplication.
15989 (lba_mode): Use %eax more intensively to reduce the code size.
15990
da2eb181 159912006-05-20 Marco Gerards <marco@gnu.org>
15992
15993 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
15994
15995 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
15996 for `menuentry'.
15997 (script): Accept leading newlines.
15998 (newlines): New rule to describe 0 or more newlines.
15999 (commands): Accept `command' with trailing newline. Fixed the
16000 order in which arguments were passed to `grub_script_add_cmd'.
16001 Accept commands separated by newlines.
16002 (function): Changed to accept newlines.
16003 (menuentry) Rewritten.
16004
16005 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
16006 front of the list, instead of to the end.
16007
577b4050 160082006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
16009
16010 * util/i386/pc/grub-install.in (bindir): New variable.
16011 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
16012 Shaver <lbgwjl@gmail.com>.
16013
0d6e1189 160142006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
16015
16016 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
16017 grub/machine/linux.h
16018 * loader/i386/pc/linux.c: Likewise.
16019
16020 * include/grub/i386/pc/linux.h: Moved to ...
16021 * include/grub/i386/linux.h: ... here.
16022
16023 * include/grub/i386/linux.h (struct linux_kernel_params): New
16024 struct.
f19dbdb7 16025
31b86e9f 160262006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
16027
16028 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
16029 checking.
16030 (grub_video_vbe_blit_glyph): Likewise.
16031 (grub_video_vbe_blit_bitmap): Likewise.
16032 (grub_video_vbe_blit_render_target): Likewise.
16033
83b984de 160342006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
16035
16036 * configure.ac (--with-platform): Properly quote the square
16037 brackets.
16038
5f0413bd 160392006-05-08 Marco Gerards <marco@gnu.org>
16040
16041 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
16042 this...
16043 (kernel_elf_HEADERS): ...to this. Updated all users.
16044 (grubof_symlist.c): Renamed from this...
16045 (kernel_elf_symlist.c): ...to this. Updated all users.
16046 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
16047 (grubof_SOURCES): Renamed from this...
16048 (kernel_elf_SOURCES): ...to this.
16049 (grubof_HEADERS): Renamed from this...
16050 (kernel_elf_HEADERS): ...to this.
16051 (grubof_CFLAGS): Renamed from this...
16052 (kernel_elf_CFLAGS): ...to this.
16053 (grubof_ASFLAGS): Renamed from this...
16054 (kernel_elf_ASFLAGS): ...to this.
16055 (grubof_LDFLAGS): Renamed from this...
16056 (kernel_elf_LDFLAGS): ...to this.
16057
16058 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
16059 this...
16060 (kernel_elf_HEADERS): ...to this. Updated all users.
16061 (grubof_symlist.c): Renamed from this...
16062 (kernel_elf_symlist.c): ...to this. Updated all users.
16063 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
16064 (grubof_SOURCES): Renamed from this...
16065 (kernel_elf_SOURCES): ...to this.
16066 (grubof_HEADERS): Renamed from this...
16067 (kernel_elf_HEADERS): ...to this.
16068 (grubof_CFLAGS): Renamed from this...
16069 (kernel_elf_CFLAGS): ...to this.
16070 (grubof_ASFLAGS): Renamed from this...
16071 (kernel_elf_ASFLAGS): ...to this.
16072 (grubof_LDFLAGS): Renamed from this...
16073 (kernel_elf_LDFLAGS): ...to this.
16074
16075 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
16076 `kernel.elf' instead of `grubof'.
16077
05568c2e 160782006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
16079
16080 Add --with-platform to configure. Use pkglibdir instead of
16081 pkgdatadir. This is reported by Roger Leigh.
16082
16083 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
16084 (host_vendor): Likewise.
16085 (host_os): Likewise.
16086 (pkgdatadir): Likewise.
16087 (platform): New variable.
16088 (pkglibdir): Likewise.
16089 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 16090
05568c2e 16091 * util/i386/pc/grub-install.in (datadir): Removed.
16092 (host_vendor): Likewise.
16093 (host_os): Likewise.
16094 (pkgdatadir): Likewise.
16095 (platform): New variable.
16096 (pkglibdir): Likewise.
16097 Use PKGLIBDIR instead of PKGDATADIR.
16098
16099 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
16100 instead of GRUB_DATADIR.
16101 (main): Likewise.
16102 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16103 (main): Likewise.
16104 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16105 (main): Likewise.
16106
16107 * configure.ac (--with-platform): New option.
16108 Use PLATFORM instead of HOST_VENDOR to specify a platform.
16109
16110 * Makefile.in: Include a makefile based on PLATFORM instead of
16111 HOST_VENDOR.
16112 (pkgdatadir): Not appended by the machine type.
16113 (pkglibdir): Appended by the machine type.
16114 (host_vendor): Removed.
16115 (platform): New variable.
16116 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
16117 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
16118 (uninstall): Likewise.
16119
4e93851c 161202006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
16121
16122 Use the environment context in the menu. Remove the commands
16123 "default" and "timeout", and use variables instead.
f19dbdb7 16124
4e93851c 16125 * normal/menu.c: Include grub/env.h.
16126 (print_entry): Cast TITLE to silence gcc.
16127 (get_timeout): New function.
16128 (set_timeout): Likewise.
16129 (get_entry_number): Likewise.
16130 (run_menu): Use a default entry, a fallback entry and a timeout
16131 in the environment variables "default", "fallback" and
16132 "timeout". Also, tweak the default entry if it is not within the
16133 current menu entries.
16134 (grub_menu_run): Use a fallback entry in the environment variable
16135 "fallback".
16136
16137 * normal/main.c (read_config_file): Do not initialize
16138 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
16139 NEWMENU->TIMEOUT.
16140 (grub_normal_execute): Use a data slot to store the menu.
16141
16142 * include/grub/normal.h (struct grub_menu): Removed default_entry,
16143 fallback_entry and timeout.
16144 (struct grub_menu_list): Removed.
16145 (grub_menu_list_t): Likewise.
16146 (struct grub_context): Likewise.
16147 (grub_context_t): Likewise.
16148 (grub_context_get): Likewise.
16149 (grub_context_get_current_menu): Likewise.
16150 (grub_context_push_menu): Likewise.
16151 (grub_context_pop_menu): Likewise.
16152 (grub_default_init): Likewise.
16153 (grub_default_fini): Likewise.
16154 (grub_timeout_init): Likewise.
16155 (grub_timeout_fini): Likewise.
16156
16157 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
16158 and timeout.mod.
16159 (normal_mod_SOURCES): Removed normal/context.c.
16160
16161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
16162 commands/default.c, commands/timeout.c and normal/context.c.
16163 (normal_mod_SOURCES): Removed normal/context.c.
16164
16165 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
16166 commands/timeout.c and normal/context.c.
16167 (normal_mod_SOURCES): Removed normal/context.c.
16168
16169 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
16170 commands/default.c, commands/timeout.c and normal/context.c.
16171 (normal_mod_SOURCES): Removed normal/context.c.
16172
16173 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
16174 timeout.mod.
16175 (default_mod_SOURCES): Removed.
16176 (default_mod_CFLAGS): Likewise.
16177 (default_mod_LDFLAGS): Likewise.
16178 (timeout_mod_SOURCES): Removed.
16179 (timeout_mod_CFLAGS): Likewise.
16180 (timeout_mod_LDFLAGS): Likewise.
16181
16182 * DISTLIST: Removed commands/default.c, commands/timeout.c and
16183 normal/context.c.
16184
16185 * commands/default.c: Removed.
16186 * commands/timeout.c: Likewise.
16187 * normal/context.c: Likewise.
16188
1eb9cc1d 161892006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
16190
16191 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
16192
385bd9c1 161932006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
16194
16195 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
16196 "next" to "prev" for readability.
16197 (struct grub_env_sorted_var): New struct.
16198 (grub_env_context): Renamed to ...
16199 (initial_context): ... this.
16200 (grub_env_var_context): Renamed to ...
16201 (current_context): ... this.
16202 (grub_env_find): Look only at CURRENT_CONTEXT.
16203 (grub_env_context_open): Rewritten to copy exported variables from
16204 previous context.
16205 (grub_env_context_close): Rewritten according to the new
16206 scheme. Also, add an assertion to prevent the initial context from
16207 removed.
16208 (grub_env_insert): Removed the code for the sorted list.
16209 (grub_env_remove): Likewise.
16210 (grub_env_export): Simply mark the variable with
16211 GRUB_ENV_VAR_GLOBAL.
16212 (grub_env_set): A cosmetic change for naming consistency.
16213 (grub_env_get): Likewise.
16214 (grub_env_unset): Likewise.
16215 (grub_env_iterate): Rewritten to sort variables within this
16216 function.
16217 (grub_register_variable_hook): Fixed for naming consistency. Call
16218 grub_env_find again, only if NAME is not found at the first time.
16219 (mangle_data_slot_name): New function.
16220 (grub_env_set_data_slot): Likewise.
16221 (grub_env_get_data_slot): Likewise.
16222 (grub_env_unset_data_slot): Likewise.
16223
16224 * include/grub/env.h (grub_env_var_type): New enum.
16225 (GRUB_ENV_VAR_LOCAL): New constant.
16226 (GRUB_ENV_VAR_GLOBAL): Likewise.
16227 (GRUB_ENV_VAR_DATA): Likewise.
16228 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
16229 "type".
16230 (grub_env_set): Replace VAR with NAME for consistency.
16231 (grub_register_variable_hook): Likewise.
16232 (grub_env_export): Specify the name of the argument.
16233 (grub_env_set_data_slot): New prototype.
16234 (grub_env_get_data_slot): Likewise.
16235 (grub_env_unset_data_slot): Likewise.
16236
7f362539 162372006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
16238
16239 Extend the loader so that GRUB can accept a loader which comes
16240 back to GRUB when a loaded image exits. Also, this change adds
16241 support for a chainloader on EFI.
f19dbdb7 16242
7f362539 16243 * term/efi/console.c: Include grub/misc.h.
16244 (grub_console_checkkey): Display a scan code on the top for
16245 debugging. This will be removed once the EFI port gets stable.
16246 Correct the scan code mapping.
16247
16248 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
16249 allocate memory from larger regions, in order to reduce the number
16250 of allocated regions. Otherwise, the MacOSX loader panics.
16251 (filter_memory_map): Avoid less than 1MB for compatibility with
16252 other loaders.
16253 (add_memory_regions): Allocate from the tail of a region, if
16254 possible, to avoid allocating a region near to 1MB, for the MacOSX
16255 loader.
16256
16257 * kern/efi/init.c (grub_efi_set_prefix): Specify
16258 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
16259
16260 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
16261 argument IMAGE_HANDLE and specify it to get a loaded image.
16262 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
16263 grub_efi_get_loaded_image.
fe6b695a 16264 (grub_efi_get_filename): Divide the length by the size of
7f362539 16265 grub_efi_char16_t.
16266 (grub_efi_get_device_path): New function.
16267 (grub_efi_print_device_path): Print End Device Path nodes. Divide
16268 the length by the size of grub_efi_char16_t for a file path device
16269 path node.
16270
16271 * kern/loader.c (grub_loader_noreturn): New variable.
16272 (grub_loader_set): Accept a new argument NORETURN. Set
16273 GRUB_LOADER_NORETURN to NORETURN.
16274 All callers changed.
16275 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
16276 grub_machine_fini.
16277
16278 * include/grub/efi/efi.h (grub_efi_get_device_path): New
16279 prototype.
16280 (grub_efi_get_loaded_image): Take an argument to specify an image
16281 handle.
16282
16283 * include/grub/loader.h (grub_loader_set): Added one more argument
16284 NORETURN.
16285
16286 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
16287 instead of grub_efi_open_protocol.
16288 (grub_efidisk_get_device_name): Likewise.
16289 (grub_efidisk_close): Print a newline.
16290 (grub_efidisk_get_device_handle): Fixed to use
16291 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
16292 GRUB_EFI_DEVICE_PATH_TYPE.
16293
16294 * disk/efi/efidisk.c (device_path_guid): Moved to ...
16295 * kern/efi/efi.c (device_path_guid): ... here.
16296
16297 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
16298 chain.mod.
16299 (kernel_mod_HEADERS): Added efi/disk.h.
16300 (_chain_mod_SOURCES): New variable.
16301 (_chain_mod_CFLAGS): Likewise.
16302 (_chain_mod_LDFLAGS): Likewise.
16303 (chain_mod_SOURCES): Likewise.
16304 (chain_mod_CFLAGS): Likewise.
16305 (chain_mod_LDFLAGS): Likewise.
16306
16307 * DISTLIST: Added include/grub/efi/chainloader.h,
16308 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
16309
16310 * include/grub/efi/chainloader.h: New file.
16311 * loader/efi/chainloader.c: Likewise.
16312 * loader/efi/chainloader_normal.c: Likewise.
16313
c0111d6e 163142006-04-30 Marco Gerards <marco@gnu.org>
16315
16316 * commands/configfile.c (grub_cmd_source): New function.
16317 (GRUB_MOD_INIT): Register the commands `source' and `.'.
16318 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
16319
df5341da 163202006-04-30 Marco Gerards <marco@gnu.org>
16321
16322 * normal/execute.c (grub_script_execute_cmd): Change the return
16323 type to `grub_err_t'. Correctly return the error.
16324 (grub_script_execute_cmdline): In case a command line is not a
16325 command or a function, try to interpret it as an assignment.
16326
f85934bd 163272006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
16328
16329 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
16330 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
16331 skip a node whose name is obviously invalid as UTF-16,
16332 i.e. contains a NUL character. Stop the iteration when the last
16333 directory entry is found. Instead of using the return value of
16334 grub_hfsplus_btree_iterate_node, store the value in RET and use
16335 it, because the iterator can be stopped by the last directory
16336 entry.
16337
8f8a2cf8 163382006-04-30 Marco Gerards <marco@gnu.org>
16339
16340 * include/grub/env.h (grub_env_export): New prototype. Reported
16341 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
16342
a27e84ce 163432006-04-30 Marco Gerards <marco@gnu.org>
16344
16345 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
16346 size of the extents in a catalog file record.
16347
eaef0553 163482006-04-29 Marco Gerards <marco@gnu.org>
16349
16350 * commands/configfile.c (grub_cmd_configfile): Execute the
16351 configfile within its own context.
16352
16353 * include/grub/env.h (grub_env_context_open): New prototype.
16354 (grub_env_context_close): Likewise.
16355
16356 * kern/env.c (grub_env): Removed.
16357 (grub_env_sorted): Likewise.
16358 (grub_env_context): New variable.
16359 (grub_env_var_context): Likewise.
16360 (grub_env_find): Search both the active context and the global
16361 context.
16362 (grub_env_context_open): New function.
16363 (grub_env_context_close): Likewise.
16364 (grub_env_insert): Likewise.
16365 (grub_env_remove): Likewise.
16366 (grub_env_export): Likewise.
16367 (grub_env_set): Changed to use helper functions to avoid code
16368 duplication.
16369 (grub_env_iterate): Rewritten so both the current context and the
16370 global context are being used.
16371
16372 * normal/command.c (export_command): New function.
16373 (grub_command_init): Register the `export' function.
16374
7b455f4d 163752006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
16376
16377 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
16378 explicitly to suppress gcc's warnings.
16379 * fs/fat.c (grub_fat_find_dir): Likewise.
16380 (grub_fat_label): Likewise.
16381 * fs/xfs.c (grub_xfs_read_inode): Likewise.
16382 (grub_xfs_mount): Likewise.
16383 (grub_xfs_label): Likewise.
16384 * fs/affs.c (grub_affs_mount): Likewise.
16385 (grub_affs_label): Likewise.
16386 (grub_affs_iterate_dir): Likewise.
16387 * fs/sfs.c (grub_sfs_mount): Likewise.
16388 (grub_sfs_iterate_dir): Likewise.
16389 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
16390 * fs/hfs.c (grub_hfs_mount): Likewise.
16391 (grub_hfs_cmp_catkeys): Likewise.
16392 (grub_hfs_find_dir): Likewise.
16393 (grub_hfs_dir): Likewise.
16394 (grub_hfs_label): Likewise.
16395 * fs/jfs.c (grub_jfs_mount): Likewise.
16396 (grub_jfs_opendir): Likewise.
16397 (grub_jfs_getent): Likewise.
16398 (grub_jfs_lookup_symlink): Likewise.
16399 (grub_jfs_label): Likewise.
16400 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
16401 (grub_hfsplus_iterate_dir): Likewise.
16402 (grub_hfsplus_btree_iterate_node): Made static.
16403
16404 * util/grub-emu.c (prefix): New variable.
16405 (grub_machine_set_prefix): New function.
16406 (main): Do not set the environment variable "prefix" here. Only
16407 set PREFIX, which is used later by grub_machine_set_prefix.
16408
16409 * include/grub/video.h: Do not include grub/symbol.h.
16410 (grub_video_register): Not exported. This symbol is not defined in
16411 the kernel.
16412 (grub_video_unregister): Likewise.
16413 (grub_video_iterate): Likewise.
16414 (grub_video_setup): Likewise.
16415 (grub_video_restore): Likewise.
16416 (grub_video_get_info): Likewise.
16417 (grub_video_get_blit_format): Likewise.
16418 (grub_video_set_palette): Likewise.
16419 (grub_video_get_palette): Likewise.
16420 (grub_video_set_viewport): Likewise.
16421 (grub_video_get_viewport): Likewise.
16422 (grub_video_map_color): Likewise.
16423 (grub_video_map_rgb): Likewise.
16424 (grub_video_map_rgba): Likewise.
16425 (grub_video_fill_rect): Likewise.
16426 (grub_video_blit_glyph): Likewise.
16427 (grub_video_blit_bitmap): Likewise.
16428 (grub_video_blit_render_target): Likewise.
16429 (grub_video_scroll): Likewise.
16430 (grub_video_swap_buffers): Likewise.
16431 (grub_video_create_render_target): Likewise.
16432 (grub_video_delete_render_target): Likewise.
16433 (grub_video_set_active_render_target): Likewise.
16434
16435 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
16436 Undefined.
16437 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
16438
16439 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
16440 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16441 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16442 instead of $(srcdir)/genkernsyms.sh.
16443
16444 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
16445 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16446 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16447 instead of $(srcdir)/genkernsyms.sh.
16448
16449 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
16450 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16451 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16452 instead of $(srcdir)/genkernsyms.sh.
16453
16454 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
16455 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16456 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16457 instead of $(srcdir)/genkernsyms.sh.
16458
16459 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
16460 genkernsyms.sh.
16461
16462 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
16463 genkernsyms.sh.
16464 (gensymlist.sh): New target.
16465 (genkernsyms.sh): Likewise.
16466
16467 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
16468 genkernsyms.sh.in and gensymlist.sh.in.
16469
16470 * genkernsyms.sh: Removed.
16471 * gensymlist.sh: Likewise.
f19dbdb7 16472
7b455f4d 16473 * genkernsyms.sh.in: New file.
16474 * gensymlist.sh.in: Likewise.
16475
1885bb27 164762006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16477
16478 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
16479 clobber "prefix", since we may have already set it manually.
16480
71538dff 164812006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16482
16483 * kern/misc.c (abort): New alias for grub_abort.
16484
2965c7cc 164852006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
16486
16487 A new machine-specific function "grub_machine_set_prefix" is
16488 defined. This is called after loading modules, so that a prefix
16489 initialization can use modules. Also, this change adds an
16490 intensive debugging feature for the memory manager via the
16491 configure option "--enable-mm-debug".
f19dbdb7 16492
2965c7cc 16493 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
16494 PART.LEN.
16495
16496 * kern/sparc64/ieee1275/init.c (abort): Removed.
16497 (grub_stop): Likewise.
16498 (grub_exit): New function.
16499 (grub_set_prefix): Renamed to ...
16500 (grub_machine_set_prefix): ... this.
16501 (grub_machine_init): Do not call grub_set_prefix.
16502
16503 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
16504 (grub_machine_set_prefix): ... this.
16505 (grub_machine_init): Do not call grub_set_prefix.
16506
16507 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
16508 (grub_machine_init): Do not set the prefix here.
16509
16510 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
16511
16512 * kern/efi/init.c: Include grub/mm.h.
16513 (grub_efi_set_prefix): New function.
16514
16515 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
16516 (grub_efi_get_filename): New function.
16517 (grub_print_device_path): Renamed to ...
16518 (grub_efi_print_device_path): ... this.
16519
16520 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
16521 [MM_DEBUG] (grub_realloc): Likewise.
16522 [MM_DEBUG] (grub_free): Likewise.
16523 [MM_DEBUG] (grub_memalign): Likewise.
16524 [MM_DEBUG] (grub_mm_debug): New variable.
16525 [MM_DEBUG] (grub_debug_malloc): New function.
16526 [MM_DEBUG] (grub_debug_free): New function.
16527 [MM_DEBUG] (grub_debug_realloc): New function.
16528 [MM_DEBUG] (grub_debug_memalign): New function.
16529
16530 * kern/misc.c (grub_abort): Print a newline to distinguish
16531 the message.
16532
16533 * kern/main.c (grub_main): Call grub_machine_set_prefix and
16534 grub_set_root_dev after loading modules. This is necessary when
16535 setting a prefix depends on modules.
16536
16537 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
16538 (grub_efi_print_device_path): ... this.
16539 (grub_efi_get_filename): New prototype.
16540 (grub_efi_set_prefix): Likewise.
16541
16542 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
16543 and grub/disk.h.
16544 (grub_efidisk_get_device_handle): New prototype.
16545 (grub_efidisk_get_device_name): Likewise.
16546
16547 * include/grub/mm.h: Include config.h.
16548 (MM_DEBUG): Removed.
16549 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
16550 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
16551 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
16552 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
16553 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
16554 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
16555 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
16556 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
16557 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
16558
16559 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
16560
16561 * disk/efi/efidisk.c: Include grub/partition.h.
16562 (iterate_child_devices): New function.
16563 (add_device): First, compare only last device path nodes, so that
16564 devices are sorted by the types.
16565 (grub_efidisk_get_device_handle): New function.
16566 (grub_efidisk_get_device_name): Likewise.
16567
16568 * configure.ac (--enable-mm-debug): New option to enable the
16569 memory manager debugging feature. This makes the binary much
16570 bigger, so is disabled by default.
16571
9cacaa17 165722006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
16573
16574 Use grub_abort instead of grub_stop, and grub_exit must be
16575 define in each architecture now. Also, this change adds support
16576 for EFI disks.
f19dbdb7 16577
9cacaa17 16578 * util/i386/pc/grub-probefs.c: Include grub/term.h.
16579 (grub_getkey): New function.
16580 (grub_term_get_current): Likewise.
16581
16582 * util/i386/pc/grub-setup.c: Include grub/term.h.
16583 (grub_getkey): New function.
16584 (grub_term_get_current): Likewise.
16585
16586 * util/misc.c (grub_stop): Renamed to ...
16587 (grub_exit): ... this.
16588
16589 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
16590 (grub_exit): ... this.
16591 (grub_machine_init): Use grub_abort instead of abort.
16592 (grub_stop): Removed.
16593
16594 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
16595 abort.
16596
16597 * kern/i386/pc/startup.S (grub_exit): New function.
16598 (cold_reboot): New label.
16599
16600 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
16601 (grub_efi_init): Call grub_efidisk_init.
16602 (grub_efi_fini): Call grub_efidisk_fini.
16603
16604 * kern/efi/efi.c: Include grub/mm.h.
16605 (grub_efi_console_control_guid): Renamed to ...
16606 (console_control_guid): ... this.
16607 (grub_efi_loaded_image_guid): Renamed to ...
16608 (loaded_image_guid): ... this.
16609 (grub_efi_locate_handle): New function.
16610 (grub_efi_open_protocol): Likewise.
16611 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
16612 GRUB_EFI_CONSOLE_CONTROL_GUID.
16613 (grub_efi_exit): Removed.
16614 (grub_stop): Likewise.
16615 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
16616 (grub_exit): New function.
16617 (grub_print_device_path): Likewise.
16618
16619 * kern/rescue.c (grub_rescue_cmd_exit): New function.
16620 (grub_enter_rescue_mode): Register "exit".
16621
16622 * kern/misc.c (grub_real_dprintf): A cosmetic change.
16623 (grub_abort): New function.
16624
16625 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
16626
16627 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
16628
16629 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
16630
16631 * include/grub/efi/efi.h (grub_efi_exit): Removed.
16632 (grub_print_device_path): New prototype.
16633 (grub_efi_locate_handle): Likewise.
16634 (grub_efi_open_protocol): Likewise.
16635
16636 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
16637 * disk/efi/efidisk.c: Likewise.
16638
16639 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
16640
16641 * include/grub/efi/console_control.h
16642 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
16643
16644 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
16645 last 8 bytes as an array.
16646 (GRUB_EFI_DISK_IO_GUID): New macro.
16647 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
16648 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
16649 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
16650 grub_uint8_t.
16651 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
16652 (struct grub_efi_device_path): Rename the member "sub_type" to
16653 "subtype".
16654 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
16655 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
16656 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
16657 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
16658 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
16659 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
16660 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
16661 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
16662 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
16663 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
16664 (struct grub_efi_pci_device_path): New structure.
16665 (grub_efi_pci_device_path_t): New type.
16666 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
16667 (struct grub_efi_pccard_device_path): New structure.
16668 (grub_efi_pccard_device_path_t): New type.
16669 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
16670 (struct grub_efi_memory_mapped_device_path): New structure.
16671 (grub_efi_memory_mapped_device_path_t): New type.
16672 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
16673 (struct grub_efi_vendor_device_path): New structure.
16674 (grub_efi_vendor_device_path_t): New type.
16675 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
16676 (struct grub_efi_controller_device_path): New structure.
16677 (grub_efi_controller_device_path_t): New type.
16678 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
16679 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
16680 (struct grub_efi_acpi_device_path): New structure.
16681 (grub_efi_acpi_device_path_t): New type.
16682 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
16683 (struct grub_efi_expanded_acpi_device_path): New structure.
16684 (grub_efi_expanded_acpi_device_path_t): New type.
16685 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
16686 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
16687 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
16688 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
16689 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
16690 (struct grub_efi_atapi_device_path): New structure.
16691 (grub_efi_atapi_device_path_t): New type.
16692 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
16693 (struct grub_efi_fibre_channel_device_path): New structure.
16694 (grub_efi_fibre_channel_device_path_t): New type.
16695 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
16696 (struct grub_efi_1394_device_path): New structure.
16697 (grub_efi_1394_device_path_t): New type.
16698 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
16699 (struct grub_efi_usb_device_path): New structure.
16700 (grub_efi_usb_device_path_t): New type.
16701 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
16702 (struct grub_efi_usb_class_device_path): New structure.
16703 (grub_efi_usb_class_device_path_t): New type.
16704 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
16705 (struct grub_efi_i2o_device_path): New structure.
16706 (grub_efi_i2o_device_path_t): New type.
16707 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
16708 (struct grub_efi_mac_address_device_path): New structure.
16709 (grub_efi_mac_address_device_path_t): New type.
16710 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
16711 (struct grub_efi_ipv4_device_path): New structure.
16712 (grub_efi_ipv4_device_path_t): New type.
16713 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
16714 (struct grub_efi_ipv6_device_path): New structure.
16715 (grub_efi_ipv6_device_path_t): New type.
16716 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
16717 (struct grub_efi_infiniband_device_path): New structure.
16718 (grub_efi_infiniband_device_path_t): New type.
16719 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
16720 (struct grub_efi_uart_device_path): New structure.
16721 (grub_efi_uart_device_path_t): New type.
16722 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
16723 (struct grub_efi_vendor_messaging_device_path): New structure.
16724 (grub_efi_vendor_messaging_device_path_t): New type.
16725 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
16726 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
16727 (struct grub_efi_hard_drive_device_path): New structure.
16728 (grub_efi_hard_drive_device_path_t): New type.
16729 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
16730 (struct grub_efi_cdrom_device_path): New structure.
16731 (grub_efi_cdrom_device_path_t): New type.
16732 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
16733 (struct grub_efi_vendor_media_device_path): New structure.
16734 (grub_efi_vendor_media_device_path_t): New type.
16735 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
16736 (struct grub_efi_file_path_device_path): New structure.
16737 (grub_efi_file_path_device_path_t): New type.
16738 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
16739 (struct grub_efi_protocol_device_path): New structure.
16740 (grub_efi_protocol_device_path_t): New type.
16741 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
16742 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
16743 (struct grub_efi_bios_device_path): New structure.
16744 (grub_efi_bios_device_path_t): New type.
16745 (struct grub_efi_disk_io): New structure.
16746 (grub_efi_disk_io_t): New type.
16747 (struct grub_efi_block_io_media): New structure.
16748 (grub_efi_block_io_media_t): New type.
16749 (struct grub_efi_block_io): New structure.
16750 (grub_efi_block_io_t): New type.
16751
16752 * include/grub/misc.h (grub_stop): Removed.
16753 (grub_exit): New prototype.
16754 (grub_abort): Likewise.
16755
16756 * include/grub/disk.h (enum grub_disk_dev_id): Added
16757 GRUB_DISK_DEVICE_EFIDISK_ID.
16758
16759 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
16760 disk/efi/efidisk.c.
16761 (kernel_syms.lst): Remove the target if an error occurs.
16762
49986a9f 167632006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
16764
16765 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
16766 as it was simply too buggy.
16767
970d3b8a 167682006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
16769
16770 * kern/misc.c (grub_lltoa): New function.
16771 (grub_vsprintf): Added support for the long long suffix,
16772 i.e. "ll".
16773
ff04ec24 167742006-04-20 Hollis Blanchard <hollis@penguinppc.org>
16775
16776 * Makefile.in (LDFLAGS): Add variable.
16777 (LD): Remove variable.
16778 * configure.ac: Add -m32 to LDFLAGS.
16779 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
16780 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
16781 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
16782 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
16783 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
16784 variables.
16785 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
16786 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
16787 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
16788
37e5e1a4 167892006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
16790
16791 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
16792 length for unknown glyph.
16793
c352d8dd 167942006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
16795
2eab1c0d 16796 Add support for pre-loaded modules into the EFI port.
f19dbdb7 16797
2eab1c0d 16798 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
16799 completely. Accept one more argument DIR. The caller has changed.
16800
16801 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
16802
16803 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
16804 (grub_efi_loaded_image_guid): New variable.
16805 (grub_efi_get_loaded_image): New function.
16806 (grub_arch_modules_addr): Likewise.
16807
16808 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
16809 prototype.
16810
16811 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
16812 (struct grub_efi_loaded_image): New structure.
16813 (grub_efi_loaded_image_t): New type.
16814
168152006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16816
c352d8dd 16817 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
16818 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
16819 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
16820
6d01d6b4 168212006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
16822
16823 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
16824
976a4ea0 168252006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
16826
16827 * DISTLIST: Added include/grub/efi/console.h,
16828 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
16829 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16830
16831 * include/grub/efi/console.h: New file.
16832 * include/grub/efi/time.h: Likewise.
16833 * include/grub/i386/efi/kernel.h: Likewise.
16834 * kern/efi/init.c: Likewise.
16835 * kern/efi/mm.c: Likewise.
16836 * term/efi/console.c: Likewise.
f19dbdb7 16837
976a4ea0 16838 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
16839 (grub_stop): Removed.
16840 (grub_get_rtc): Likewise.
16841 (grub_machine_init): Simply call grub_efi_init.
16842 (grub_machine_fini): Call grub_efi_fini.
16843
16844 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
16845 (grub_efi_output_string): Removed.
16846 (grub_efi_stall): New function.
16847 (grub_stop): Likewise.
16848 (grub_get_rtc): Likewise.
16849
16850 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
16851 (grub_efi_stall): New prototype.
16852 (grub_efi_allocate_pages): Likewise.
16853 (grub_efi_free_pages): Likewise.
16854 (grub_efi_get_memory_map): Likewise.
16855 (grub_efi_mm_init): Likewise.
16856 (grub_efi_mm_fini): Likewise.
16857 (grub_efi_init): Likewise.
16858 (grub_efi_fini): Likewise.
16859
16860 * include/grub/i386/efi/time.h: Do not include
16861 grub/symbol.h. Include grub/efi/time.h.
16862 (GRUB_TICKS_PER_SECOND): Removed.
16863 (grub_get_rtc): Likewise.
16864
16865 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
16866 Added padding. The EFI spec is buggy.
16867 (GRUB_EFI_BLACK): New macro.
16868 (GRUB_EFI_BLUE): Likewise.
16869 (GRUB_EFI_GREEN): Likewise.
16870 (GRUB_EFI_CYAN): Likewise.
16871 (GRUB_EFI_RED): Likewise.
16872 (GRUB_EFI_MAGENTA): Likewise.
16873 (GRUB_EFI_BROWN): Likewise.
16874 (GRUB_EFI_LIGHTGRAY): Likewise.
16875 (GRUB_EFI_BRIGHT): Likewise.
16876 (GRUB_EFI_DARKGRAY): Likewise.
16877 (GRUB_EFI_LIGHTBLUE): Likewise.
16878 (GRUB_EFI_LIGHTGREEN): Likewise.
16879 (GRUB_EFI_LIGHTCYAN): Likewise.
16880 (GRUB_EFI_LIGHTRED): Likewise.
16881 (GRUB_EFI_LIGHTMAGENTA): Likewise.
16882 (GRUB_EFI_YELLOW): Likewise.
16883 (GRUB_EFI_WHITE): Likewise.
16884 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
16885 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
16886 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
16887 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
16888 (GRUB_EFI_BACKGROUND_RED): Likewise.
16889 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
16890 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
16891 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
16892 (GRUB_EFI_TEXT_ATTR): Likewise.
16893
16894 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
16895 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16896 (kernel_mod_HEADERS): Added efi/time.h.
16897
83709125 168982006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
16899
16900 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
16901 include/grub/efi/api.h, include/grub/efi/console_control.h,
16902 include/grub/efi/efi.h, include/grub/efi/pe32.h,
16903 include/grub/i386/efi/time.h, kern/efi/efi.c,
16904 kern/i386/efi/init.c, kern/i386/efi/startup.S,
16905 and util/i386/efi/grub-mkimage.c.
16906
16907 * Makefile.in (RMKFILES): Added i386-efi.rmk.
16908
16909 * genmk.rb (PModule#rule): Do not export symbols if
16910 #{prefix}_EXPORTS is set to "no".
16911
16912 * conf/i386-efi.mk: New file.
16913 * conf/i386-efi.rmk: Likewise.
16914 * include/grub/efi/api.h: Likewise.
16915 * include/grub/efi/console_control.h: Likewise.
16916 * include/grub/efi/efi.h: Likewise.
16917 * include/grub/efi/pe32.h: Likewise.
16918 * include/grub/i386/efi/time.h: Likewise.
16919 * kern/efi/efi.c: Likewise.
16920 * kern/i386/efi/init.c: Likewise.
16921 * kern/i386/efi/startup.S: Likewise.
16922 * util/i386/efi/grub-mkimage.c: Likewise.
16923
169242006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 16925
16926 * include/grub/script.h: Include <grub/parser.h> and
16927 "grub_script.tab.h".
16928 (struct grub_lexer_param): New struct.
16929 (struct grub_parser_param): Likewise.
16930 (grub_script_create_arglist): Pass the state in an argument.
16931 (grub_script_add_arglist): Likewise.
16932 (grub_script_create_cmdline): Likewise.
16933 (grub_script_create_cmdblock): Likewise.
16934 (grub_script_create_cmdif): Likewise.
16935 (grub_script_create_cmdmenu): Likewise.
16936 (grub_script_add_cmd): Likewise.
16937 (grub_script_arg_add): Likewise.
16938 (grub_script_lexer_ref): Likewise.
16939 (grub_script_lexer_deref): Likewise.
16940 (grub_script_lexer_record_start): Likewise.
16941 (grub_script_lexer_record_stop): Likewise.
16942 (grub_script_mem_record): Likewise.
16943 (grub_script_mem_record_stop): Likewise.
16944 (grub_script_malloc): Likewise.
16945 (grub_script_yylex): Likewise.
16946 (grub_script_yyparse): Likewise.
16947 (grub_script_yyerror): Likewise.
16948 (grub_script_yylex): Likewise.
16949 (grub_script_lexer_init): Return the state.
16950
16951 * normal/lexer.c (grub_script_lexer_state): Removed variable.
16952 (grub_script_lexer_done): Likewise.
16953 (grub_script_lexer_getline): Likewise.
16954 (grub_script_lexer_refs): Likewise.
16955 (script): Likewise.
16956 (newscript): Likewise.
16957 (record): Likewise.
16958 (recording): Likewise.
16959 (recordpos): Likewise.
16960 (recordlen): Likewise.
16961 (grub_script_lexer_init): Return the state instead of setting
16962 global variables.
16963 (grub_script_lexer_ref): Use the newly added argument for state
16964 instead of globals.
16965 (grub_script_lexer_deref): Likewise.
16966 (grub_script_lexer_record_start): Likewise.
16967 (grub_script_lexer_record_stop): Likewise.
16968 (recordchar): Likewise.
16969 (nextchar): Likewise.
16970 (grub_script_yylex2): Likewise.
16971 (grub_script_yylex): Likewise.
16972 (grub_script_yyerror): Likewise.
16973
16974 * normal/parser.y (func_mem): Removed variable.
16975 (menu_entry): Likewise.
16976 (err): Likewise.
16977 (%lex-param): New parser option.
16978 (%parse-param): Likewise.
16979 (script): Always return the AST.
16980 (argument): Pass the state around.
16981 (arguments): Likewise.
16982 (grubcmd): Likewise.
16983 (commands): Likewise.
16984 (function): Likewise.
16985 (menuentry): Likewise.
16986 (if_statement): Likewise.
16987 (if): Likewise.
16988
16989 * normal/script.c (grub_script_memused): Removed variable.
16990 (grub_script_parsed): Likewise.
16991 (grub_script_malloc): Added a state argument. Use that instead of
16992 global variables.
16993 (grub_script_mem_record): Likewise.
16994 (grub_script_mem_record_stop): Likewise.
16995 (grub_script_arg_add): Likewise.
16996 (grub_script_add_arglist): Likewise.
16997 (grub_script_create_cmdline): Likewise.
16998 (grub_script_create_cmdif): Likewise.
16999 (grub_script_create_cmdmenu): Likewise.
17000 (grub_script_add_cmd): Likewise.
17001 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 17002
e2a8c904 170032006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 17004
17005 * normal/command.c (grub_command_init): Remove the title command.
17006
17007 * normal/lexer.c (grub_script_yylex): Renamed from this...
17008 (grub_script_yylex2): ... to this.
17009 (grub_script_yylex): New function. Temporary
17010 introduced to filter some tokens.
17011 (grub_script_yyerror): Print a newline.
17012
17013 * normal/main.c (read_config_file): Output information about the
17014 lines that contain errors. Wait for a key after all lines have
17015 been processed. Don't return an empty menu.
17016
17017 * normal/parser.y (func_mem): Don't initialize.
17018 (menu_entry): Likewise.
17019 (err): New variable.
17020 (script): Don't return anything when an error was encountered.
17021 (ws, returns): Removed rules.
17022 (argument): Disabled concatenated variable support.
17023 (arguments): Remove explicit separators.
17024 (grubcmd): Likewise.
17025 (function): Likewise.
17026 (menuentry): Likewise.
17027 (if): Likewise.
17028 (commands): Likewise. Add error handling.
17029
17030 * normal/script.c (grub_script_create_cmdline): If
17031 `grub_script_parsed' is 0, assume the parser encountered an error.
17032
c9a86192 170332006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
17034
17035 * configure.ac: Add support for EFI. Fix the typo
17036 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
17037
70f3b243 170382006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
17039
17040 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
17041 foreign multibyte characters should be shown correctly.
17042
65f201ad 170432006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
17044
17045 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
17046 calculation.
17047 (read_config_file): Made it to close file before returning.
17048
b4b93674 170492006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
17050
17051 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
17052 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
17053 video/i386/pc/vbefill.c.
17054
17055 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
17056 video/i386/pc/vbefill.c.
17057
17058 * include/grub/video.h (grub_video_blit_format): New enum.
17059 (grub_video_mode_info): Added new member blit_format.
17060 (grub_video_get_blit_format): New function prototype.
17061
17062 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
17063 function prototype.
17064 (grub_video_vbe_map_rgb): Likewise.
17065 (grub_video_vbe_unmap_color): Likewise.
17066
17067 * include/grub/i386/pc/vbeblit.h: New file.
17068
17069 * include/grub/i386/pc/vbefill.h: New file.
17070
17071 * video/video.c (grub_video_get_blit_format): New function.
17072 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
17073 (grub_video_vbe_map_rgb): Likewise.
17074 (grub_video_vbe_unmap_color): Likewise.
17075
17076 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
17077 optimized fills.
17078 (grub_video_vbe_blit_render_target): Changed to use more optimized
17079 blits.
17080 (grub_video_vbe_setup): Added detection for optimized settings.
17081 (grub_video_vbe_create_render_target): Likewise.
17082
17083 * video/i386/pc/vbeblit.c: New file.
17084
17085 * video/i386/pc/vbefill.c: New file.
17086
c2379b9c 170872006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
17088
17089 * font/manager.c (grub_font_get_glyph): Removed font fixup from
17090 here...
17091
17092 * util/unifont2pff.rb: ... and moved it to here. Improved argument
17093 parsing to support both hex and dec ranges. If filename was missing
17094 show usage information.
17095
bd0d7896 170962006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
17097
17098 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
17099 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
17100
17101 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
17102 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
17103 (video_mod_SOURCES): Added.
17104 (video_mod_CFLAGS): Likewise.
17105 (video_mod_LDFLAGS): Likewise.
17106 (gfxterm_mod_SOURCES): Likewise.
17107 (gfxterm_mod_CFLAGS): Likewise.
17108 (gfxterm_mod_LDFLAGS): Likewise.
17109 (videotest_mod_SOURCES): Likewise.
17110 (videotest_mod_CFLAGS): Likewise.
17111 (videotest_mod_LDFLAGS): Likewise.
17112 (vesafb_mod_SOURCES): Removed.
17113 (vesafb_mod_CFLAGS): Likewise.
17114 (vesafb_mod_LDFLAGS): Likewise.
17115 (vga_mod_SOURCES): Likewise.
17116 (vga_mod_CFLAGS): Likewise.
17117 (vga_mod_LDFLAGS): Likewise.
17118
17119 * commands/videotest.c: New file.
17120
17121 * font/manager.c (fill_with_default_glyph): Modified to use
17122 grub_font_glyph.
17123 (grub_font_get_glyph): Likewise.
17124 (fontmanager): Renamed from this...
17125 (font_manager): ... to this.
17126
17127 * include/grub/font.h (grub_font_glyph): Added new structure.
17128 (grub_font_get_glyph): Modified to use grub_font_glyph.
17129
17130 * include/grub/misc.h (grub_abs): Added as inline function.
17131
17132 * include/grub/video.h: New file.
17133
17134 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
17135 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
17136 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
17137 (grub_vbe_get_controller_info): Renamed from this...
17138 (grub_vbe_bios_get_controller_info): ... to this.
17139 (grub_vbe_get_mode_info): Renamed from this...
17140 (grub_vbe_bios_get_mode_info): ... to this.
17141 (grub_vbe_set_mode): Renamed from this...
17142 (grub_vbe_bios_set_mode): ... to this.
17143 (grub_vbe_get_mode): Renamed from this...
17144 (grub_vbe_bios_get_mode): ... to this.
17145 (grub_vbe_set_memory_window): Renamed from this...
17146 (grub_vbe_bios_set_memory_window): ... to this.
17147 (grub_vbe_get_memory_window): Renamed from this...
17148 (grub_vbe_bios_get_memory_window): ... to this.
17149 (grub_vbe_set_scanline_length): Renamed from this...
17150 (grub_vbe_set_scanline_length): ... to this.
17151 (grub_vbe_get_scanline_length): Renamed from this...
17152 (grub_vbe_bios_get_scanline_length): ... to this.
17153 (grub_vbe_set_display_start): Renamed from this...
17154 (grub_vbe_bios_set_display_start): ... to this.
17155 (grub_vbe_get_display_start): Renamed from this...
17156 (grub_vbe_bios_get_display_start): ... to this.
17157 (grub_vbe_set_palette_data): Renamed from this...
17158 (grub_vbe_bios_set_palette_data): ... to this.
17159 (grub_vbe_set_pixel_rgb): Removed.
17160 (grub_vbe_set_pixel_index): Likewise.
17161
17162 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
17163 from this...
17164 (grub_vbe_bios_get_controller_info): ... to this.
17165 (grub_vbe_get_mode_info): Renamed from this...
17166 (grub_vbe_bios_get_mode_info): ... to this.
17167 (grub_vbe_set_mode): Renamed from this...
17168 (grub_vbe_bios_set_mode): ... to this.
17169 (grub_vbe_get_mode): Renamed from this...
17170 (grub_vbe_bios_get_mode): ... to this.
17171 (grub_vbe_set_memory_window): Renamed from this...
17172 (grub_vbe_bios_set_memory_window): ... to this.
17173 (grub_vbe_get_memory_window): Renamed from this...
17174 (grub_vbe_bios_get_memory_window): ... to this.
17175 (grub_vbe_set_scanline_length): Renamed from this...
17176 (grub_vbe_set_scanline_length): ... to this.
17177 (grub_vbe_get_scanline_length): Renamed from this...
17178 (grub_vbe_bios_get_scanline_length): ... to this.
17179 (grub_vbe_set_display_start): Renamed from this...
17180 (grub_vbe_bios_set_display_start): ... to this.
17181 (grub_vbe_get_display_start): Renamed from this...
17182 (grub_vbe_bios_get_display_start): ... to this.
17183 (grub_vbe_set_palette_data): Renamed from this...
17184 (grub_vbe_bios_set_palette_data): ... to this.
17185 (grub_vbe_bios_get_controller_info): Fixed problem with registers
17186 getting corrupted after calling it. Added more pushes and pops.
17187 (grub_vbe_bios_set_mode): Likewise.
17188 (grub_vbe_bios_get_mode): Likewise.
17189 (grub_vbe_bios_get_memory_window): Likewise.
17190 (grub_vbe_bios_set_scanline_length): Likewise.
17191 (grub_vbe_bios_get_scanline_length): Likewise.
17192 (grub_vbe_bios_get_display_start): Likewise.
17193 (grub_vbe_bios_set_palette_data): Likewise.
17194
17195 * normal/cmdline.c (cl_set_pos): Refresh the screen.
17196 (cl_insert): Likewise.
17197 (cl_delete): Likewise.
17198
17199 * term/gfxterm.c: New file.
17200
17201 * term/i386/pc/vesafb.c: Removed file.
17202
17203 * video/video.c: New file.
17204
17205 * video/i386/pc/vbe.c (real2pm): Added new function.
17206 (grub_video_vbe_draw_pixel): Likewise.
17207 (grub_video_vbe_get_video_ptr): Likewise.
17208 (grub_video_vbe_get_pixel): Likewise
17209 (grub_video_vbe_init): Likewise.
17210 (grub_video_vbe_fini): Likewise.
17211 (grub_video_vbe_setup): Likewise.
17212 (grub_video_vbe_get_info): Likewise.
17213 (grub_video_vbe_set_palette): Likewise.
17214 (grub_video_vbe_get_palette): Likewise.
17215 (grub_video_vbe_set_viewport): Likewise.
17216 (grub_video_vbe_get_viewport): Likewise.
17217 (grub_video_vbe_map_color): Likewise.
17218 (grub_video_vbe_map_rgb): Likewise.
17219 (grub_video_vbe_map_rgba): Likewise.
17220 (grub_video_vbe_unmap_color): Likewise.
17221 (grub_video_vbe_fill_rect): Likewise.
17222 (grub_video_vbe_blit_glyph): Likewise.
17223 (grub_video_vbe_blit_bitmap): Likewise.
17224 (grub_video_vbe_blit_render_target): Likewise.
17225 (grub_video_vbe_scroll): Likewise.
17226 (grub_video_vbe_swap_buffers): Likewise.
17227 (grub_video_vbe_create_render_target): Likewise.
17228 (grub_video_vbe_delete_render_target): Likewise.
17229 (grub_video_vbe_set_active_render_target): Likewise.
17230 (grub_vbe_set_pixel_rgb): Remove function.
17231 (grub_vbe_set_pixel_index): Likewise.
17232 (index_color_mode): Remove static variable.
17233 (active_mode): Likewise.
17234 (framebuffer): Likewise.
17235 (bytes_per_scan_line): Likewise.
17236 (grub_video_vbe_adapter): Added new static variable.
17237 (framebuffer): Likewise.
17238 (render_target): Likewise.
17239 (initial_mode): Likewise.
17240 (mode_in_use): Likewise.
17241 (mode_list): Likewise.
17242
5f97350b 172432006-03-10 Marco Gerards <marco@gnu.org>
17244
17245 * configure.ac (AC_INIT): Bumped to 1.93.
17246
17247 * DISTLIST: Added `include/grub/hfs.h'.
17248
a3c5c6f8 172492006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
17250
17251 * boot/i386/pc/boot.S (general_error): Before looping, try INT
17252 18H, which might help the BIOS falling back to next boot media.
17253
6de53d26 172542006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
17255
17256 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
17257 Poe Chen <poe.poechen@gmail.com>.
17258
77c4a393 172592006-01-17 Marco Gerards <marco@gnu.org>
17260
17261 * include/grub/normal.h: Include <grub/script.h>.
17262 (grub_command_list): Removed struct.
17263 (grub_command_list_t): Removed type.
17264 (grub_menu_entry): Remove members `num' and `command_list'. Add
17265 members `commands' and `sourcecode'.
17266 * include/grub/script.h: Add inclusion guards.
17267 (grub_script_cmd_menuentry): New struct.
17268 (grub_script_execute_menuentry): New prototype.
17269 (grub_script_lexer_record_start): Likewise.
17270 (grub_script_lexer_record_stop): Likewise.
17271 * normal/execute.c (grub_script_execute_menuentry): New function.
17272 * normal/lexer.c (record, recording, recordpos, recordlen): New
17273 variables.
17274 (grub_script_lexer_record_start): New function.
17275 (grub_script_lexer_record_stop): Likewise.
17276 (recordchar): Likewise.
17277 (nextchar): Likewise.
17278 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
17279 2048 as the buffer size. Add the tokens `menuentry' and `@'.
17280 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
17281 (current_menu): New variable.
17282 (free_menu): Mainly rewritten.
17283 (grub_normal_menu_addentry): New function.
17284 (read_config_file): Rewritten.
17285 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 17286 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 17287 the menu entry.
17288 (run): Mainly rewritten.
17289 * normal/parser.y (menu_entry): New variable.
17290 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
17291 (menuentry): New rule.
17292 (command): Add `menuentry'.
17293 (if_statement): Allow additional returns before `fi'.
17294 * normal/script.c (grub_script_create_cmdmenu): New function.
17295
144f1f98 172962006-01-03 Marco Gerards <marco@gnu.org>
17297
17298 * INSTALL: GNU Bison is required.
17299 * configure.ac: Rewritten the test to detect Bison.
17300 * Makefile.in (YACC): New variable. Reported by Xun Sun
17301 <xun.sun.cn@gmail.com>.
17302
af4b2d89 173032006-01-03 Marco Gerards <marco@gnu.org>
17304
17305 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
17306 the HFS+ filesystem to filesystem blocks.
17307 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
17308 GCC warning is silenced.
17309
15643b71 173102006-01-03 Marco Gerards <marco@gnu.org>
17311
17312 * partmap/apple.c (apple_partition_map_iterate): Convert the data
17313 read from disk from big endian to host byte order.
17314
00905879 173152006-01-03 Hollis Blanchard <hollis@penguinppc.org>
17316
17317 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
17318 documentation.
17319 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
17320 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
17321 embedded HFS+ filesystem.
17322 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
17323 (grub_hfs_sblock): Move from here...
17324 * include/grub/hfs.h: To here... New file.
17325 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
17326 documentation.
17327 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
17328 New macros.
17329 (grub_hfsplus_volheader): Change type of member `magic' to
17330 `grub_uint16_t'.
17331 (grub_hfsplus_data): Add new member `embedded_offset'.
17332 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
17333 returned block.
17334 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
17335 Calculate the offset.
17336
8899bc3e 173372005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17338
17339 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
17340 Removed.
17341 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
17342
ae8c0277 173432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17344
17345 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
17346 ENV->NAME is NULL after allocating ENV->VALUE.
17347
07084456 173482005-12-25 Marco Gerards <marco@gnu.org>
17349
17350 * kern/env.c (grub_env_set): Rewritten the error handling code.
17351
4750f5f1 173522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17353
17354 * geninit.sh: Made more robust, and more portable.
17355
50214199 173562005-12-25 Marco Gerards <marco@gnu.org>
17357
17358 Add support for Apple HFS+ filesystems.
f19dbdb7 17359
50214199 17360 * fs/hfsplus.c: New file.
17361
17362 * DISTLIST: Added `fs/hfsplus.c'.
17363
17364 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
17365 (hfsplus_mod_SOURCES): New variable.
17366 (hfsplus_mod_CFLAGS): Likewise.
17367 (hfsplus_mod_LDFLAGS): Likewise.
17368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
17369 (grub_setup_SOURCES): Likewise.
17370 (grub_mkdevicemap_SOURCES): Likewise.
17371 (grub_emu_SOURCES): Likewise.
17372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17373
17374 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
17375
17376 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
17377
befaed6c 173782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17379
17380 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
17381 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
17382 include/grub/parser.h, include/grub/script.h, kern/parser.c,
17383 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
17384 normal/lexer.c, normal/parser.y, normal/script.c, and
17385 partmap/gpt.c.
17386 Removed kern/sparc64/cache.c.
17387
17388 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
17389 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
17390 grub_emu_init.c.
17391
17392 * configure.ac (AC_INIT): Bumped to 1.92.
17393
6a124103 173942005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
17395
17396 * kern/err.c (grub_error_push): Added new function to support error
17397 stacks.
17398 (grub_error_pop): Likewise.
17399 (grub_error_stack_items): New local variable to support error stacks.
17400 (grub_error_stack_pos): Likewise.
17401 (grub_error_stack_assert): Likewise.
17402 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
17403 stack depth.
17404 (grub_print_error): Added support to print errors from error stack.
17405
17406 * include/grub/err.h (grub_error_push): Added function prototype.
17407 (grub_error_pop): Likewise.
17408
be973c1b 174092005-12-09 Hollis Blanchard <hollis@penguinppc.org>
17410
17411 * configure.ac: Accept `powerpc64' as host_cpu.
17412 (amd64): Rename to `biarch32'.
17413
17414 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
17415 non-cacheline-aligned addresses.
17416
17417 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
17418 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
17419 if `size' is non-zero.
17420
b04216ab 174212005-12-03 Marco Gerards <mgerards@xs4all.nl>
17422
17423 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
17424 and `cd' to make sure the filename is not prefixed with a
17425 directory name.
17426 (pkgdata_MODULES): Add `gpt.mod'.
17427 (gpt_mod_SOURCES): New variable.
17428 (gpt_mod_CFLAGS): Likewise.
17429 (gpt_mod_LDFLAGS): Likewise.
17430
17431 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
17432
17433 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
17434 New macro.
17435
17436 * partmap/gpt.c: New file.
17437
17438 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
17439 GPT partition map is detected.
17440
41730ed9 174412005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
17442
17443 * commands/i386/pc/play.c: New file.
17444 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
17445 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
17446 macros.
f19dbdb7 17447
95dc3643 174482005-11-27 Marco Gerards <mgerards@xs4all.nl>
17449
17450 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
17451 ((unused))' to silence gcc warning.
17452
1569ec51 174532005-11-26 Hollis Blanchard <hollis@penguinppc.org>
17454
17455 * configure.ac: Correct `AC_PROG_YACC' test.
17456
9abde152 174572005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17458
17459 * util/powerpc/ieee1275/grub-install.in: Run the mount point
17460 check before installing files.
17461
44b83271 174622005-11-22 Mike Small <smallm@panix.com>
17463
17464 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
17465 number regex so multidigit numbers are recognized correctly.
17466
174672005-11-22 Mike Small <smallm@panix.com>
17468
17469 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
17470 debugging message before attempting to claim memory.
17471 (grub_rescue_cmd_initrd): Add a claim debugging message and try
17472 multiple addresses in case of failure.
17473
9c12956b 174742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17475
17476 * term/tparm.c (get_space): Remove empty `if' statement.
17477
17478 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
17479
17480 * kern/parser.c (check_varstate): Rename `state' to 's'.
17481
aeaf81d9 174822005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17483
17484 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
17485 variable definitions to the beginning of each function. Sort stack
17486 variables by size.
17487 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
17488 `buf' argument to `char *'.
17489
79bbb63f 174902005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17491
17492 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
17493 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17494 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 17495 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17496 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17497 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17498 configfile.mod, search.mod, gzio.mod and test.mod.
17499 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17500 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17501 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17502 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17503 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17504 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17505 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17506 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17507 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17508 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17509 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17510 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17511 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17512 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17513 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17514 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17515 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17516 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17517 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17518 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17519 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17520 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17521 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
17522
17523 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
17524 `grep --include'.
17525 (pkgdata_MODULES): Add test.mod.
17526
233b1628 175272005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17528
17529 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
17530 appending to variables with "+=".
17531 (PModule): Use full pathname to generate *.lst filenames.
17532
17533 * Makefile.in: Fixed list rules moved from genmk.rb.
17534 (.DELETE_ON_ERROR): New special target.
17535 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
17536
17537 * conf/i386-pc.rmk: Include conf/common.mk.
17538 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17539 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 17540 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17541 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17542 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17543 configfile.mod, search.mod, gzio.mod and test.mod.
17544 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17545 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17546 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17547 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17548 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17549 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17550 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17551 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17552 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17553 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17554 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17555 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17556 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17557 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17558 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17559 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17560 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17561 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17562 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17563 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17564 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17565 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17566 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
17567 here...
17568 * conf/common.rmk: ... to here. New file.
17569
17570 * conf/common.mk: New file.
17571
16f820c8 175722005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
17573
17574 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
17575 (grub_script.tab.c): ... here.
17576
17577 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
17578 (grub_script.tab.c): ... here.
17579
17580 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
17581 (grub_script.tab.c): ... here.
17582
17583 * normal/command.c (grub_command_find): Fixed a memory leak of
17584 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
17585
63ba1554 175862005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17587
17588 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
17589 "@" which marks the start of a comment on ARM.
17590 (VARIABLE): Likewise.
17591
7f67dc13 175922005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17593
79bbb63f 17594 Add support for Linux/ADFS partition tables.
7f67dc13 17595
17596 * partmap/acorn.c: New file.
17597
17598 * include/grub/acorn_filecore.h: Likewise.
17599
17600 * DISTLIST: Added `partmap/acorn.c' and
17601 `include/grub/acorn_filecore.h'.
f19dbdb7 17602
7f67dc13 17603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17604 `partmap/acorn.c'.
17605 (pkgdata_MODULES): Add `acorn.mod'.
17606 (acorn_mod_SOURCES): New variable.
17607 (acorn_mod_CFLAGS): Likewise.
17608
17609 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17610 `partmap/acorn.c'.
17611 (pkgdata_MODULES): Add `acorn.mod'.
17612 (acorn_mod_SOURCES): New variable.
17613 (acorn_mod_CFLAGS): Likewise.
17614
17615 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
17616 (pkgdata_MODULES): Add `acorn.mod'.
17617 (acorn_mod_SOURCES): New variable.
17618 (acorn_mod_CFLAGS): Likewise.
17619 (acorn_mod_LDFLAGS): Likewise.
17620
17621 * include/types.h (grub_disk_addr_t): New typedef.
17622
6d099807 176232005-11-13 Marco Gerards <mgerards@xs4all.nl>
17624
17625 * geninit.sh: New file.
17626
17627 * geninitheader.sh: Likewise.
17628
17629 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
17630 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
17631 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
17632 * commands/configfile.c (grub_configfile_init)
17633 (grub_configfile_fini): Likewise.
17634 * commands/default.c (grub_default_init, grub_default_fini):
17635 Likewise.
17636 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
17637 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
17638 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
17639 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
17640 Likewise.
17641 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
17642 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
17643 Likewise.
17644 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 17645 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 17646 Likewise.
17647 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
17648 Likewise.
fe6b695a 17649 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 17650 Likewise.
17651 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
17652 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
17653 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
17654 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
17655 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
17656 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
17657 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
17658 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
17659 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
17660 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
17661 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
17662 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
17663 * partmap/amiga.c (grub_amiga_partition_map_init)
17664 (grub_amiga_partition_map_fini): Likewise.
17665 * partmap/apple.c (grub_apple_partition_map_init)
17666 (grub_apple_partition_map_fini): Likewise.
17667 * partmap/pc.c (grub_pc_partition_map_init)
17668 (grub_pc_partition_map_fini): Likewise.
17669 * partmap/sun.c (grub_sun_partition_map_init,
17670 grub_sun_partition_map_fini): Likewise.
17671 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
17672 Likewise.
17673
17674 * util/grub-emu.c: Include <grub_modules_init.h>.
17675 (main): Don't initialize and de-initialize any modules directly,
17676 use `grub_init_all' and `grub_fini_all' instead.
17677
17678 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
17679 `grub_vesafb_mod_init'.
17680 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
17681 all users.
17682 * term/i386/pc/vga.c (grub_vga_init): Renamed to
17683 `grub_vga_mod_init'. Updated all users.
17684 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 17685
6d099807 17686 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
17687 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
17688 rules.
17689
17690 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
17691 Generate a function to initialize the module in utilities.
17692 Updated all callers.
17693 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
17694 initialize the module in utilities. Updated all callers.
17695
9046bcf0 176962005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17697
17698 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
17699 escape sequence and a literal ^L to clear the screen.
17700
17701 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
17702 when returning from Open Firmware.
17703
d13ea639 177042005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17705
17706 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
17707 (grub_ofconsole_height): Likewise.
17708 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
17709 manually insert a '\n'.
17710 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
17711 `grub_ofconsole_height'. Return early if these are already set.
17712
a8fcf206 177132005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
17714
17715 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17716 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
17717 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
17718 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
17719 and `normal/script.c'.
17720 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17721 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17722 (test_mod_SOURCES): New variable.
17723 (test_mod_CFLAGS): Likewise.
17724 (test_mod_LDFLAGS): Likewise.
17725 (pkgdata_MODULES): Add `test.mod'.
17726 (grub_script.tab.c): New rule.
17727 (grub_script.tab.h): Likewise.
17728
b6b32745 177292005-11-07 Marco Gerards <mgerards@xs4all.nl>
17730
17731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17732 `commands/test.c', `normal/execute.c', `normal/lexer.c',
17733 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17734 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17735 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17736 (test_mod_SOURCES): New variable.
17737 (test_mod_CFLAGS): Likewise.
17738 (pkgdata_MODULES): Add `test.mod'.
17739 (grub_script.tab.c): New rule.
17740 (grub_script.tab.h): Likewise.
17741
daac212a 177422005-11-06 Marco Gerards <mgerards@xs4all.nl>
17743
17744 Add initial scripting support.
17745
17746 * commands/test.c: New file.
17747 * include/grub/script.h: Likewise.
17748 * normal/execute.c: Likewise.
17749 * normal/function.c: Likewise.
17750 * normal/lexer.c: Likewise.
17751 * normal/parser.y: Likewise.
17752 * normal/script.c: Likewise.
17753
17754 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 17755
daac212a 17756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
17757 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
17758 `normal/function.c' and `normal/script.c'.
17759 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17760 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 17761 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
17762 variables.
daac212a 17763 (pkgdata_MODULES): Add `test.mod'.
17764 (grub_script.tab.c): New rule.
17765 (grub_script.tab.h): Likewise.
17766
17767 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
17768
17769 * include/grub/normal.h (grub_test_init): New prototype.
17770 (grub_test_fini): Likewise.
f19dbdb7 17771
daac212a 17772 * normal/command.c: Include <grub/script.h>.
17773 (grub_command_execute): Rewritten.
f19dbdb7 17774
daac212a 17775 * util/grub-emu.c (main): Call `grub_test_init' and
17776 `grub_test_fini'.
17777
77500b2b 177782005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17779
17780 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
17781 to 0.
17782 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
17783 there are no pending characters.
17784
e45deb9e 177852005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17786
17787 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
17788 `grub_strndup' to drop device arguments. Replace unnecessary
17789 `grub_strndup' with `grub_strdup'.
17790
4ce32619 177912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17792
17793 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
17794 `debug' environment variable has been set.
17795
177962005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 17797
4ce32619 17798 * Makefile.in (install-local): Use $(DATA).
17799 (uninstall): Likewise.
17800 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
17801 (sbin_UTILITIES): ... to here.
17802 (sbin_SCRIPTS): New variable.
17803 (grub_install_SOURCES): New variable.
17804 * util/powerpc/ieee1275/grub-install.in: New file.
17805 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
17806 variable.
17807 (add_segments): Call `grub_util_get_path'.
17808
25fe6f03 178092005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17810
17811 From Timothy Baldwin:
17812 * commands/ls.c (grub_ls_list_files): Close FILE with
17813 grub_file_close.
17814 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
17815
04ccf3ec 178162005-10-24 Marco Gerards <mgerards@xs4all.nl>
17817
17818 * include/grub/parser.h: New file.
17819
17820 * kern/parser.c: Likewise.
17821
17822 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
17823 (grub_setup_SOURCES): Likewise.
17824 (grub_probefs_SOURCES): Likewise.
17825 (grub_emu_SOURCES): Likewise.
17826 (kernel_img_HEADERS): Add `parser.h'.
17827
17828 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17829 (grub_emu_SOURCES): Add `kern/parser.c'.
17830 (grubof_SOURCES): Likewise.
17831
17832 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17833 (grubof_SOURCES): Add `kern/parser.c'.
17834
17835 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
17836
17837 * kern/misc.c (grub_split_cmdline): Removed function.
17838
17839 * kern/rescue.c: Include <grub/parser.h>.
17840 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
17841 of `grub_split_cmdline'.
17842
17843 * normal/command.c: Include <grub/parser.h>.
17844 (grub_command_execute): Use `grub_parser_split_cmdline' instead
17845 of `grub_split_cmdline'.
17846
17847 * normal/completion.c: Include <grub/parser.h>.
17848 (cmdline_state): New variable.
17849 (iterate_dir): End the filename with a quote depending on the
17850 command line state.
17851 (get_state): new function.
17852 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
17853 split the arguments and determine the current argument. When the
17854 argument string is not quoted, escape all spaces.
17855
6d8f4b0e 178562005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17857
17858 * normal/sparc64/setjmp.S: New file.
17859
15cf03ed 178602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17861
17862 * include/grub/sparc64/libgcc.h: New file.
17863 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
17864 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
17865 normal/sparc64/setjmp.c.
17866
03e8661a 178672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17868
17869 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
17870 * kern/sparc64/cache.S: New file.
17871 * kern/sparc64/cache.c: Removed.
17872 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
17873 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
17874 -mtune=ultrasparc.
17875 (COMMON_LDFLAGS): Add -melf64_sparc.
17876 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
17877 (grubof_SOURCES): Use cache.S instead of cache.c.
17878 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
17879 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
17880 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
17881 commented though.
17882 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
17883 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
17884 (linux_mod_CFLAGS): Commented out.
17885 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
17886 out because module isn't built.
17887 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
17888 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
17889 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
17890 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
17891 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
17892 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
17893 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
17894 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
17895 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
17896 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
17897 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17898 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17899 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
17900 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
17901
34eeec8a 179022005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
17903
17904 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
17905 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
17906 longer, because HFS should not be used on PC.
17907
708367a3 179082005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17909
17910 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
17911 consistently within the loop.
17912
6fa1251a 179132005-10-15 Marco Gerards <mgerards@xs4all.nl>
17914
17915 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
17916 directory can not be read.
17917
4801580b 179182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17919
17920 * configure.ac (AC_INIT): Increase the version number to 1.91.
17921
17922 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
17923 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
17924 term/i386/pc/serial.c.
17925
219ad426 179262005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17927
17928 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
17929 file size must be permitted.
17930
17931 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
17932 between %ah and %al.
17933
688e5699 179342005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17935
17936 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
17937 grub_uint64_t.
17938 Call the hook with a NUL-terminated filename.
17939 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
17940 grub_cpu_to_be32.
17941
17942 * kern/term.c (cursor_state): New variable.
17943 (grub_term_set_current): Reset the cursor state on a new
17944 terminal.
17945 (grub_setcursor): Rewritten to use CURSOR_STATE.
17946 (grub_getcursor): New function.
17947
17948 * include/grub/term.h (grub_getcursor): New prototype.
17949
17950 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
17951 integers on ARM. Reported by Timothy Baldwin
17952 <T.E.Baldwin99@members.leeds.ac.uk>.
17953
bb34586c 179542005-10-11 Marco Gerards <mgerards@xs4all.nl>
17955
17956 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
17957 allocated.
17958 (grub_sfs_dir): Likewise.
17959
9a909877 179602005-10-09 Marco Gerards <mgerards@xs4all.nl>
17961
17962 Add support for the SFS filesystem.
17963
17964 * fs/sfs.c: New file.
17965
17966 * DISTLIST: Added `fs/sfs.c'.
17967
17968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
17969 (grub_probefs_SOURCES): Likewise.
17970 (grub_emu_SOURCES): Likewise.
17971 (pkgdata_MODULES): Add `sfs.mod'.
17972 (sfs_mod_SOURCES): New variable.
17973 (sfs_mod_CFLAGS): Likewise.
17974 (sfs_mod_LDFLAGS): Likewise.
17975
17976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
17977 (pkgdata_MODULES): Add `sfs.mod'.
17978 (sfs_mod_SOURCES): New variable.
17979 (sfs_mod_CFLAGS): Likewise.
17980
17981 * util/grub-emu.c (main): Call `grub_sfs_init' and
17982 `grub_sfs_fini'.
17983
17984 * include/grub/fs.h (grub_sfs_init): New prototype.
17985 (grub_sfs_fini): Likewise.
17986
57bdbde3 179872005-10-07 Marco Gerards <mgerards@xs4all.nl>
17988
17989 Add support for the AFFS filesystem.
17990
17991 * fs/affs.c: New file.
17992
17993 * DISTLIST: Added `fs/affs.c'.
17994
17995 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
17996 (grub_probefs_SOURCES): Likewise.
17997 (grub_emu_SOURCES): Likewise.
17998 (pkgdata_MODULES): Add `affs.mod'.
17999 (affs_mod_SOURCES): New variable.
18000 (affs_mod_CFLAGS): Likewise.
18001 (affs_mod_LDFLAGS): Likewise.
18002
18003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
18004 (pkgdata_MODULES): Add `affs.mod'.
18005 (affs_mod_SOURCES): New variable.
18006 (affs_mod_CFLAGS): Likewise.
18007
18008 * util/grub-emu.c (main): Call `grub_affs_init' and
18009 `grub_affs_fini'.
18010
18011 * include/grub/fs.h (grub_affs_init): New prototype.
18012 (grub_affs_fini): Likewise.
18013
047b67e0 180142005-10-01 Marco Gerards <mgerards@xs4all.nl>
18015
18016 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
18017
59b8208a 180182005-10-01 Marco Gerards <mgerards@xs4all.nl>
18019
18020 * configure.ac: Accept `x86_64' as host_cpu. In that case add
18021 `-m32' to CFLAGS.
18022
18023 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
18024 linking.
f19dbdb7 18025
59b8208a 18026 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
18027 (COMMON_LDFLAGS): New variable.
18028 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
18029 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
18030 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
18031 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
18032 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
18033 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
18034 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
18035 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
18036 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
18037 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
18038 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
18039 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
18040 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
18041 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
18042 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
18043 variables.
18044 (normal_mod_ASFLAGS): Add `-m32'.
18045
18046 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
18047 (grub_host_size_t, grub_host_ssize_t): New types.
18048 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 18049 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 18050 `GRUB_HOST_SIZEOF_VOID_P'.
18051
18052 * include/grub/kernel.h (struct grub_module_header): Type of
18053 member offset changed to `grub_host_off_t'. Type of member size
18054 changed to `grub_host_size_t'.
18055 (struct grub_module_info): Type of member offset changed to
18056 `grub_host_off_t'. Type of member size changed to
18057 `grub_host_size_t'.
18058
b4093103 180592005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
18060
18061 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 18062
b4093103 18063 * kern/i386/pc/startup.S (multiboot_header): New label.
18064 (multiboot_entry): Likewise.
18065 (multiboot_trampoline): Likewise.
18066
18067 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18068 Increased to 0x4A0.
18069
18070 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
18071 put parentheses after a question mark.
18072 [!GRUB_UTIL] (my_mod): New variable.
18073
18074 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
18075
b2499b29 180762005-09-28 Marco Gerards <mgerards@xs4all.nl>
18077
18078 Adds support for the XFS filesystem. Btrees are not supported
18079 yet.
18080
18081 * fs/xfs.c: New file.
18082
18083 * DISTLIST: Added `fs/xfs.c'.
18084
18085 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
18086 (grub_probefs_SOURCES): Likewise.
18087 (grub_emu_SOURCES): Likewise.
18088 (pkgdata_MODULES): Add `xfs.mod'.
18089 (xfs_mod_SOURCES): New variable.
18090 (xfs_mod_CFLAGS): Likewise.
18091
18092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
18093 (pkgdata_MODULES): Add `xfs.mod'.
18094 (xfs_mod_SOURCES): New variable.
18095 (xfs_mod_CFLAGS): Likewise.
18096
18097 * util/grub-emu.c (main): Call `grub_xfs_init' and
18098 `grub_xfs_fini'.
18099
18100 * include/grub/fs.h (grub_xfs_init): New prototype.
18101 (grub_xfs_fini): Likewise.
18102
f19dbdb7 18103
83d37a62 181042005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
18105
18106 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
18107 color modes, allow greater than 16 colors to be configured as
18108 a default palette.
18109
47d2d65e 181102005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18111
18112 * normal/completion.c (complete_arguments): Add the qualifier
18113 const into OPTIONS.
18114
18115 From Omniflux <omniflux+lists@omniflux.com>:
18116 * include/grub/terminfo.h: New file.
18117 * include/grub/tparm.h: Likewise.
18118 * include/grub/i386/pc/serial.h: Likewise.
18119 * term/terminfo.c: Likewise.
18120 * term/tparm.c: Likewise.
18121 * term/i386/pc/serial.c: Likewise.
18122 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
18123 serial.mod.
18124 (terminfo_mod_SOURCES): New variable.
18125 (terminfo_mod_CFLAGS): Likewise.
18126 (serial_mod_SOURCES): Likewise.
18127 (serial_mod_CFLAGS): Likewise.
18128
48b671ff 181292005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
18130
18131 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
18132 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
18133 and kern/powerpc/ieee1275/cmain.c, respectively.
18134
18135 * boot/powerpc/ieee1275/crt0.S: Moved to ...
18136 * kern/powerpc/ieee1275/crt0.S: ... here.
18137
18138 * boot/powerpc/ieee1275/cmain.c: Moved to ...
18139 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 18140
48b671ff 18141 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
18142 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
18143 instead of boot/powerpc/ieee1275/crt0.S and
18144 boot/powerpc/ieee1275/cmain.c, respectively.
18145
18146 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
18147 sectors. It was not used anyway.
18148
09fc77a7 181492005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18150
18151 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
18152 `unused parameter' warning.
18153
003789c7 181542005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18155
18156 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
18157 function.
18158 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
18159 getcharwidth.
18160
67f44c86 181612005-08-28 Marco Gerards <metgerards@student.han.nl>
18162
18163 * include/grub/normal.h (enum grub_completion_type): Added
18164 `GRUB_COMPLETION_TYPE_ARGUMENT'.
18165
18166 * normal/cmdline.c (print_completion): Handle
18167 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
18168 * normal/menu_entry.c (store_completion): Likewise.
18169
18170 * normal/completion.c (complete_arguments): New function.
18171 (grub_normal_do_completion): Call `complete_arguments' when the
18172 current words start with a dash.
18173
0b5abe02 181742005-08-27 Marco Gerards <metgerards@student.han.nl>
18175
18176 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
18177 `gzio.mod' instead of `io.mod').
18178
d9864ee1 181792005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
18180
18181 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
18182 (DISTDIRS): Added io and video.
18183 Rewrite the search routine to make an output consistently.
18184
18185 * DISTLIST: Added conf/sparc64-ieee1275.mk,
18186 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
18187 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
18188 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
18189 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
18190 util/powerpc/ieee1275/misc.c.
f19dbdb7 18191
d9864ee1 18192 * include/grub/gzio.h: New file.
18193 * io/gzio.c: Likewise.
f19dbdb7 18194
d9864ee1 18195 * kern/file.c (grub_file_close): Call grub_device_close only if
18196 FILE->DEVICE is not NULL.
18197
18198 * include/grub/mm.h [!NULL] (NULL): New macro.
18199
18200 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
18201
18202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
18203 (pkgdata_MODULES): Added gzio.mod.
18204 (gzio_mod_SOURCES): New variable.
18205 (gzio_mod_CFLAGS): Likewise.
18206
18207 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
18208 (pkgdata_MODULES): Added gzio.mod.
18209 (gzio_mod_SOURCES): New variable.
18210 (gzio_mod_CFLAGS): Likewise.
18211
18212 * commands/cat.c: Include grub/gzio.h.
18213 (grub_cmd_cat): Use grub_gzfile_open instead of
18214 grub_file_open.
f19dbdb7 18215
d9864ee1 18216 * commands/cmp.c: Include grub/gzio.h.
18217 (grub_cmd_cmp): Use grub_gzfile_open instead of
18218 grub_file_open.
18219
18220 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
18221 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
18222 grub_file_open.
18223 (grub_rescue_cmd_module): Likewise.
18224
fa46f4b5 182252005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
18226
18227 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
18228 kern/sparc64/ieee1275/init.c because it contains _start.
18229 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
18230
e9211b5d 182312005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
18232
18233 * configure.ac: Add support for sparc64 host with ieee1275
18234 firmware.
18235 * configure: Generated from configure.ac.
18236 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
18237 instead of int.
18238 (grub_ofdisk_read): Likewise.
18239 (grub_ofdisk_open): Use %p to print pointer values, and cast the
18240 pointers as (void *) to remove a warning.
18241 (grub_ofdisk_close): Likewise.
18242 (grub_ofdisk_read): Likewise.
18243 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
18244 returns, so make it return void to remove a warning.
18245 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
18246 Corresponding prototype change.
18247 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
18248 values, and cast the pointers as (void *) to remove a warning.
18249 (grub_mm_dump): Likewise.
18250 * conf/sparc64-ieee1275.mk: New file.
18251 * conf/sparc64-ieee1275.rmk: Likewise.
18252 * include/grub/sparc64/setjmp.h: Likewise.
18253 * include/grub/sparc64/types.h: Likewise.
18254 * include/grub/sparc64/ieee1275/console.h: Likewise.
18255 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18256 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18257 * include/grub/sparc64/ieee1275/time.h: Likewise.
18258 * kern/sparc64/cache.c: Likewise.
18259 * kern/sparc64/dl.c: Likewise.
18260 * kern/sparc64/ieee1275/init.c: Likewise.
18261 * kern/sparc64/ieee1275/openfw.c: Likewise.
18262
385c6a92 182632005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
18264
18265 * util/console.c (grub_ncurses_putchar): If C is greater than
18266 0x7f, set C to a question mark.
18267 (grub_ncurses_getcharwidth): New function.
18268 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
18269 getcharwidth.
18270
18271 * normal/menu.c (print_entry): Made aware of Unicode. First,
18272 convert TITLE to UCS-4, and predict the cursor position by
18273 grub_getcharwidth.
18274
18275 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
18276 const to SRC.
18277 * kern/misc.c (grub_utf16_to_utf8): Likewise.
18278
16ccb8b1 182792005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18280
18281 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
18282 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
18283 grub_strcat.
18284
18285 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
18286 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
18287 grub_strcpy and grub_strlen. Take it into account that a space
18288 character is inserted as a delimiter.
18289
6a85ce79 182902005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18291
18292 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 18293 invalid magic in the error.
6a85ce79 18294
18295 * commands/search.c: New file.
f19dbdb7 18296
6a85ce79 18297 * util/grub-emu.c (main): Call grub_search_init and
18298 grub_search_fini.
18299
18300 * kern/rescue.c (grub_rescue_print_disks): Removed.
18301 (grub_rescue_print_devices): New function.
18302 (grub_rescue_cmd_ls): Use grub_device_iterate with
18303 grub_rescue_print_devices instead of grub_disk_dev_iterate with
18304 grub_rescue_print_disks.
18305
18306 * kern/partition.c (grub_partition_iterate): Return the result of
18307 PARTMAP->ITERATE instead of GRUB_ERRNO.
18308
18309 * kern/device.c: Include grub/partition.h.
18310 (grub_device_iterate): New function.
18311
18312 * include/grub/partition.h (grub_partition_iterate): Return int
18313 instead of grub_err_t.
18314
18315 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
18316 prototype.
18317 [GRUB_UTIL] (grub_search_fini): Likewise.
18318
18319 * include/grub/device.h (grub_device_iterate): New prototype.
18320
18321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18322 commands/search.c.
18323 (pkgdata_MODULES): Added search.mod.
18324 (search_mod_SOURCES): New variable.
18325 (search_mod_CFLAGS): Likewise.
18326
18327 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
18328 (pkgdata_MODULES): Added search.mod.
18329 (search_mod_SOURCES): New variable.
18330 (search_mod_CFLAGS): Likewise.
18331
18332 * commands/ls.c (grub_ls_list_disks): Renamed to ...
18333 (grub_ls_list_devices): ... this, and use grub_device_iterate.
18334 All callers changed.
18335
18336 * DISTLIST: Added commands/search.c.
18337
ef095434 183382005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18339
18340 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
18341 conversion.
18342 (grub_getcharwidth): New function.
18343
18344 * kern/misc.c (grub_utf8_to_ucs4): New function.
18345
18346 * include/grub/term.h (struct grub_term): Added a new member
18347 "getcharwidth".
18348 (grub_getcharwidth): New prototype.
18349
18350 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
18351
18352 * term/i386/pc/console.c (map_char): New function. Segregated from
18353 grub_console_putchar.
18354 (grub_console_putchar): Use map_char.
18355 (grub_console_getcharwidth): New function.
18356 (grub_console_term): Specified grub_console_getcharwidth as
18357 getcharwidth.
18358
18359 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
18360 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
18361
18362 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
18363 GRUB_ERRNO.
18364 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
18365 on grub_strtoul completely.
18366 (write_char): Declare local variables in the beginning of the
18367 function.
18368 (grub_vesafb_getcharwidth): New function.
18369 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
18370 getcharwidth.
18371
1f0a95e4 183722005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
18373
18374 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
18375 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
18376 commands/i386/pc/vbetest.c.
18377
18378 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
18379 call grub_vbe_get_controller_info again, because the returned
18380 information is volatile.
18381 (grub_vbe_set_video_mode): Mostly rewritten.
18382 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
18383 grub_vbe_status_t correctly.
18384 (grub_vbe_get_video_mode_info): Likewise.
18385 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
18386 several if statements.
18387
18388 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
18389 * commands/i386/pc/vbeinfo.c: ... this.
18390
18391 * commands/i386/pc/vbe_test.c: Renamed to ...
18392 * commands/i386/pc/vbetest.c: ... this.
18393
18394 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
18395 ...
18396 (grub_cmd_vbeinfo): ... this. Save video modes before
18397 iterating. Skip a video mode, if it is not available, not enough
18398 information is given or it is monochrome. Show the memory
18399 model. Leave the interpretation of MODEVAR to grub_strtoul
18400 completely.
18401 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
18402 (GRUB_MOD_FINI): Likewise.
18403
18404 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
18405 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
18406 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
18407 duplicated grub_env_get. Leave the interpretation of MODEVAR to
18408 grub_strtoul completely.
18409 (real2pm): Removed.
18410 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
18411 (GRUB_MOD_FINI): Likewise.
18412
18413 * normal/misc.c: Include grub/mm.h.
18414
18415 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
18416 vbe_list_modes with vbetest.mod and vbeinfo.mod.
18417 (vbe_list_modes_mod_SOURCES): Removed.
18418 (vbe_list_modes_mod_CFLAGS): Likewise.
18419 (vbe_test_mod_SOURCES): Likewise.
18420 (vbe_test_mod_CFLAGS): Likewise.
18421 (vbeinfo_mod_SOURCES): New variable.
18422 (vbeinfo_mod_CFLAGS): Likewise.
18423 (vbetest_mod_SOURCES): Likewise.
18424 (vbetest_mod_CFLAGS): Likewise.
18425
992ffbbe 184262005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
18427
18428 * normal/misc.c: New file.
18429
18430 * DISTLIST: Added normal/misc.c.
f19dbdb7 18431
992ffbbe 18432 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
18433 DISK to HOOK. Call HOOK with DISK.
18434 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18435 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18436 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18437
18438 * normal/menu_entry.c (struct screen): Added a new member
18439 "completion_shown".
18440 (completion_buffer): New global variable.
18441 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
18442 (store_completion): New function.
18443 (complete): Likewise.
18444 (clear_completions): Likewise.
18445 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
18446 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
18447 a tab, call complete.
18448
18449 * normal/completion.c (disk_dev): Removed.
18450 (print_simple_completion): Likewise.
18451 (print_partition_completion): Likewise.
18452 (print_func): New global variable.
18453 (add_completion): Do not take the arguments WHAT or PRINT any
18454 longer. Added a new argument TYPE. Instead of printing directly,
18455 call PRINT_FUNC if not NULL.
18456 All callers changed.
18457 (complete_device): Use a local variable DEV instead of
18458 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
18459 (grub_normal_do_completion): Take a new argument HOOK. Do not
18460 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
18461 empty string, return NULL instead.
18462 All callers changed.
18463
18464 * normal/cmdline.c (print_completion): New function.
18465
18466 * kern/partition.c (grub_partition_iterate): Add an argument DISK
18467 to HOOK.
18468 All callers changed.
18469
18470 * kern/disk.c (grub_print_partinfo): Removed.
18471
18472 * include/grub/partition.h (struct grub_partition_map): Add a new
18473 argument DISK into HOOK of ITERATE.
18474 (grub_partition_iterate): Add a new argument DISK to HOOK.
18475
18476 * include/grub/normal.h (enum grub_completion_type): New enum.
18477 (grub_completion_type_t): New type.
18478 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
18479 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
18480 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
18481 (GRUB_COMPLETION_TYPE_FILE): Likewise.
18482 (grub_normal_do_completion): Added a new argument HOOK.
18483 (grub_normal_print_device_info): New prototype.
18484
18485 * include/grub/disk.h (grub_print_partinfo): Removed.
18486
18487 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
18488 (normal_mod_SOURCES): Likewise.
18489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18490 (normal_mod_SOURCES): Likewise.
18491
18492 * commands/ls.c (grub_ls_list_disks): Use
18493 grub_normal_print_device_info instead of grub_print_partinfo. Free
18494 PNAME.
18495 (grub_ls_list_files): Use grub_normal_print_device_info instead of
18496 duplicating the code.
18497
0bd41162 184982005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18499
18500 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 18501 follow GCS more precisely.
18502 * commands/i386/pc/vbe_test.c: Likewise.
18503 * include/grub/i386/pc/vbe.h: Likewise.
18504 * term/i386/pc/vesafb.c: Likewise.
18505 * video/i386/pc/vbe.c: Likewise.
0bd41162 18506
6323696a 185072005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18508
18509 * DISTLIST: Added term/i386/pc/vesafb.c
18510 DISTLIST: Added video/i386/pc/vbe.c
18511 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
18512 DISTLIST: Added commands/i386/pc/vbe_test.c.
18513 * commands/i386/pc/vbe_list_modes.c: New file.
18514 * commands/i386/pc/vbe_test.c: Likewise.
18515 * term/i386/pc/vesafb.c: Likewise.
18516 * video/i386/pc/vbe.c: Likewise.
18517 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
18518 (grub_vbe_probe) Added prototype.
18519 (grub_vbe_set_video_mode) Likewise.
18520 (grub_vbe_get_video_mode) Likewise.
18521 (grub_vbe_get_video_mode_info) Likewise.
18522 (grub_vbe_set_pixel_rgb) Likewise.
18523 (grub_vbe_set_pixel_index) Likewise.
18524 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
18525 (pkgdata_MODULES): Added vesafb.mod.
18526 (pkgdata_MODULES): Added vbe_list_modes.mod.
18527 (pkgdata_MODULES): Added vbe_test.mod.
18528 (vbe_mod_SOURCES): Added.
18529 (vbe_mod_CFLAGS): Likewise.
18530 (vesafb_mod_SOURCES): Likewise.
18531 (vesafb_mod_CFLAGS): Likewise.
18532 (vbe_list_modes_mod_SOURCES): Likewise.
18533 (vbe_list_modes_mod_CFLAGS): Likewise.
18534 (vbe_test_mod_SOURCES): Likewise.
18535 (vbe_test_mod_CFLAGS): Likewise.
18536
0a74e62f 185372005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
18538
0a74e62f 18539 * normal/command.c (grub_command_execute): If INTERACTIVE is
18540 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
18541 CMDLINE. Disable the pager if INTERACTIVE is true.
18542 All callers are changed.
18543
18544 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
18545 before reading a config file.
18546 * normal/main.c (read_config_file): Even if a command is not
18547 found, register it if it is within an entry.
18548
18549 * util/grub-emu.c: Include sys/types.h and unistd.h.
18550 (options): Added --hold.
18551 (struct arguments): Added a new member "hold".
18552 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
18553 missing.
18554 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
18555 cleared by a debugger, if it is not zero.
18556
18557 * include/grub/normal.h (grub_command_execute): Add an argument
18558 INTERACTIVE.
18559
e51f85ae 185602005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
18561
18562 * DISTLIST: Added include/grub/i386/pc/vbe.h.
18563
e9c6f39b 185642005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
18565
18566 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
18567 program with another one, because the old one didn't detect a bug
18568 in gcc-3.4. Always use regparm 2, because the new test is still
18569 not enough for gcc-4.0. Someone must investigate a simple test
18570 case which detects a bug in gcc-4.0.
18571
8de3495c 185722005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
18573
18574 * DISTLIST: Added normal/completion.c.
18575
18576 * normal/completion.c: New file.
f19dbdb7 18577
8de3495c 18578 * term/i386/pc/console.c (grub_console_getwh): New function.
18579 (grub_console_term): Assign grub_console_getwh to getwh.
18580
18581 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
18582 function is defined in normal/completion.c as
18583 grub_normal_do_completion.
18584 (grub_cmdline_get): Use grub_normal_do_completion instead of
18585 grub_tab_complete.
18586
18587 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
18588 returns non-zero, otherwise return 0.
18589 (grub_partition_iterate): First, probe the partition map. Then,
18590 call ITERATE only for this partition map.
18591
18592 * kern/misc.c (grub_strncmp): Rewritten.
18593
18594 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
18595 returns non-zero. Otherwise return 0.
18596
18597 * include/grub/partition.h (grub_partition_map_iterate): Return
18598 int instead of void.
18599
18600 * include/grub/normal.h (grub_normal_do_completion): New prototype.
18601
18602 * include/grub/misc.h (grub_strncmp): Change the type of N to
18603 grub_size_t.
18604
18605 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
18606 of void.
18607
18608 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 18609 unsigned explicitly before comparing it with I.
8de3495c 18610
18611 * kern/main.c (grub_env_write_root): Add the attribute unused into
18612 VAR.
18613
18614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18615 normal/completion.c.
18616 (normal_mod_SOURCES): Likewise.
18617 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18618 (normal_mod_SOURCES): Likewise.
18619
18620 * normal/command.c (grub_iterate_commands): If ITERATE returns
18621 non-zero, return one immediately.
18622
e85e144b 186232005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
18624
18625 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
18626 * kern/i386/pc/startup.S: Updated Global Descriptor table's
18627 descriptions.
18628 (grub_vbe_get_controller_info): New function.
18629 (grub_vbe_get_mode_info): Likewise.
18630 (grub_vbe_set_mode): Likewise.
18631 (grub_vbe_get_mode): Likewise.
18632 (grub_vbe_set_memory_window): Likewise.
18633 (grub_vbe_get_memory_window): Likewise.
18634 (grub_vbe_set_scanline_length): Likewise.
18635 (grub_vbe_get_scanline_length): Likewise.
18636 (grub_vbe_set_display_start): Likewise.
18637 (grub_vbe_get_display_start): Likewise.
18638 (grub_vbe_set_palette_data): Likewise.
18639 * include/grub/i386/pc/vbe.h: New file.
18640
c46153d2 186412005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18642
18643 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18644 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
18645 * DISTLIST: Likewise.
18646 * kern/ieee1275/of.c: Moved to ...
18647 * kern/ieee1275/ieee1275.c: ... here.
18648
0cb90c45 186492005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18650
18651 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
18652 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
18653 Pass 0 as `end' parameter to grub_strtoul().
18654
a19fb360 186552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18656
18657 * include/grub/powerpc/ieee1275/console.h: Do not include
18658 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
18659 ifdef.
18660 (grub_console_cur_color): Remove i386-specific prototype.
18661 (grub_console_real_putchar): Likewise.
18662 (grub_console_checkkey): Likewise.
18663 (grub_console_getkey): Likewise.
18664 (grub_console_getxy): Likewise.
18665 (grub_console_gotoxy): Likewise.
18666 (grub_console_cls): Likewise.
18667 (grub_console_setcursor): Likewise.
18668 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
18669 Include <grub/machine/console.h>.
18670 * term/ieee1275/ofconsole.c: Likewise.
18671
4ac9bd04 186722005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
18673
18674 * Makefile.in (LIBLZO): New variable.
18675
18676 * configure.ac: Check for LZO version 2.
18677
18678 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
18679 lzo/lzo1x.h instead of lzo1x.h.
18680
18681 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
18682 of -llzo.
18683
18684 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
18685 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
18686
18687 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
18688 copying the data from PARTITION to P.
18689
f4917dfd 186902005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18691
18692 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
18693 negative, unload the module.
18694
18695 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
18696 map is "pc_partition_map" but not "pc".
18697 (usage): Fix the description. The options are --boot-image and
18698 --core-image but not --boot-file or --core-file.
18699 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
18700 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
18701 DEFAULT_DIRECTORY.
18702
18703 * util/i386/pc/grub-install.in: Do not specify --boot-file or
18704 --core-file. Specify INSTALL_DEVICE as an argument.
18705
18706 * util/console.c: Include config.h.
18707 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
18708 [HAVE_NCURSES_H]: Include ncurses.h.
18709 [HAVE_CURSES_H]: Include curses.h.
18710 [!A_NORMAL] (A_NORMAL): Defined as zero.
18711 [!A_STANDOUT] (A_STANDOUT): Likewise.
18712
18713 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
18714 -lncurses.
18715 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
18716
18717 * configure.ac: Check for curses libraries and headers.
18718
18719 * Makefile.in (LIBCURSES): New variable.
18720
18721 * genmk.rb (Script::rule): Set the executable bits.
18722
18723 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
18724 name of the PC partition map is "pc_partition_map" but not "pc".
18725
0e143073 187262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18727
18728 * util/i386/pc/grub-install.in (grub_probefs): New variable.
18729 (modules): Likewise.
18730 (usage): Added descriptions for --modules and --grub-probefs.
18731 Handle --modules and --grub-probefs. Save the arguments in MODULES
18732 and GRUB_PROBEFS, respectively.
18733 Auto-detect a filesystem module against GRUBDIR. If the result is
18734 empty and modules are not specified explicitly, abort the
18735 installation. Add the result to MODULES.
18736
18737 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
18738 disk/powerpc/ieee1275/ofdisk.c,
18739 include/grub/powerpc/ieee1275/init.h and
18740 term/powerpc/ieee1275/ofconsole.c.
18741 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
18742 term/ieee1275/ofconsole.c.
18743
18744 * include/grub/powerpc/ieee1275/console.h: Resurrected.
18745
18746 * COPYING: Upgraded to the latest version. Only the address of the
18747 FSF office has changed.
f19dbdb7 18748
efd6e6d5 187492005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18750
18751 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18752 kern/ieee1275.c with kern/ieee1275/of.c.
18753
18754 * kern/ieee1275.c: Moved to ...
18755 * kern/ieee1275/of.c: ... here.
18756
8ceafda2 187572005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
18758
18759 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 18760 readability.
8ceafda2 18761
18762 * config.guess: Updated to the latest version from gnulib.
18763 * config.sub: Likewise.
18764 * install.sh: Likewise.
18765 * mkinstalldirs: Likewise.
18766
18767 * include/grub/console.h: Removed. This file is arch-specific. Do
18768 not put this in include/grub.
18769
18770 * include/grub/i386/pc/console.h: Resurrected.
18771
18772 * util/console.c: Include grub/machine/console.h instead of
18773 grub/console.h.
18774 * util/grub-emu.c: Likewise.
18775
267f6cd9 187762005-08-04 Marco Gerards <metgerards@student.han.nl>
18777
18778 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
18779 hardcoded value.
f19dbdb7 18780
267f6cd9 18781 From Vincent Pelletier <subdino2004@yahoo.fr>
18782 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
18783 Redefined to use grub_getwh.
18784 (grub_term): New member named getwh.
18785 (grub_getwh): New prototype.
18786 * kern/term.c (grub_getwh): New function.
18787 * term/i386/pc/console.c (grub_console_getwh): New function.
18788 (grub_console_term): New member `getwh'.
18789 * term/i386/pc/vga.c (grub_vga_getwh): New function.
18790 (grub_vga_term): New member `getwh'.
0b5abe02 18791 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 18792 grub_ssize_t.
18793 (grub_ofconsole_getw): New function.
18794 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
18795 (grub_ofconsole_term): New field named getwh and new initial
18796 value.
18797
3be7266d 187982005-08-03 Hollis Blanchard <hollis@penguinppc.org>
18799
18800 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
18801 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
18802 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
18803 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
18804 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
18805 of <grub/machine/ieee1275.h>.
18806 * commands/ieee1275/reboot.c: Likewise.
18807 * boot/powerpc/ieee1275/ieee1275.c: Move ...
18808 * kern/ieee1275.c: ... to here. All users updated. Change all
18809 parameter structs to use new type `grub_ieee1275_cell_t'.
18810 * term/powerpc/ieee1275/ofconsole.c: Move ...
18811 * term/ieee1275/ofconsole.c: ... to here. All users updated.
18812 * disk/powerpc/ieee1275/ofdisk.c: Move ...
18813 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
18814 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
18815 to return int.
18816 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
18817 Remove unused prototypes. All users updated.
18818 * include/grub/powerpc/ieee1275/console.h: Removed.
18819 * include/grub/powerpc/ieee1275/ieee1275.h: Define
18820 `grub_ieee1275_cell_t'.
18821 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
18822 Cast comparisons with -1 to the correct type.
18823 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
18824 type to match `grub_ieee1275_entry_fn'.
18825
8b5f3938 188262005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
18827
18828 * DISTLIST: Added util/i386/pc/grub-probefs.c.
18829
18830 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
18831 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
18832 partmap/sun.c.
18833 (grub_probefs_SOURCES): New variable.
18834
18835 * util/i386/pc/grub-probefs.c: New file.
18836
18837 * util/i386/pc/grub-setup.c (main): Call
18838 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
18839 grub_hfs_init and grub_jfs_init to initialize the system. Call
18840 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
18841 grub_pc_partition_map_fini to finish the system.
18842
ea409713 188432005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
18844
18845 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
18846 function.
18847 (grub_multiboot_load_elf32): Likewise.
18848 (grub_multiboot_is_elf64): Likewise.
18849 (grub_multiboot_load_elf64): Likewise.
18850 (grub_multiboot_load_elf): Likewise.
18851 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
18852 an ELF32 or ELF64 file.
18853 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
18854
18855 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
18856 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
18857 NULL before calling FS->LABEL.
18858 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
18859 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
18860 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
18861 before calling FS->LABEL.
18862
141a288b 188632005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
18864
18865 * util/i386/pc/grub-install.in (datadir): New variable.
18866 (libdir): Removed.
18867 (pkgdatadir): New variable.
18868 (pkglibdir): Removed.
18869
0d5f8a54 188702005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
18871
18872 * DISTLIST: Added util/i386/pc/grub-install.in.
18873
18874 * util/i386/pc/grub-install.in: New file.
18875
18876 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
18877 (grub_install_SOURCES): Likewise.
18878
18879 * genmk.rb: Added support for scripts.
18880 (Script): New class.
18881 (scripts): New variable.
18882
18883 * Makefile.in (install-local): Install sbin_SCRIPTS by
18884 INSTALL_SCRIPT.
18885 (uninstall): Remove sbin_SCRIPTS.
18886
18887 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
18888 device, try to get a GRUB device by
18889 grub_util_biosdisk_get_grub_dev.
18890 Free DEST_DEV.
18891
18892 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
18893 description for --device-map.
18894
5f968e1e 188952005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18896
18897 Change the semantics of variable hooks. They now return strings
18898 instead of error values.
f19dbdb7 18899
5f968e1e 18900 * util/i386/pc/grub-setup.c: Include grub/env.h.
18901 (setup): Use grub_device_set_root instead of grub_env_set.
18902
18903 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
18904 grub_env_get instead of grub_device_set_root and
18905 grub_device_get_root, respectively.
18906
18907 * kern/main.c (grub_env_write_root): New function.
18908 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
18909 grub_env_set instead of grub_device_set_root.
18910
18911 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
18912 many variables.
18913 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
18914 rather than calling ENV->WRITE_HOOK afterwards.
18915 (grub_env_get): Return the result of ENV->READ_HOOK rather than
18916 passing a pointer of a pointer.
18917 (grub_register_variable_hook): Change the types of "read_hook" and
18918 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
18919 respectively.
18920 Allocate the default empty string on the heap, because this string
18921 may be freed later.
18922
18923 * kern/device.c: Include grub/env.h.
18924 (grub_device_set_root): Removed.
18925 (grub_device_get_root): Likewise.
18926 (grub_device_open): Use grub_env_get instead of
18927 grub_device_get_root.
18928
18929 * include/grub/env.h (grub_env_read_hook_t): New type.
18930 (grub_env_write_hook_t): Likewise.
18931 (grub_env_var): Change the types of "read_hook" and "write_hook"
18932 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
18933 (grub_register_variable_hook): Likewise.
18934
18935 * include/grub/device.h (grub_device_set_root): Removed.
18936 (grub_device_set_root): Likewise.
18937
18938 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
18939 make sure that DIRNAME terminates with '/', so that
18940 grub_fat_find_dir will fail if PATH is not a directory.
18941
18942 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
18943 from DIRNAME.
18944 Use the qualifier auto for print_files and print_files_long.
18945 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
18946 as a regular file.
18947 Put a newline only if there is no error.
18948 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
18949 used.
18950
896f0afd 189512005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18952
18953 * kern/partition.c (grub_partition_probe): Initialize PART to
18954 NULL. Otherwise, when no partition map is registered, this returns
18955 a garbage.
18956
b28b81b2 189572005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
18958
18959 * partmap/apple.c (apple_partition_map_iterate): Check if POS
18960 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
18961 valid.
18962
5f3607e0 189632005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
18964
18965 * commands/ls.c (grub_ls_list_disks): Print the filesystem
18966 information on each device, if it does not have partitions. Print
18967 "Device" instead of "Disk", because this function is not specific
18968 to disk devices.
18969
18970 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
18971 static to ensure that it is put on the memory rather than a
18972 register.
18973
502c87e8 189742005-07-17 Yoshinori Okuji <okuji@enbug.org>
18975
18976 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
18977 (grub_cat_init): Likewise.
18978 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
18979 (options): Likewise.
18980 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18981 (grub_configfile_init): Likewise.
18982 * font/manager.c (GRUB_MOD_INIT): Likewise.
18983 * commands/help.c (GRUB_MOD_INIT): Likewise.
18984 (grub_help_init): Likewise.
18985 * normal/command.c (grub_command_init): Likewise.
18986 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
18987 * disk/loopback.c (grub_loop_init): Likewise.
18988 (GRUB_MOD_INIT): Likewise.
18989 * commands/ls.c (grub_ls_init): Likewise.
18990 (GRUB_MOD_INIT): Likewise.
18991 (options): Likewise.
18992 * commands/boot.c (grub_boot_init): Likewise.
18993 (GRUB_MOD_INIT): Likewise.
18994 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
18995 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
18996 (GRUB_MOD_INIT): Likewise.
18997 * commands/cmp.c (grub_cmp_init): Likewise.
18998 (GRUB_MOD_INIT): Likewise.
18999
19000 * normal/arg.c: Use <> instead of "" to include header files.
19001 (SHORT_ARG_HELP): New macro.
19002 (SHORT_ARG_USAGE): Likewise.
19003 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
19004 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
19005 descriptions.
19006 (find_short): Check if C is 'h' or 'u' explicitly.
19007 (grub_arg_show_help): Use space characters instead of tabs. Treat
19008 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
19009 are shown with --help and --usage only if they are not used for
19010 the command itself.
19011 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
19012 'h' and 'u'.
19013
19014 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
19015 const into "longarg". Change the type of "shortarg" to int.
19016
f806d18e 190172005-07-17 Yoshinori Okuji <okuji@enbug.org>
19018
19019 * boot/i386/pc/boot.S (boot_drive_check): New label.
19020
19021 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
19022 macro.
19023
19024 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
19025 which do not pass a boot drive correctly. Copied from GRUB Legacy.
19026
e293232b 190272005-07-17 Yoshinori Okuji <okuji@enbug.org>
19028
19029 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
19030 When turning off Gate A20, skip the check and return immediately,
19031 because this is not fatal usually.
19032
ebedfd00 190332005-07-17 Yoshinori Okuji <okuji@enbug.org>
19034
19035 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
19036 be 0x7C00 instead of 0x8000.
19037
19038 * boot/i386/pc/pxeboot.S: Rewritten.
19039
19040 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
19041 EXT_C.
19042 (gate_a20_check_state): Read a byte from 0x108000. Invert the
19043 result.
19044
654fc59f 190452005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
19046
19047 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
19048 robustness. This routine now supports a BIOS call and System
19049 Control Port A to modify the gate A20.
19050
19051 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19052 Increased to 0x440.
19053
09f9923f 190542005-07-12 Hollis Blanchard <hollis@penguinppc.org>
19055
19056 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
19057 device path and resulting ihandle.
19058 (grub_ofdisk_close): dprintf the ihandle being closed.
19059 (grub_ofdisk_read): dprintf function parameters.
19060 * kern/mm.c (grub_mm_init_region): Likewise.
19061 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
19062 (grub_linux_boot): dprintf the Linux entry point, initrd address and
19063 size, and boot arguments.
19064 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
19065 before loading into memory.
19066 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
19067 before loading into memory.
19068
7ef504d8 190692005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
19070
19071 * kern/mm.c: Added much documentation.
19072 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
19073 8, set to 5 instead of 8.
19074
e0f050c2 190752005-07-10 Yoshinori Okuji <okuji@enbug.org>
19076
19077 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
19078
19079 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
19080 (grub_mkdevicemap_SOURCES): New variable.
19081
19082 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
19083 lib/device.c of GRUB Legacy.
19084
7224189a 190852005-07-10 Yoshinori Okuji <okuji@enbug.org>
19086
19087 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
19088 instead of PATH is NULL.
19089
68c864eb 190902005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
19091
19092 * commands/cmp.c (BUFFER_SIZE): New macro.
19093 (grub_cmd_cmp): Close the right file at the right time. Compare
19094 only data just read. Don't report files of different size as
19095 identical. Dynamically allocate buffers. Move variable
19096 declarations at the beginning of function.
19097
e6f3e614 190982005-07-09 Yoshinori Okuji <okuji@enbug.org>
19099
19100 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
19101 reverse.
19102
f8f1559a 191032004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
19104
19105 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
19106 when backspace is pressed at beginning of line.
19107
39c9d41d 191082005-07-03 Yoshinori Okuji <okuji@enbug.org>
19109
19110 * DISTLIST: Added genfslist.sh.
19111
19112 * normal/main.c (fs_module_list): New variable.
19113 (autoload_fs_module): New function.
19114 (read_fs_list): Likewise.
19115 (grub_normal_execute): Call read_fs_list.
19116
19117 * kern/fs.c (grub_fs_autoload_hook): New variable.
19118 (grub_fs_probe): Added support for auto-loading.
19119
19120 * include/grub/normal.h (struct grub_fs_module_list): New struct.
19121 (grub_fs_module_list_t): New type.
19122
19123 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
19124 (grub_fs_autoload_hook): New prototype.
19125
19126 * genfslist.sh: New file.
f19dbdb7 19127
39c9d41d 19128 * genmk.rb: Added a rule to generate a filesystem list.
19129
121c1d83 191302005-06-30 Marco Gerards <metgerards@student.han.nl>
19131
19132 * configure.ac: Fix the test for cross-compiling.
19133
19134 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
19135 define GRUB_UTIL anymore.
19136
19137 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
19138 so this function works on other systems than just big endian.
19139 (load_modules): Likewise.
19140 (add_segments): Likewise.
19141
e75d76e1 191422005-06-23 Hollis Blanchard <hollis@penguinppc.org>
19143
19144 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
19145 contains `l' modifier, get a long from va_arg().
19146
50b5a0a7 191472005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
19148
19149 * kern/mm.c (grub_free): If the next free block which is being
19150 merged is the first free block, set the first block to the block
19151 being freed.
19152 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
19153
89371b20 191542005-05-08 Hollis Blanchard <hollis@penguinppc.org>
19155
19156 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
19157 `grub_ieee1275_chosen'.
19158
168d6e58 191592005-05-08 Hollis Blanchard <hollis@penguinppc.org>
19160
19161 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
19162 (grub_ieee1275_chosen): New variable.
19163 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
19164 `chosen'.
19165 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
19166 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
19167 Rename first argument to `phandle' for consistency.
19168 (grub_ieee1275_get_property_length): Likewise.
19169 (grub_ieee1275_next_property): Likewise. Change type of first argument
19170 to grub_ieee1275_phandle_t.
19171 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
19172 Move export next to declaration.
19173 (grub_ieee1275_chosen): New variable.
19174 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
19175 Correct cosmetic typo.
19176 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
19177 `grub_ieee1275_chosen'.
19178 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
19179 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
19180 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
19181 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
19182 `grub_ieee1275_chosen'.
19183
ca5baa3f 191842005-05-10 Hollis Blanchard <hollis@penguinppc.org>
19185
19186 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
19187 /chosen/bootargs.
19188 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
19189 /chosen/bootargs as "variable=value" pairs.
19190
708b345f 191912005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
19192
19193 * include/grub/misc.h (grub_dprintf): New macro.
19194 (grub_real_dprintf): New prototype.
19195 (grub_strword): Likewise.
19196 (grub_iswordseparator): Likewise.
19197 * kern/misc.c (grub_real_dprintf): New function.
19198 (grub_strword): Likewise.
19199 (grub_iswordseparator): Likewise.
19200
f4c5e67c 192012005-04-30 Hollis Blanchard <hollis@penguinppc.org>
19202
19203 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
19204 (roundup): Remove macro.
19205 (grub_ieee1275_flags): Make static.
19206 (grub_ieee1275_realmode): Remove.
19207 (grub_ieee1275_test_flag): New function.
19208 (grub_ieee1275_set_flag): Likewise.
19209 (find_options): Rename to `grub_ieee1275_find_options'; update
19210 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
19211 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
19212 (cmain): New prototype.
19213 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
19214 `grub_ieee1275_flags' directly.
19215 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
19216 machine/biosdisk.h.
19217 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
19218 Don't include grub/machine/init.h.
19219 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
19220 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
19221 Remove prototype.
19222 (grub_ieee1275_realmode): Likewise.
19223 (grub_ieee1275_flag): New enum.
19224 (grub_ieee1275_test_flag): New prototype.
19225 (grub_ieee1275_set_flag): New prototype.
19226 * include/grub/powerpc/ieee1275/init.h: Remove file.
19227 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
19228 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
19229 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
19230 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
19231 comment.
19232 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
19233 `grub_ieee1275_test_flag'.
19234 (grub_ieee1275_encode_devname): Likewise.
19235
ed16607e 192362005-04-21 Hollis Blanchard <hollis@penguinppc.org>
19237
19238 * include/grub/powerpc/ieee1275/ieee1275.h
19239 (grub_ieee1275_encode_devname): New prototype.
19240 (grub_ieee1275_get_filename): Likewise.
19241 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
19242 function.
19243 (grub_set_prefix): Likewise.
19244 (grub_machine_init): Call grub_set_prefix.
19245 * kern/powerpc/ieee1275/openfw.c: Fix typos.
19246 (grub_parse_type): New enum.
19247 (grub_ieee1275_get_devargs): New function.
19248 (grub_ieee1275_get_devname): Likewise.
19249 (grub_ieee1275_parse_args): Likewise.
19250 (grub_ieee1275_get_filename): Likewise.
19251 (grub_ieee1275_encode_devname): Likewise.
19252
be369920 192532005-03-30 Marco Gerards <metgerards@student.han.nl>
19254
19255 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
19256 `grub_loader_unset'.
19257
a5ce3a4a 192582005-03-26 Hollis Blanchard <hollis@penguinppc.org>
19259
19260 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
19261 instead of grub_ieee1275_interpret.
19262 (grub_halt_init): New function.
19263 (grub_halt_fini): Likewise.
19264 (GRUB_MOD_INIT): Correct message grammar.
19265 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
19266 instead of grub_ieee1275_interpret.
19267 (grub_reboot_init): New function.
19268 (grub_reboot_fini): Likewise.
19269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
19270 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
19271 util/i386/pc/misc.c with commands/ieee1275/halt.c,
19272 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
19273 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
19274 function.
19275 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
19276 Add prototype.
19277 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
19278 prototype.
19279 (grub_halt): Likewise.
19280 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
19281 (cmain): Remove __attribute__((unused)).
19282 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
19283 (grub_heap_len): Likewise.
19284 (grub_machine_fini): New function.
19285 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
19286 (grub_halt): Likewise.
19287 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
19288 function.
19289 * util/powerpc/ieee1275/misc.c: New file.
19290
0058f771 192912005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19292
19293 * DISTLIST: New file.
19294 * gendistlist.sh: Likewise.
f19dbdb7 19295
0058f771 19296 * Makefile.in (COMMON_DISTFILES): Removed.
19297 (BOOT_DISTFILES): Likewise.
19298 (CONF_DISTFILES): Likewise.
19299 (DISK_DISTFILES): Likewise.
19300 (FS_DISTFILES): Likewise.
19301 (INCLUDE_DISTFILES): Likewise.
19302 (KERN_DISTFILES): Likewise.
19303 (LOADER_DISTFILES): Likewise.
19304 (TERM_DISTFILES): Likewise.
19305 (UTIL_DISTFILES): Likewise.
19306 (DISTFILES): Likewise.
19307 (uninstall): Uninstall files in $(pkgdata_DATA).
19308 (DISTLIST): New target.
19309 (distdir): Use the contents of the file DISTLIST to get a list of
19310 distributed files.
19311
46b3b8a5 193122005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19313
19314 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
19315 descriptor. This is ported from GRUB Legacy.
19316
19317 * gencmdlist.sh: Added an extra semicolon to make it work with
19318 old sed versions. Reported by Robert Bihlmeyer
19319 <robbe@orcus.priv.at>.
19320
5822ff87 193212005-03-08 Yoshinori Okuji <okuji@enbug.org>
19322
19323 Automatic loading of commands is supported.
f19dbdb7 19324
5822ff87 19325 * normal/main.c (read_command_list): New function.
19326 (grub_normal_execute): Call read_command_list.
19327
19328 * normal/command.c (grub_register_command): Return zero or CMD.
19329 Allocate CMD->NAME from the heap.
19330 Initialize CMD->MODULE_NAME to zero.
19331 Find the same name as well. If the same command is found and it is
19332 a dummy command, overwrite members. If it is not a dummy command,
19333 return zero.
19334 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
19335 (grub_command_find): If a dummy command is found, load a module
19336 and retry to find a command only once.
19337
19338 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
19339 make sure that each command is loaded.
19340
19341 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
19342 macro.
19343 (struct grub_command): Remove const from the member `name'.
19344 Add a new member `module_name'.
19345 (grub_register_command): Return grub_command_t.
19346
19347 * commands/help.c (grub_cmd_help): Call grub_command_find to make
19348 sure that each command is loaded.
19349
19350 * genmk.rb (PModule::rule): Specify a module name without the
19351 suffix ".mod" to gencmdlist.sh.
19352
7b1f4b57 193532005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19354
19355 * gencmdlist.sh: New file.
f19dbdb7 19356
7b1f4b57 19357 * genmk.rb (PModule::rule): Generate a rule for a command list.
19358 Clean command.lst.
19359 Generate command.lst from $(COMMANDFILES).
19360
19361 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
19362 (DATA): Added $(pkgdata_DATA).
19363 (install-local): Install files in $(pkgdata_DATA).
19364
062aaf39 193652005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19366
19367 * term/i386/pc/vga.c (debug_command): Removed.
19368 (GRUB_MOD_INIT): Do not register the command "debug".
19369
19370 From Hollis Blanchard:
19371 * commands/configfile.c: New file.
19372 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19373 commands/configfile.c.
19374 (pkgdata_MODULES): Added configfile.mod.
19375 (configfile_mod_SOURCES): New variable.
19376 (configfile_mod_CFLAGS): Likewise.
19377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19378 commands/configfile.c.
19379 (pkgdata_MODULES): Added configfile.mod.
19380 (configfile_mod_SOURCES): New variable.
19381 (configfile_mod_CFLAGS): Likewise.
19382 * util/grub-emu.c (main): Call grub_configfile_init and
19383 grub_configfile_fini.
19384 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
19385 prototype.
19386 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 19387
cee01aa6 193882005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19389
19390 * normal/arg.c (grub_arg_show_help): Do not show the bug report
19391 address.
19392
19393 * commands/help.c (grub_cmd_help): Do not print newlines after
19394 the last command in print_command_help.
19395
93f3a1d8 193962005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19397
19398 * commands/default.h: New file.
19399 * commands/timeout.h: Likewise.
19400 * normal/context.c: Likewise.
f19dbdb7 19401
93f3a1d8 19402 * util/misc.c: Do not include sys/times.h.
19403 Include sys/time.h and grub/machine/time.h.
19404 (grub_get_rtc): Rewritten with gettimeofday.
19405
19406 * util/grub-emu.c (main): Call grub_default_init and
19407 grub_timeout_init before grub_normal_init, and call
19408 grub_timeout_fini and grub_default_fini after grub_main.
19409
19410 * util/console.c (grub_ncurses_checkkey): Return the read
19411 character or -1.
19412
19413 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
19414 timeouts.
19415
19416 * normal/main.c (read_config_file): Push MENU. If this fails,
19417 print an error and wait for a user input.
19418 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
19419 If a menu is empty or an error occurs, pop MENU.
19420 (grub_normal_execute): Pop and free MENU after grub_menu_run
19421 returns.
19422
19423 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
19424
19425 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
19426 include time.h.
19427 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19428 without GRUB_UTIL.
19429 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
19430 time.h.
19431 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19432 without GRUB_UTIL.
19433
19434 * include/grub/normal.h (struct grub_menu_list): New struct.
19435 (grub_menu_list_t): New type.
19436 (struct grub_context): New struct.
19437 (grub_context_t): New type.
19438 (grub_register_command): Got rid of EXPORT_FUNC.
19439 (grub_unregister_command): Likewise.
19440 (grub_context_get): New prototype.
19441 (grub_context_get_current_menu): Likewise.
19442 (grub_context_push_menu): Likewise.
19443 (grub_context_pop_menu): Likewise.
19444 [GRUB_UTIL] (grub_default_init): Likewise.
19445 [GRUB_UTIL] (grub_default_fini): Likewise.
19446 [GRUB_UTIL] (grub_timeout_init): Likewise.
19447 [GRUB_UTIL] (grub_timeout_fini): Likewise.
19448
19449 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
19450 commands/timeout.c and normal/context.c.
19451 (pkgdata_MODULES): Added default.mod and timeout.mod.
19452 (normal_mod_SOURCES): Added normal/context.c.
19453 (default_mod_SOURCES): New variable.
19454 (default_mod_CFLAGS): Likewise.
19455 (timeout_mod_SOURCES): Likewise.
19456 (timeout_mod_CFLAGS): Likewise.
19457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
19458 conf/i386-pc.rmk.
19459 (pkgdata_MODULES): Added default.mod and timeout.mod.
19460 (normal_mod_SOURCES): Added normal/context.c.
19461 (default_mod_SOURCES): New variable.
19462 (default_mod_CFLAGS): Likewise.
19463 (timeout_mod_SOURCES): Likewise.
19464 (timeout_mod_CFLAGS): Likewise.
19465
19466 * Makefile.in (all-local): Added $(MKFILES).
19467
4ed2e1dd 194682005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
19469
19470 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
19471 (grub_emu_SOURCES): Likewise.
19472 (pkgdata_MODULES): Add `sun.mod'.
19473 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19475 `partmap/sun.c'.
19476 (pkgdata_MODULES): Add `sun.mod'.
19477 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19478 * include/grub/partition.h (grub_sun_partition_map_init): New
19479 prototype.
19480 (grub_sun_partition_map_fini): Likewise.
19481 * partmap/sun.c: New file.
19482 * util/grub-emu.c (main): Initialize and de-initialize the sun
19483 partitionmap support.
19484
4d4e372e 194852005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
19486
19487 This implements an Emacs-like menu entry editor.
f19dbdb7 19488
4d4e372e 19489 * normal/menu_entry.c: New file.
f19dbdb7 19490
4d4e372e 19491 * util/console.c (grub_ncurses_putchar): Translate some Unicode
19492 characters to ASCII.
19493 (saved_char): New variable.
19494 (grub_ncurses_checkkey): Rewritten completely.
19495 (grub_ncurses_getkey): Likewise.
19496 (grub_ncurses_init): Call raw instead of cbreak.
19497
19498 * normal/menu.c (print_entry): Do not put a space.
19499 (init_page): Renamed to ...
19500 (grub_menu_init_page): ... this. All callers changed.
19501 (edit_menu_entry): Removed.
19502 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
19503
19504 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
19505
19506 * kern/misc.c (grub_vprintf): Call grub_refresh.
19507
19508 * normal/menu.c (DISP_LEFT): Renamed to ...
19509 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
19510 * normal/menu.c (DISP_UP): Renamed to ...
19511 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
19512 * normal/menu.c (DISP_RIGHT): Renamed to ...
19513 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
19514 * normal/menu.c (DISP_DOWN): Renamed to ...
19515 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
19516 * normal/menu.c (DISP_HLINE): Renamed to ...
19517 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
19518 * normal/menu.c (DISP_VLINE): Renamed to ...
19519 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
19520 * normal/menu.c (DISP_UL): Renamed to ...
19521 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
19522 * normal/menu.c (DISP_UR): Renamed to ...
19523 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
19524 * normal/menu.c (DISP_LL): Renamed to ...
19525 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
19526 * normal/menu.c (DISP_LR): Renamed to ...
19527 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
19528 * normal/menu.c (TERM_WIDTH): Renamed to ...
19529 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
19530 * normal/menu.c (TERM_HEIGHT): Renamed to ...
19531 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
19532 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
19533 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
19534 * normal/menu.c (TERM_MARGIN): Renamed to ...
19535 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
19536 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
19537 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
19538 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
19539 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
19540 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
19541 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
19542 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
19543 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
19544 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
19545 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
19546 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
19547 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
19548 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
19549 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
19550 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
19551 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
19552 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
19553 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
19554 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
19555 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
19556 All callers changed.
19557
19558 * include/grub/normal.h: New prototype.
19559
19560 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19561 normal/menu_entry.c.
19562 (normal_mod_SOURCES): Likewise.
19563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19564 (normal_mod_SOURCES): Likewise.
19565
e6b92c8a 195662005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
19567
19568 * include/grub/normal.h (grub_halt_init): New prototype.
19569 (grub_halt_fini): Likewise.
19570 (grub_reboot_init): Likewise.
19571 (grub_reboot_fini): Likewise.
19572
19573 * util/grub-emu.c: Include signal.h.
19574 (main_env): New global variable.
19575 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
19576 catch C-c.
19577 (grub_machine_fini): New function.
19578 (main): Call grub_halt_init and grub_reboot_init before
19579 grub_main, and grub_reboot_fini and grub_halt_fini after it.
19580 Call setjmp with MAIN_ENV to go back afterwards.
19581 Call grub_machine_fini right before return.
19582
19583 * include/grub/util/misc.h: Include setjmp.h.
19584 (main_env): New prototype.
19585
19586 * include/grub/kernel.h (grub_machine_fini): New prototype.
19587 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
19588 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
19589
19590 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
19591 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
19592 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 19593
e6b92c8a 19594 * util/i386/pc/misc.c: New file.
f19dbdb7 19595
e6b92c8a 19596 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19597 util/i386/pc/misc.c, commands/i386/pc/halt.c and
19598 commands/i386/pc/reboot.c.
19599
c642636f 196002005-02-14 Guillem Jover <guillem@hadrons.org>
19601
19602 * include/grub/dl.h (grub_dl_check_header): New prototype.
19603 (grub_arch_dl_check_header): Change return type to grub_err_t,
19604 remove size parameter and export function. Update all callers.
19605 * kern/dl.c (grub_dl_check_header): New function.
19606 (grub_dl_load_core): Use `grub_dl_check_header' instead of
19607 `grub_arch_dl_check_header'. Check ELF type. Check if sections
19608 are inside the core.
19609 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
19610 independent ELF header checks.
19611 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19612 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
19613 `grub_dl_check_header' instead of explicit checks. Check for the
19614 ELF type.
19615 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
19616 `grub_dl_check_header' instead of explicit checks. Remove arch
19617 specific ELF header checks.
19618
e6b92c8a 19619 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
19620 argument SIZE.
19621
5eabe94b 196222005-02-13 Hollis Blanchard <hollis@penguinppc.org>
19623
19624 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
19625 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
19626
1b14a681 196272005-02-12 Hollis Blanchard <hollis@penguinppc.org>
19628
19629 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 19630 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 19631 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 19632 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 19633 * partmap/amiga.c (amiga_partition_map_iterate): Return
19634 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
19635 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19636
aca108aa 196372005-02-01 Guillem Jover <guillem@hadrons.org>
19638
19639 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
19640 help info.
19641
c9f9c556 196422005-01-31 Marco Gerards <metgerards@student.han.nl>
19643
19644 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
19645 Removed prototype.
19646 (grub_rescue_cmd_linux): New prototype.
19647 (grub_rescue_cmd_initrd): Likewise.
19648 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
19649 `bi_rec'.
19650 (grub_linux_release_mem): Release the memory for the initrd.
19651 (grub_load_linux): Renamed from this...
19652 (grub_rescue_cmd_linux): ...To this. Changed all callers.
19653 Changed `entry' not to be static. Loop over memory regions to
19654 find another one when the default fails.
19655 (grub_rescue_cmd_initrd): New function.
19656 (grub_linux_init): Remove function.
19657 (grub_linux_fini): Likewise.
19658 (GRUB_MOD_INIT): Register `initrd'.
19659 (GRUB_MOD_FINI): Unregister `initrd'.
19660 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
19661 Function removed.
19662 (grub_linux_normal_fini): Likewise.
19663 (GRUB_MOD_INIT): Register `initrd'.
19664 (GRUB_MOD_FINI): Unregister `initrd'.
19665
990cf3aa 196662005-01-31 Marco Gerards <metgerards@student.han.nl>
19667
19668 * commands/help.c: New file.
19669 * normal/arg.c (show_help): Renamed to...
19670 (grub_arg_show_help): ... this.
19671 * commands/i386/pc/halt.c: New file.
19672 * commands/i386/pc/reboot.c: Likewise.
19673 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
19674 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
19675 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
19676 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
19677 variables.
19678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19679 `commands/help.c'.
19680 (pkgdata_MODULES): Add `help.mod'.
19681 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
19682 * grub/i386/pc/init.h (grub_reboot): New prototype.
19683 (grub_halt): Likewise.
19684 * include/grub/normal.h (grub_arg_show_help): New prototype.
19685 (grub_help_init): Likewise.
19686 (grub_help_fini): Likewise.
19687 * util/grub-emu.c (main): Initialize and deinitialize the help
19688 command.
19689
19690 * normal/cmdline.c (grub_cmdline_get): Doc fix.
19691
19692 * normal/command.c (grub_command_init): Fixed the description of
19693 the `set' and `unset' commands.
19694
196952005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 19696
19697 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
19698 function.
19699 * commands/ieee1275/halt.c: New file.
19700 * commands/ieee1275/reboot.c: Likewise.
19701 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
19702 `__attribute__ ((unused))'. Some GCS related fixed.
19703 (grub_suspend_init) [GRUB_UTIL]: Function removed.
19704 (grub_suspend_fini): Likewise.
19705 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
19706 and `halt.mod'.
19707 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
19708 (halt_mod_CFLAGS): New variables.
19709 * include/grub/powerpc/ieee1275/ieee1275.h
19710 (grub_ieee1275_interpret): New prototype.
19711
1ab09cc7 197122005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
19713
19714 * include/grub/misc.h (memmove): New prototype.
19715 (memcpy): Likewise.
19716
8b8cbdb2 197172005-01-22 Hollis Blanchard <hollis@penguinppc.org>
19718
19719 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
19720 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
19721
e3741a27 197222005-01-22 Marco Gerards <metgerards@student.han.nl>
19723
19724 * kern/misc.c (grub_strndup): Function rewritten.
19725
776bd780 197262005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
19727
19728 * normal/menu.c (TERM_WIDTH): Macro redefined.
19729 (TERM_TOP_BORDER_Y): Likewise.
19730 (draw_border): Replaced while-loop by a for-loop. Make the number
19731 of lines consistent with the number of lines displayed in
19732 print_entries. Added a margin below the rectangle.
19733 (print_entry): Make the entry fit in the rectangle.
19734 (print_entries): Display the scroll arrows next to the right
19735 border.
19736
78026bce 197372005-01-21 Marco Gerards <metgerards@student.han.nl>
19738
19739 * fs/minix.c (grub_minix_find_file): Reserve more space for
19740 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
19741 `grub_strncpy' to copy `path' into it.
19742
67bbaf0f 197432005-01-21 Marco Gerards <metgerards@student.han.nl>
19744
19745 Add the loopback device, a device via which files can be accessed
19746 as devices.
f19dbdb7 19747
67bbaf0f 19748 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
19749 (pkgdata_MODULES): Add loopback.mod.
19750 (loopback_mod_SOURCES): New variable.
19751 (loopback_mod_CFLAGS): Likewise.
19752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19753 `disk/loopback.c'.
19754 (pkgdata_MODULES): Add loopback.mod.
19755 (loopback_mod_SOURCES): New variable.
19756 (loopback_mod_CFLAGS): Likewise.
19757 * disk/loopback.c: new file.
19758 * include/grub/normal.h (grub_loop_init): New prototype.
19759 (grub_loop_fini): New prototype.
19760 * util/grub-emu.c (main): Initialize and de-initialize loopback
19761 support.
19762 * include/grub/disk.h (grub_disk_dev_id): Add
19763 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
19764
6f1c18bd 197652005-01-20 Hollis Blanchard <hollis@penguinppc.org>
19766
19767 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
19768 function.
19769 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
19770 (suspend_mod_SOURCES): New variable.
19771 (suspend_mod_CFLAGS): Likewise.
19772 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
19773 New prototype.
19774 * commands/ieee1275/suspend.c: New file.
19775
b38551da 197762005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19777
19778 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 19779 ((unused))' to `__attribute__ ((used))'.
b38551da 19780 (GRUB_MOD_FINI): Likewise.
19781 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
19782 * genmk.rb (PModule): Assign space to common symbols when linking
19783 modules.
19784
777aff39 197852005-01-20 Marco Gerards <metgerards@student.han.nl>
19786
19787 * include/grub/mm.h (grub_mm_init_region): Change the type of the
19788 `unsigned' arguments to `grub_size_t'.
19789 (grub_malloc): Likewise.
19790 (grub_realloc): Likewise.
19791 (grub_memalign): Likewise.
19792 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
19793 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19794 * util/misc.c (grub_malloc): Likewise.
19795 (grub_realloc): Likewise.
19796 * kern/mm.c (get_header_from_pointer): Change the casts to
19797 `unsigned' into a cast to `grub_size_t'.
19798
19799 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
19800 point to `currnode' when `currnode' is changed.
19801
19802 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
19803 Schottelius <nico-linux@schottelius.org>.
19804
d0ff18e1 198052005-01-09 Hollis Blanchard <hollis@penguinppc.org>
19806
19807 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
19808 (note_path): Remove variable.
19809 (GRUB_IEEE1275_NOTE_NAME): New macro.
19810 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
19811 (grub_ieee1275_note_hdr): New structure.
19812 (grub_ieee1275_note_desc): Likewise.
19813 (grub_ieee1275_note): Likewise.
19814 (load_note): Remove `dir' argument. All callers updated. Remove
19815 `note_img' and `path'. Do not load a file from `note_path'.
19816 Initialize a struct grub_ieee1275_note and write that to `out'.
19817 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
19818
4ca7004c 198192005-01-05 Marco Gerards <metgerards@student.han.nl>
19820
19821 * util/misc.c (grub_util_read_image): Revert last change. It
19822 called `grub_util_read_at', which seeks from the beginning of the
19823 file.
19824
0b412211 198252005-01-04 Hollis Blanchard <hollis@penguinppc.org>
19826
19827 * TODO: Add note about endianness in grub-mkimage.
19828 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
19829 section.
19830 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
19831 (grub_mkimage_SOURCES): New target.
19832 * include/grub/kernel.h (grub_start_addr): Remove variable.
19833 (grub_end_addr): Likewise.
19834 (grub_total_module_size): Likewise.
19835 (grub_kernel_image_size): Likewise.
19836 (GRUB_MODULE_MAGIC): New constant.
19837 (grub_module_info): New structure.
19838 (grub_arch_modules_addr): New prototype.
19839 (grub_get_end_addr): Remove prototype.
19840 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
19841 * include/grub/powerpc/ieee1275/kernel.h: New file.
19842 * include/grub/util/misc.h (grub_util_get_fp_size): New
19843 prototype.
19844 (grub_util_read_at): Likewise.
19845 (grub_util_write_image_at): Likewise.
19846 * kern/main.c (grub_get_end_addr): Remove function.
19847 (grub_load_modules): Call grub_arch_modules_addr instead of using
19848 grub_end_addr. Look for a grub_module_info struct in memory. Use
19849 the grub_module_info fields instead of calling grub_get_end_addr
19850 as loop conditions. Move grub_add_unused_region code here.
19851 (grub_add_unused_region): Remove function.
19852 * kern/i386/pc/init.c: Include grub/cache.h.
19853 (grub_machine_init): Remove call to grub_get_end_addr. Remove
19854 one call to add_mem_region.
19855 (grub_arch_modules_addr): New function.
19856 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
19857 (grub_total_module_size): Likewise.
19858 Include grub/machine/kernel.h.
19859 (grub_arch_modules_addr): New function.
19860 * util/grub-emu.c (grub_end_addr): Remove variable.
19861 (grub_total_module_size): Likewise.
19862 (grub_arch_modules_addr): New function.
19863 * util/misc.c: Include unistd.h.
19864 (grub_util_get_fp_size): New function.
19865 (grub_util_read_at): Likewise.
19866 (grub_util_write_image_at): Likewise.
19867 (grub_util_read_image): Call grub_util_read_at.
19868 (grub_util_write_image): Call grub_util_write_image_at.
19869 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
19870 additional memory in kernel_img for a struct grub_module_info.
19871 Fill in that grub_module_info.
19872 * util/powerpc/ieee1275/grub-mkimage.c: New file.
19873
458786f8 198742005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19875
19876 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
19877 New function.
19878 * include/grub/powerpc/ieee1275/ieee1275.h
19879 (grub_ieee1275_milliseconds): New prototype.
19880 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
19881 Change to 1000.
19882 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
19883 grub_ieee1275_milliseconds.
19884
ac507d1b 198852005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19886
19887 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
19888 variable.
19889 (find_options): New function.
19890 (cmain): Call find_options.
19891 * include/grub/powerpc/ieee1275/ieee1275.h
19892 (grub_ieee1275_realmode): New extern variable.
19893 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
19894 grub_map if grub_ieee1275_realmode is false.
19895
6b8fd1c4 198962004-12-29 Marco Gerards <metgerards@student.han.nl>
19897
19898 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
19899 lines are inserted and make it work like readline. Reported by
19900 Vincent Pelletier <subdino2004@yahoo.fr>.
19901
8514a1e0 199022004-12-28 Marco Gerards <metgerards@student.han.nl>
19903
19904 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
19905
19906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
19907 `kern/powerpc/cache.S'.
19908
924b6140 199092004-12-27 Marco Gerards <metgerards@student.han.nl>
19910
19911 * genmk.rb: Handle the `Program' class in the main loop. Written
19912 by Johan Rydberg <jrydberg@gnu.org>.
19913 (Program): New class.
19914 (programs): New variable.
19915 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
19916 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
19917 instead of "grub/kernel.h". Include <grub/machine/init.h>.
19918 (help_arch): Function removed.
19919 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
19920 `powerpc/libgcc.h' and `loader.h'.
19921 (pkgdata_PROGRAMS): New variable.
19922 (sbin_UTILITIES): Variable removed.
19923 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
19924 (grubof_SOURCES): Variable re-defined so it only includes the
19925 core functionality.
19926 (grubof_CFLAGS): Remove `-DGRUBOF'.
19927 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
19928 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
19929 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
19930 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
19931 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
19932 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
19933 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
19934 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
19935 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
19936 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
19937 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19938 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
19939 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
19940 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
19941 (pc_mod_CFLAGS): New variables.
19942 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
19943 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
19944 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
19945 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
19946 Moved from here...
19947 * include/grub/i386/pc/init.h (grub_os_area_addr)
19948 (rub_os_area_size): ... to here.
19949 * include/grub/powerpc/ieee1275/ieee1275.h
19950 (grub_ieee1275_entry_fn): Export symbol.
19951 * include/grub/powerpc/ieee1275/init.h: New file.
19952 * include/grub/powerpc/libgcc.h: Likewise.
19953 * include/grub/cache.h: Likewise.
19954 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
19955 <hollis@penguinppc.org>.
19956 * kern/dl.c: Include <grub/cache.h>.
19957 (grub_dl_flush_cache): New function.
19958 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
19959 for this module.
19960 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
19961 (grub_console_init): Removed prototypes.
19962 (grub_machine_init): Don't initialize the modules anymore.
19963 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
19964 static.
19965 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
19966 Macro undef removed.
19967 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
19968 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
19969 relocation `R_PPC_REL32'. Return an error when the relocation is
19970 unknown.
19971 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
19972 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
19973 * util/misc.c (grub_arch_sync_caches): Likewise.
19974
e4b47e0c 199752004-12-19 Marco Gerards <metgerards@student.han.nl>
19976
19977 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
19978 `symlist.c', add `grubof_symlist.c'.
19979 (symlist.c): Variable removed.
19980 (grubof_HEADERS): Variable added.
19981 (grubof_symlist.c): New target.
19982 (kernel_syms.lst): Use `grubof_HEADERS' instead of
19983 `kernel_img_HEADERS'.
19984 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
19985 * kern/powerpc/dl.c: New file.
19986 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
19987 Function removed.
19988 (grub_arch_dl_relocate_symbols): Likewise.
19989 (grub_register_exported_symbols): Likewise.
19990
4ceb3636 199912004-12-13 Marco Gerards <metgerards@student.han.nl>
19992
19993 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
19994 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
19995 to fail instead. Reported by Vincent Pelletier
19996 <subdino2004@yahoo.fr>.
19997
19998 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
19999 it is not allocated. Reported by Vincent Pelletier
20000 <subdino2004@yahoo.fr>.
20001
20002 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
20003 output so the output looks better.
f19dbdb7 20004
3f1578fe 200052004-12-04 Marco Gerards <metgerards@student.han.nl>
20006
20007 Modulize the partition map support and add support for the amiga
20008 partition map.
f19dbdb7 20009
3f1578fe 20010 * commands/ls.c: Include <grub/partition.h> instead of
20011 <grub/machine/partition.h>.
20012 * kern/disk.c: Likewise.
20013 * kern/rescue.c: Likewise.
20014 * loader/i386/pc/chainloader.c: Likewise.
20015 * normal/cmdline.c: Likewise.
20016 * kern/powerpc/ieee1275/init.c: Likewise.
20017 (grub_machine_init): Call `grub_pc_partition_map_init',
20018 `grub_amiga_partition_map_init' and
20019 `grub_apple_partition_map_init'.
20020 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
20021 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
20022 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
20023 `partition.h' and `pc_partition.h'.
20024 (grub_setup_SOURCES): Remove
20025 `disk/i386/pc/partition.c'. Add `kern/partition.c',
20026 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
20027 (grub_emu_SOURCES): Likewise.
20028 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
20029 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
20030 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
20031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
20032 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
20033 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
20034 (grubof_SOURCES): Likewise.
20035 * disk/i386/pc/partition.c: File removed.
20036 * disk/powerpc/ieee1275/partition.c: Likewise.
20037 * include/grub/powerpc/ieee1275/partition.h: Likewise.
20038 * include/grub/i386/pc/partition.h: Likewise.
20039 * kern/partition.c: New file.
20040 * partmap/amiga.c: Likewise.
20041 * partmap/apple.c: Likewise.
20042 * partmap/pc.c: Likewise.
20043 * include/grub/partition.h: Likewise..
20044 * include/grub/pc_partition.h: Likewise.
20045 * util/grub-emu.c: Include <grub/partition.h> instead of
20046 <grub/machine/partition.h>.
20047 (main): Call `grub_pc_partition_map_init',
20048 `grub_amiga_partition_map_init' and
20049 `grub_apple_partition_map_init' and deinitialize afterwards.
20050 * util/i386/pc/biosdisk.c: Include `#include
20051 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
20052 `<grub/machine/partition.h>'.
20053 * util/i386/pc/grub-setup.c: Likewise.
20054 * util/i386/pc/biosdisk.c: Likewise.
20055 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
20056 partition information in case of a PC partition.
20057 * util/i386/pc/grub-setup.c: Include `#include
20058 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
20059 `<grub/machine/partition.h>'.
20060 (setup): Only access the PC specific partition information in case
20061 of a PC partition.
20062
0ef4ced9 200632004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20064
0ef4ced9 20065 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
20066 (grub_longjmp): Likewise.
20067 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
20068 20.
20069 * normal/powerpc/setjmp.S: New file.
20070 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20071 `normal/powerpc/setjmp.S'.
20072 (grubof_CFLAGS): Add `-DGRUBOF'.
20073 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
20074 [GRUB_UTIL && !GRUBOF].
f19dbdb7 20075
19950e29 200762004-11-16 Marco Gerards <metgerards@student.han.nl>
20077
20078 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
20079 property named `name'. Correctly handle the error returned by
20080 `grub_ieee1275_finddevice' if a device can not be opened.
20081
a2fea427 200822004-11-02 Hollis Blanchard <hollis@penguinppc.org>
20083
20084 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
20085 `actual' for negativity.
20086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
20087 kern/fshelp.c.
20088
41ea0ea3 200892004-11-01 Marco Gerards <metgerards@student.han.nl>
20090
20091 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
20092 (PAGE_OFFSET): New macro.
20093 (CRTC_ADDR_PORT): Likewise.
20094 (CRTC_DATA_PORT): Likewise.
20095 (START_ADDR_HIGH_REGISTER): Likewise.
20096 (START_ADDR_LOW_REGISTER): Likewise.
20097 (GRAPHICS_ADDR_PORT): Likewise.
20098 (GRAPHICS_DATA_PORT): Likewise.
20099 (READ_MAP_REGISTER): Likewise.
20100 (INPUT_STATUS1_REGISTER): Likewise.
20101 (INPUT_STATUS1_VERTR_BIT): Likewise.
20102 (page): New variable.
20103 (wait_vretrace): New function.
20104 (set_read_map): Likewise.
20105 (set_start_address): Likewise.
20106 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
20107 the right page.
20108 (check_vga_mem): Take the page into account.
20109 (write_char): Likewise.
20110 (write_cursor): Likewise.
20111 (scroll_up): Likewise. Copy the page to the page that is not
20112 shown and switch between both pages.
20113 (grub_vga_putchar): Fix off by one error.
20114 (grub_vga_cls): Wait for the vertical retrace. Take the page into
20115 account.
20116
ad0bd20b 201172004-11-01 Marco Gerards <metgerards@student.han.nl>
20118
20119 Add support for iso9660 (including rockridge).
f19dbdb7 20120
ad0bd20b 20121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
20122 (iso9660_mod_SOURCES): New variable.
20123 (iso9660_mod_CFLAGS): Likewise.
20124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
20125 * include/grub/fs.h (grub_iso9660_init): New prototype.
20126 * util/grub-emu.c (main): Call `grub_iso9660_init'.
20127 * fs/iso9660.c: New file.
20128
20129 * include/grub/misc.h (grub_strncat): New prototype.
20130 * kern/misc.c (grub_strncat): New function.
f19dbdb7 20131
ad0bd20b 20132 * fs/hfs.c (grub_hfs_mount): Translate the error
20133 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
20134 * fs/jfs.c (grub_jfs_mount): Likewise.
20135 * fs/ufs.c (grub_ufs_mount): Likewise.
20136
a5477a59 201372004-10-28 Hollis Blanchard <hollis@penguinppc.org>
20138
20139 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
20140 which initialized BAT registers.
20141 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
20142 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20143 Move from here...
20144 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
20145 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20146 ... to here.
20147 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
20148 (grub_mapclaim): Likewise.
20149 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
20150 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
20151 hand.
20152
9304c1f8 201532004-10-19 Hollis Blanchard <hollis@penguinppc.org>
20154
20155 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
20156 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
20157 -ffreestanding and -msoft-float.
20158
86f4ae25 201592004-10-15 Hollis Blanchard <hollis@penguinppc.org>
20160
20161 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
20162 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
20163 set in grub_ieee1275_flags.
20164
38912228 201652004-10-14 Hollis Blanchard <hollis@penguinppc.org>
20166
20167 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
20168 prototype.
20169 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
20170 grub_console_init first.
20171 Change the memory range used for grub_ieee1275_claim and
20172 grub_mm_init_region.
20173 Print an error message if the claim fails.
20174 Include <grub/misc.h>.
20175
d1923dc8 201762004-10-13 Hollis Blanchard <hollis@penguinppc.org>
20177
20178 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
20179 Call grub_children_iterate for device nodes of type `scsi',
20180 `ide', or `ata'.
20181 (grub_ofdisk_open): Remove manual device alias resolution.
20182 Fix memory leak when device cannot be opened.
f19dbdb7 20183 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 20184 (grub_children_iterate): New prototype.
20185 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
20186 New function.
20187 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20188 Return -1 if args.size was -1.
20189
4512e4f3 201902004-10-11 Hollis Blanchard <hollis@penguinppc.org>
20191
20192 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
20193 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
20194 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
20195 Open Firmware's memory for it; claim memory from _start to _end.
20196 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
20197 (_end): New extern.
20198 (_start): Zero BSS from __bss_start to _end.
20199 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
20200 New extern.
20201 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
20202
4d61feb0 202032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
20204
ad0bd20b 20205 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
20206 -1 if args.base was -1.
4d61feb0 20207
026fa2f9 202082004-10-08 Hollis Blanchard <hollis@penguinppc.org>
20209
20210 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
20211 escape sequence instead of a literal ^L. Also call
20212 grub_ofconsole_gotoxy.
20213
9f2220ef 202142004-10-03 Hollis Blanchard <hollis@penguinppc.org>
20215
20216 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
20217 void * arguments to grub_addr_t. All callers updated. Also make
20218 the `result' argument optional.
20219 (grub_ieee1275_release): change void * arguments to grub_addr_t.
20220 All callers updated.
20221
8a572cd7 202222004-09-22 Hollis Blanchard <hollis@penguinppc.org>
20223
20224 * commands/ls.c (grub_ls_list_files): Use the string following the
20225 initial ')', if present, as the filesystem path.
20226 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
20227
20228 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
20229
18aa81f2 202302004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
20231
20232 Make the source code of the menu interface more readable.
f19dbdb7 20233
18aa81f2 20234 * normal/menu.c: Include grub/mm.h.
20235 (TERM_WIDTH): New macro.
20236 (TERM_HEIGHT): Likewise.
20237 (TERM_INFO_HEIGHT): Likewise.
20238 (TERM_MARGIN): Likewise.
20239 (TERM_SCROLL_WIDTH): Likewise.
20240 (TERM_TOP_BORDER_Y): Likewise.
20241 (TERM_LEFT_BORDER_X): Likewise.
20242 (TERM_BORDER_WIDTH): Likewise.
20243 (TERM_MESSAGE_HEIGHT): Likewise.
20244 (TERM_BORDER_HEIGHT): Likewise.
20245 (TERM_NUM_ENTRIES): Likewise.
20246 (TERM_FIRST_ENTRY_Y): Likewise.
20247 (TERM_ENTRY_WIDTH): Likewise.
20248 (TERM_CURSOR_X): Likewise.
20249 (draw_border): Use macros instead of magic numbers.
20250 (print_entry): Likewise.
20251 (print_entries): Likewise.
20252 (run_menu): Likewise. Also, handle the key 'e'.
20253 (run_menu_entry): Ignore empty command lines.
20254 (print_message): Added a new argument EDIT. If EDIT is true,
20255 print a different message.
20256 (init_page): Likewise.
20257 (edit_menu_entry): New function. Not implemented yet.
20258
b47efe30 202592004-09-17 Marco Gerards <metgerards@student.han.nl>
20260
20261 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
20262 can be loaded from normal mode.
f19dbdb7 20263
b47efe30 20264 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
20265 `multiboot.mod'.
20266 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
20267 (multiboot_mod_CFLAGS): New variables.
20268 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 20269 * loader/i386/pc/multiboot_normal.c: Likewise.
20270
b47efe30 20271 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
20272 attribute `unused'.
f19dbdb7 20273
b47efe30 20274 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
20275 `fdiro' to read the mode information from instead of `diro'.
20276
20277 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
20278 looking up a symlink.
20279
20280 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
20281 macro.
20282 * normal/command.c (grub_command_execute): Don't parse the
20283 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
20284 flags of the command.
20285
20286 * normal/menu.c (grub_menu_run): Fix typo.
20287
da75ac71 202882004-09-14 Hollis Blanchard <hollis@penguinppc.org>
20289
20290 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
20291
20292 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
20293 `y + 1' instead of `y - 1'.
20294
20295 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 20296
062b24c2 202972004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
20298
20299 From Hollis Blanchard <hollis@penguinppc.org>:
20300 * kern/misc.c (memmove): New alias for grub_memmove.
20301 (memcmp): New alias for grub_memcmp.
20302 (memset): New alias for grub_memset.
f19dbdb7 20303 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 20304 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 20305 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 20306 (grub_ieee1275_get_property): Likewise.
f19dbdb7 20307
8ddad845 203082004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
20309
20310 Added normal mode command `chainloader' as module chain.mod, which
20311 depends on normal.mod and _chain.mod.
f19dbdb7 20312
8ddad845 20313 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
20314 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
20315 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
20316 Deleted prototype.
20317 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
20318 but arguments parsing moved to ...
20319 (grub_chainloader_cmd): ... here. New function.
20320 * include/grub/i386/pc/chainloader.h: New file.
20321 * loader/i386/pc/chainloader_normal.c: Likewise.
20322
2c1f4ce3 203232004-09-11 Marco Gerards <metgerards@student.han.nl>
20324
20325 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
20326 (grub_mkimage_LDFLAGS): Likewise.
20327 (grub_emu_SOURCES): Likewise.
20328 (kernel_img_HEADERS): Added fshelp.h.
20329 * fs/ext2.c: Include <grub/fshelp.h>.
20330 (FILETYPE_REG): New macro.
20331 (FILETYPE_INO_REG): Likewise.
20332 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
20333 Changed all users.
20334 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
20335 all users.
20336 (grub_fshelp_node): New struct.
20337 (grub_ext2_data): Added member `diropen'. Changed member `inode'
20338 to a pointer.
20339 (grub_ext2_get_file_block): Removed function.
20340 (grub_ext2_read_block): New function.
20341 (grub_ext2_read_file): Replaced parameter `data' by `node'.
20342 This function was written.
20343 (grub_ext2_mount): Read the root inode. Create a diropen struct.
20344 (grub_ext2_find_file): Removed function.
20345 (grub_ext2_read_symlink): New function.
20346 (grub_ext2_iterate_dir): Likewise.
20347 (grub_ext2_open): Rewritten.
20348 (grub_ext2_dir): Rewritten.
20349 * include/grub/fshelp.h: New file.
20350 * fs/fshelp.c: Likewise.
20351
3c52136a 203522004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
20353
20354 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
20355 (print_message): Add a missing newline.
20356 (run_menu): Added timeout support.
20357 (run_menu_entry): New local function.
20358 (grub_menu_run): Added support for booting.
20359
20360 * kern/loader.c (grub_loader_is_loaded): New function.
20361
20362 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
20363 (grub_get_rtc): Exported.
20364
20365 * include/grub/i386/pc/time.h: Include grub/symbol.h.
20366 (grub_get_rtc): Exported.
20367
20368 * include/grub/normal.h (struct grub_command_list): Remove
20369 constant from the member `command'.
20370
20371 * include/grub/loader.h (grub_loader_is_loaded): Declared.
20372
20373 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
20374
20375 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
20376
aa033560 203772004-08-28 Marco Gerards <metgerards@student.han.nl>
20378
20379 Add support for the JFS filesystem.
20380
20381 * fs/jfs.c: New file.
20382 * include/grub/fs.h (grub_jfs_init): New prototype.
20383 (grub_jfs_fini): New prototype.
20384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
20385 (grub_emu_SOURCES): Likewise.
20386 (pkgdata_MODULES): Add jfs.mod.
20387 (jfs_mod_SOURCES): New variable.
20388 (jfs_mod_CFLAGS): Likewise.
20389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
20390 (grubof_SOURCES): Likewise.
20391 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
20392
20393 * fs/fat.c (grub_fat_find_dir): Convert the filename little
20394 endian to the host endian.
20395 (grub_fat_utf16_to_utf8): Move function from there...
20396 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 20397 the endianness of the source string anymore.
aa033560 20398 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
20399
94bc45af 204002004-08-24 Marco Gerards <metgerards@student.han.nl>
20401
20402 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
20403 (grub_boot_fini) [GRUB_UTIL]: Likewise.
20404 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
20405 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 20406
94bc45af 20407 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
20408 (grub_hfs_iterate_dir): Make the function static. Add prototypes
20409 for `node_found' and `it_dir'.
20410 (grub_hfs_dir): Add prototype for `dir_hook'.
20411
20412 * fs/minix.c (grub_minix_get_file_block): Add prototype for
20413 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
20414 and `indir32' to silence a gcc warning.
20415
20416 * include/grub/fs.h (grub_hfs_init): New prototype.
20417 (grub_hfs_fini): Likewise.
f19dbdb7 20418
20419
97543f08 204202004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20421
20422 Each disk device has its own id now. This is useful to make use
20423 of multiple disk devices.
f19dbdb7 20424
97543f08 20425 * include/grub/disk.h (grub_disk_dev_id): New enum.
20426 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
20427 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
20428
20429 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
20430 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20431
20432 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
20433 GRUB_DISK_DEVICE_OFDISK_ID as an id.
20434
20435 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
20436 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20437
20438 * include/grub/disk.h (struct grub_disk_dev): Added a new member
20439 "id" which is used by the cache manager.
20440
20441 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
20442 of just "GRUB".
20443
64372eb4 204442004-08-18 Marco Gerards <metgerards@student.han.nl>
20445
20446 * fs/hfs.c: New file.
20447 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
20448 (grub_emu_SOURCES): Likewise.
20449 (pkgdata_MODULES): Add hfs.mod.
20450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
20451 (grubof_SOURCES): Likewise.
20452 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
20453
20454 * include/grub/misc.h (grub_strncasecmp): Add prototype.
20455 * kern/misc.c (grub_strncasecmp): Add function.
20456
cc61b58f 204572004-08-14 Marco Gerards <metgerards@student.han.nl>
20458
20459 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
20460 with parentheses.
20461
20462 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
20463 (grub_ext2_dir): In case the directory entry type is unknown, read
20464 it from the inode.
20465
0ef123f6 204662004-08-02 Peter Bruin <pjbruin@dds.nl>
20467
20468 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
20469 grub_load_linux instead of grub_rescue_cmd_linux as second
20470 argument of grub_rescue_register_command.
20471
20472 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
20473
a447c5df 204742004-07-27 Marco Gerards <metgerards@student.han.nl>
20475
20476 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
20477 function.
20478 * commands/boot.c: Remove the check for `GRUB_UTIL'.
20479 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20480 `loader/powerpc/ieee1275/linux.c',
20481 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
20482 * include/grub/powerpc/ieee1275/ieee1275.h
20483 (grub_ieee1275_release): New prototype.
20484 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
20485 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
20486 normal, boot, linux and linux_normal.
20487 * loader/powerpc/ieee1275/linux.c: New file.
20488 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20489
5a9e3546 204902004-07-12 Marco Gerards <metgerards@student.han.nl>
20491
20492 * normal/arg.c (grub_arg_parse): Correct error handling after
20493 reallocating the argumentlist (check if `argl' is not null instead
20494 of checking if `args' is not null).
20495 * kern/mm.c (grub_realloc): Return the same pointer when using the
20496 same region, instead of returning the header address.
20497
e15199cb 204982004-07-11 Marco Gerards <metgerards@student.han.nl>
20499
20500 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
20501 one block instead of two when looking for the initial partition.
20502 (grub_partition_probe): Initialize the local variable `p' with 0.
20503 Use base 10 for the grub_strtoul call.
20504 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
20505 need for one local variable.
20506 (grub_strtoul): Don't add the new value to `num', instead of that
20507 just assign it.
20508
020616c2 205092004-07-11 Marco Gerards <metgerards@student.han.nl>
20510
20511 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
20512 (pxeboot_img_SOURCES): New variable.
20513 (pxeboot_img_ASFLAGS): Likewise.
20514 (pxeboot_img_LDFLAGS): Likewise.
20515 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
20516 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
20517 <lode_leroy@hotmail.com>.
20518
6c51eb64 205192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20520
20521 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
20522 there was no input.
20523
cfb12aff 205242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20525
20526 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
20527 the history buffer logic.
20528
6eabba74 205292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20530
20531 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
20532 (FILETYPE_INO_SYMLINK): New macros.
20533 (grub_ext2_find_file): Check if the node is a directory using the
20534 inode stat information instead of using the filetype in the
20535 dirent. Exclude the first character of an absolute symlink.
20536 (grub_ext2_dir): Mask out the filetype part of the mode member of
20537 the inode.
20538
66e19ef8 205392004-05-24 Marco Gerards <metgerards@student.han.nl>
20540
20541 Add support for UFS version 1 and 2. Add support for the minix
20542 filesystem version 1 and 2, both the variants with 14 and 30 long
20543 filenames.
f19dbdb7 20544
66e19ef8 20545 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
20546 fs/minix.c.
20547 (grub_emu_SOURCES): Likewise.
20548 (pkgdata_MODULES): Add ufs.mod and minix.mod.
20549 (ufs_mod_SOURCES): New variable.
20550 (ufs_mod_CFLAGS): Likewise.
20551 (minix_mod_SOURCES): Likewise.
20552 (minix_mod_CFLAGS): Likewise.
20553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
20554 fs/minix.c.
20555 (grubof_SOURCES): Likewise.
20556 * fs/ufs.c: New file.
20557 * fs/minix.c: New file.
20558 * include/grub/fs.h (grub_ufs_init): New prototype.
20559 (grub_ufs_fini): Likewise.
20560 (grub_minix_init): Likewise.
20561 (grub_minix_fini): Likewise.
20562 * util/grub-emu.c (main): Initialize and deinitialize UFS and
20563 minix fs.
20564
cc2e748a 205652004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
20566
20567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
20568 commands/ls.c, commands/terminal.c, commands/boot.c,
20569 commands/cmp.c and commands/cat.c.
20570 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
20571
20572 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
20573 "env.h"
20574
4b13b216 205752004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20576
20577 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
20578 and grub_, respectively. Because the conversion is trivial and
20579 mechanical, I omit the details here. Please refer to the CVS
20580 if you need more information.
20581
6a142551 205822004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20583
20584 * include/pupa: Renamed to ...
20585 * include/grub: ... this.
20586 * util/i386/pc/pupa-mkimage.c: Renamed to ...
20587 * util/i386/pc/grub-mkimage.c: ... this.
20588 * util/i386/pc/pupa-setup.c: Renamed to ...
20589 * util/i386/pc/grub-setup.c: ... this.
20590 * util/pupa-emu.c: Renamed to ...
20591 * util/grub-emu.c: ... this.
20592
e56cdf21 205932004-03-29 Marco Gerards <metgerards@student.han.nl>
20594
20595 Add support for the newworld apple macintosh (PPC). This has been
20596 tested on the powerbook 2000 only. It only adds support for
20597 generic ieee1275 functions, console and disk support. This should
20598 be easy to port to other architectures with support for Open
20599 Firmware.
f19dbdb7 20600
e56cdf21 20601 * configure.ac: Accept the powerpc as host_cpu. In the case of
20602 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
20603 specific tests are only executed while building for the i386.
20604 Inverse test for crosscompile.
20605 * genmk.rb (Utility): Allow assembler files.
20606 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
20607 * conf/powerpc-ieee1275.rmk: New file.
20608 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
20609 * disk/powerpc/ieee1275/partition.c: Likewise.
20610 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
20611 * include/pupa/powerpc/ieee1275/console.h: Likewise.
20612 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
20613 * include/pupa/powerpc/ieee1275/time.h: Likewise.
20614 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
20615 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
20616 * include/pupa/powerpc/ieee1275/loader.h
20617 * include/pupa/powerpc/setjmp.h: Likewise.
20618 * include/pupa/powerpc/types.h: Likewise.
20619 * kern/powerpc/ieee1275/init.c: Likewise.
20620 * kern/powerpc/ieee1275/openfw.c: Likewise.
20621 * term/powerpc/ieee1275/ofconsole.c: Likewise.
20622
20623 These files were written by Johan Rydberg
20624 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 20625
e56cdf21 20626 * boot/powerpc/ieee1275/cmain.c: New file.
20627 * boot/powerpc/ieee1275/crt0.S: Likewise.
20628 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
20629 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
20630
8c8cc205 206312004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
20632
20633 * Makefile.in: Update copyright.
20634 * genmodsrc.sh: Likewise.
20635 * gensymlist.sh: Likewise.
20636 * term/i386/pc/vga.c: Indent correctly.
20637
20638 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
20639 bugreporting address.
20640 * util/i386/pc/pupa-setup.c (usage): Likewise,
20641 (main): Call pupa_ext2_init and pupa_ext2_fini.
20642
f19dbdb7 20643 * fs/fat.c (log2): Renamed to ...
8c8cc205 20644 (fat_log2): ... this.
20645 All callers changed.
20646 * kern/misc.c (memcpy): Alias to pupa_memmove.
20647 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
20648 lvalue cast.
20649 * util/console.c (pupa_ncurses_fini): Return 0.
20650
20651 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
20652 Move fail label here.
20653 [__GNU__]: Don't warn when using stat.
20654 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
20655 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
20656 long int. Use strtol instead of strtoul.
f19dbdb7 20657
db1771cf 206582004-03-14 Marco Gerards <metgerards@student.han.nl>
20659
20660 * commands/boot.c: New file.
20661 * commands/cat.c: Likewise.
20662 * commands/cmp.c: Likewise.
20663 * commands/ls.c: Likewise.
20664 * commands/terminal.c: Likewise.
20665 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
20666 (pupa_register_command): Changed interface to match the new
20667 argument parser.
20668 (pupa_command_execute): Changed (almost rewritten) so it uses
20669 pupa_split_command. Added support for setting variables using the
20670 syntax `foo=bar'.
20671 (rescue_command): Changed to work with the new argument parser.
20672 (terminal_command): Moved from here to commands/terminal.c.
20673 (set_command): New function.
20674 (unset_command): New function.
20675 (insmod_command): New function.
20676 (rmmod_command): New function.
20677 (lsmod_command): New function.
20678 (pupa_command_init): Don't initialize the command terminal
20679 anymore. Initialize the commands set, unset, insmod, rmmod and
20680 lsmod.
20681 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
20682 (kernel_img_HEADERS): Add arg.h and env.h.
20683 (pupa_mkimage_LDFLAGS): Add kern/env.c.
20684 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
20685 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
20686 normal/arg.c.
20687 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
20688 terminal.mod.
20689 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
20690 (boot_mod_SOURCES): New variable.
20691 (terminal_mod_SOURCES): Likewise.
20692 (ls_mod_SOURCES): Likewise.
20693 (cmp_mod_SOURCES): Likewise.
20694 (cat_mod_SOURCES): Likewise.
20695
20696 * normal/arg.c: New file.
20697 * kern/env.c: Likewise.
20698 * include/pupa/arg.h: Likewise.
20699 * include/pupa/env.h: Likewise.
20700 * font/manager.c (font_command): Changed to match argument parsing
20701 interface changes.
20702 (PUPA_MOD_INIT): Likewise.
20703 * hello/hello.c (pupa_cmd_hello): Likewise.
20704 (PUPA_MOD_INIT): Likewise.
20705 * include/pupa/disk.h: Include <pupa/device.h>.
20706 (pupa_print_partinfo): New prototype.
20707 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
20708 (pupa_dl_get_prefix): Likewise.
20709 * include/pupa/misc.h: Include <pupa/err.h>.
20710 (pupa_isgraph): New prototype.
20711 (pupa_isdigit): Likewise.
20712 (pupa_split_cmdline): Likewise.
20713 * include/pupa/normal.h: Include <pupa/arg.h>.
20714 (pupa_command): Changed the prototype of the member `func' to
20715 match the argument parsing interface. Added member `options'.
20716 (pupa_register_command): Updated to match function.
20717 (pupa_arg_parse): New prototype.
20718 (pupa_hello_init) [PUPA_UTIL]: New prototype.
20719 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
20720 (pupa_ls_init) [PUPA_UTIL]: Likewise.
20721 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
20722 (pupa_cat_init) [PUPA_UTIL]: Likewise.
20723 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
20724 (pupa_boot_init) [PUPA_UTIL]: Likewise.
20725 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
20726 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
20727 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
20728 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
20729 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
20730 * kern/disk.c: Include <pupa/file.h>.
20731 (pupa_print_partinfo): New function.
20732 * kern/dl.c: Include <pupa/env.h>.
20733 (pupa_dl_dir): Variable removed.
20734 (pupa_dl_load): Use the environment variable `prefix' instead of
20735 the variable pupa_dl_dir.
20736 (pupa_dl_set_prefix): Function removed.
20737 (pupa_dl_get_prefix): Likewise.
20738 * kern/i386/pc/init.c: Include <pupa/env.h>.
20739 (pupa_machine_init): Use the environment variable `prefix' instead of
20740 using pupa_dl_set_prefix to set the prefix.
20741 * kern/main.c: Include <pupa/env.h>.
20742 (pupa_set_root_dev): Use the environment variable `prefix' instead of
20743 using pupa_dl_get_prefix to get the prefix.
20744 * kern/misc.c: Include <pupa/env.h>.
20745 (pupa_isdigit): New function.
20746 (pupa_isgraph): Likewise.
20747 (pupa_ftoa): Likewise.
20748 (pupa_vsprintf): Added support for printing values of the type
20749 `double'. Make it possible to format variable output when using
20750 formatting like `%1.2%f'.
20751 (pupa_split_cmdline): New function.
20752 * kern/rescue.c: Include <pupa/env.h>.
20753 (next_word): Removed function.
20754 (pupa_rescue_cmd_prefix): Likewise.
20755 (pupa_rescue_cmd_set): New function.
20756 (pupa_rescue_cmd_unset): New function.
20757 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
20758 split the command line instead of splitting it here. Added
20759 support for setting variables using the syntax `foo=bar'. Don't
20760 initialize the prefix command anymore. Initialized the set and
20761 unset commands.
20762 * normal/cmdline.c: Include <pupa/env.h>.
20763 (pupa_tab_complete): Added prototypes for print_simple_completion,
20764 print_partition_completion, add_completion, iterate_commands,
20765 iterate_dev, iterate_part and iterate_dir. Moved code to print
20766 partition information from here to kern/disk.c.
fe6b695a 20767 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 20768 * normal/main.c: Include <pupa/env.h>.
20769 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
20770 instead of using pupa_dl_get_prefix to get the prefix.
20771 * term/i386/pc/vga.c: Include <pupa/arg.h>.
20772 (check_vga_mem): Cast pointers to `void *' to silence a gcc
20773 warning.
20774 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
20775 (pupa_vga_setcolor): Declare unused variables with `__attribute__
20776 ((unused))' to silence a gcc warning.
20777 (pupa_vga_setcolor): Likewise.
20778 (debug_command): Changed to match argument parsing
20779 interface changes.
20780 * util/pupa-emu.c: Include <pupa/env.h>.
20781 (options): Added 0's for unused fields to silence a gcc warning.
20782 (argp): Likewise.
20783 (main): Use the environment variable `prefix' instead of using
20784 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
20785 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
20786 and terminal.
20787
20788 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
20789 * util/misc.c: Include <malloc.h>.
20790 (pupa_malloc): Rewritten so errors are correctly reported.
20791 (pupa_realloc): Likewise.
20792 (pupa_memalign): Likewise.
20793 (pupa_mm_init_region): Declare unused variables with
20794 `__attribute__ ((unused))' to silence a gcc warning.
20795 * normal/i386/setjmp.S: Remove tab at the end of the file to
20796 silence a gcc warning.
20797 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
20798 variables with `__attribute__ ((unused))' to silence a gcc
20799 warning.
20800 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
20801 local variable i unsigned to silence a gcc warning.
20802
20803 * kern/term.c: Include <pupa/misc.h>.
20804 (pupa_more_lines): New variable.
20805 (pupa_more): Likewise.
20806 (pupa_putcode): When the pager is active pause at the end of every
20807 screen.
20808 (pupa_set_more): New function.
20809 * include/pupa/term.h (pupa_set_more): New prototype.
20810
20811
3b1139cb 208122004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
20813
20814 Now this project is GRUB 2 rather than PUPA. The location of
20815 the CVS repository was moved to GRUB's.
f19dbdb7 20816
3b1139cb 20817 * configure.ac: Use bug-grub as the reporting address.
20818 Use GRUB instead of PUPA.
20819 Change the version number to 1.90.
20820
8367695c 208212004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
20822
20823 * genkernsyms.sh: Updated copyright information.
20824 * genmk.rb: Likewise.
20825 * genmodsrc.sh: Likewise.
20826 * gensymlist.sh: Likewise.
20827 * boot/i386/pc/boot.S: Likewise.
20828 * boot/i386/pc/diskboot.S: Likewise.
20829 * disk/i386/pc/biosdisk.c: Likewise.
20830 * disk/i386/pc/partition.c: Likewise.
20831 * font/manager.c: Likewise.
20832 * fs/ext2.c: Likewise.
20833 * fs/fat.c: Likewise.
20834 * include/pupa/boot.h: Likewise.
20835 * include/pupa/device.h: Likewise.
20836 * include/pupa/disk.h: Likewise.
20837 * include/pupa/dl.h: Likewise.
20838 * include/pupa/elf.h: Likewise.
20839 * include/pupa/err.h: Likewise.
20840 * include/pupa/file.h: Likewise.
20841 * include/pupa/font.h: Likewise.
20842 * include/pupa/fs.h: Likewise.
20843 * include/pupa/kernel.h: Likewise.
20844 * include/pupa/loader.h: Likewise.
20845 * include/pupa/misc.h: Likewise.
20846 * include/pupa/mm.h: Likewise.
20847 * include/pupa/net.h: Likewise.
20848 * include/pupa/normal.h: Likewise.
20849 * include/pupa/rescue.h: Likewise.
20850 * include/pupa/setjmp.h: Likewise.
20851 * include/pupa/symbol.h: Likewise.
20852 * include/pupa/term.h: Likewise.
20853 * include/pupa/types.h: Likewise.
20854 * include/pupa/i386/setjmp.h: Likewise.
20855 * include/pupa/i386/types.h: Likewise.
20856 * include/pupa/i386/pc/biosdisk.h: Likewise.
20857 * include/pupa/i386/pc/boot.h: Likewise.
20858 * include/pupa/i386/pc/console.h: Likewise.
20859 * include/pupa/i386/pc/init.h: Likewise.
20860 * include/pupa/i386/pc/kernel.h: Likewise.
20861 * include/pupa/i386/pc/linux.h: Likewise.
20862 * include/pupa/i386/pc/loader.h: Likewise.
20863 * include/pupa/i386/pc/memory.h: Likewise.
20864 * include/pupa/i386/pc/multiboot.h: Likewise.
20865 * include/pupa/i386/pc/partition.h: Likewise.
20866 * include/pupa/i386/pc/time.h: Likewise.
20867 * include/pupa/i386/pc/vga.h: Likewise.
20868 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
20869 * include/pupa/util/getroot.h: Likewise.
20870 * include/pupa/util/misc.h: Likewise.
20871 * include/pupa/util/resolve.h: Likewise.
20872 * kern/device.c: Likewise.
20873 * kern/disk.c: Likewise.
20874 * kern/dl.c: Likewise.
20875 * kern/err.c: Likewise.
20876 * kern/file.c: Likewise.
20877 * kern/fs.c: Likewise.
20878 * kern/loader.c: Likewise.
20879 * kern/main.c: Likewise.
20880 * kern/misc.c: Likewise.
20881 * kern/mm.c: Likewise.
20882 * kern/rescue.c: Likewise.
20883 * kern/term.c: Likewise.
20884 * kern/i386/dl.c: Likewise.
20885 * kern/i386/pc/init.c: Likewise.
20886 * kern/i386/pc/lzo1x.S: Likewise.
20887 * kern/i386/pc/startup.S: Likewise.
20888 * loader/i386/pc/chainloader.c: Likewise.
20889 * loader/i386/pc/linux.c: Likewise.
20890 * loader/i386/pc/multiboot.c: Likewise.
20891 * normal/cmdline.c: Likewise.
20892 * normal/command.c: Likewise.
20893 * normal/main.c: Likewise.
20894 * normal/menu.c: Likewise.
20895 * normal/i386/setjmp.S: Likewise.
20896 * term/i386/pc/console.c: Likewise.
20897 * term/i386/pc/vga.c: Likewise.
20898 * util/console.c: Likewise.
20899 * util/genmoddep.c: Likewise.
20900 * util/misc.c: Likewise.
20901 * util/pupa-emu.c: Likewise.
20902 * util/resolve.c: Likewise.
20903 * util/unifont2pff.rb: Likewise.
20904 * util/i386/pc/biosdisk.c: Likewise.
20905 * util/i386/pc/getroot.c: Likewise.
20906 * util/i386/pc/pupa-mkimage.c: Likewise.
20907 * util/i386/pc/pupa-setup.c: Likewise.
20908
e6eced71 209092004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
20910
20911 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
20912 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
20913 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
20914 reading and reset it after reading.
20915 (pupa_ext2_close): Return PUPA_ERR_NONE.
20916
20917 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
20918 Correct value.
20919 (struct linux_kernel_header): Add kernel_version and
20920 initrd_addr_max.
20921 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
20922 pupa_file_read succeeds.
20923 (pupa_rescue_cmd_initrd): Implement.
20924
5aded270 209252003-12-03 Marco Gerards <metgerards@student.han.nl>
20926
20927 * fs/ext2.c (pupa_ext2_label): New function.
20928 (pupa_ext2_fs): Added label.
20929 * fs/fat.c (pupa_fat_label): New function.
20930 (pupa_fat_fs): Added label.
20931 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
20932
20933 * kern/misc.c (pupa_strndup): New function.
20934 * include/pupa/misc.h (pupa_strndup): New prototype.
20935
20936 * include/pupa/normal.h: Include <pupa/err.h>.
20937 (pupa_set_history): New prototype.
20938 (pupa_iterate_commands): New prototype.
20939 * normal/cmdline.c: Include <pupa/machine/partition.h>,
20940 <pupa/disk.h>, <pupa/file.h>.
20941 (hist_size): New variable.
20942 (hist_lines): Likewise.
20943 (hist_end): Likewise.
20944 (hist_used): Likewise.
20945 (pupa_set_history): New function.
20946 (pupa_history_get): Likewise.
20947 (pupa_history_add): Likewise.
20948 (pupa_history_replace): Likewise.
20949 (pupa_tab_complete): Likewise.
20950 (pupa_cmdline_run): Added tab completion and history buffer. Tab
20951 completion shows partitionnames while completing partitions, this
20952 feature was suggested by Jeff Bailey.
20953 * normal/command.c (pupa_iterate_commands): New function.
20954 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
20955 (pupa_normal_init): Initialize history buffer.
20956 (PUPA_MOD_INIT): Likewise.
20957 (pupa_normal_fini): Free the history buffer.
20958 (PUPA_MOD_FINI): Likewise.
20959
20960 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
20961 key.
20962
20963 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
20964 * configure.ac [i386]: Check for regparam bug.
20965 (NESTED_FUNC_ATTR) [! i386]: Defined.
20966
1f7315a3 209672003-11-17 Marco Gerards <metgerards@student.han.nl>
20968
20969 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
20970 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
20971 (pupa_emu_SOURCES): New variable.
20972 (pupa_emu_LDFLAGS): Likewise.
20973 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
20974 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
20975 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
20976 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20977 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
20978 (pupa_jmp_buf): New typedef.
20979 (pupa_setjmp) [PUPA_UTIL]: New macro.
20980 (pupa_longjmp) [PUPA_UTIL]: Likewise.
20981 * include/pupa/term.h (struct pupa_term): New member `refresh'.
20982 (pupa_refresh): New prototype.
20983 * include/pupa/util/getroot.h: New file.
20984 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
20985 it.
20986 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
20987 (pupa_rescue_cmd_cat): Likewise.
20988 (pupa_rescue_cmd_ls): Likewise.
20989 (pupa_rescue_cmd_testload): Likewise.
20990 (pupa_rescue_cmd_lsmod): Likewise.
20991 * normal/cmdline.c (pupa_cmdline_get): Likewise.
20992 * normal/menu.c (run_menu): Likewise.
20993 * kern/term.c (pupa_cls): Likewise.
20994 (pupa_refresh): New function.
20995 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
20996 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20997 * util/console.c: New file.
f19dbdb7 20998
1f7315a3 20999 * util/i386/pc/getroot.c: New file.
21000 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
21001 (pupa_putchar): New function.
21002 (pupa_refresh): Likewise.
21003 (xgetcwd): Function moved to ...
21004 (strip_extra_slashes): Likewise.
21005 (get_prefix): Likewise.
f19dbdb7 21006 * util/i386/pc/getroot.c: ... here.
1f7315a3 21007 (find_root_device): Function moved and renamed to...
21008 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
21009 Changed all callers.
21010 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
21011 and renamed to...
21012 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
21013 Changed all callers.
21014 * util/misc.c (pupa_memalign): New function.
21015 (pupa_mm_init_region): Likewise.
21016 (pupa_register_exported_symbols): Likewise.
21017 (pupa_putchar): Function removed.
21018 * util/pupa-emu.c: New file.
21019
9a5c1ade 210202003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
21021
21022 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
21023 (_multiboot_mod_SOURCES): New variable.
21024 (_multiboot_mod_CFLAGS): Likewise.
21025 * loader/i386/pc/multiboot.c: New file.
21026 * include/pupa/i386/pc/multiboot.h: Likewise.
21027 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
21028 (pupa_multiboot_real_boot): New function.
21029 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
21030 (pupa_multiboot_real_boot): New prototype.
21031 (pupa_rescue_cmd_multiboot): Likewise
21032 (pupa_rescue_cmd_module): Likewise.
21033
21034 * kern/loader.c (pupa_loader_set): Continue when
21035 pupa_loader_unload_func() fails.
21036 (pupa_loader_unset): New function.
21037 * include/pupa/loader.h (pupa_loader_unset): New prototype.
21038
21039 * kern/misc.c (pupa_stpcpy): New function.
21040 * include/pupa/misc.h (pupa_stpcpy): New prototype.
21041
8e72a9c0 210422003-11-12 Marco Gerards <metgerards@student.han.nl>
21043
21044 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
21045 for available extensions.
21046
21047 * include/pupa/i386/pc/time.h: New file.
21048 * kern/disk.c: Include <pupa/machine/time.h>.
21049 (PUPA_CACHE_TIMEOUT): New macro.
21050 (pupa_last_time): New variable.
21051 (pupa_disk_open): Flush the cache when there was a timeout.
21052 (pupa_disk_close): Reset the timer.
21053 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
21054 pupa_currticks.
21055 * util/misc.c: Include <sys/times.h>
21056 (pupa_get_rtc): New function.
21057
c4adbd32 210582003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21059
21060 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
21061 as blocks.
21062 (pupa_ext2_get_file_block): Use blocks member.
21063
21064 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
21065 first block. Return -1 instead of pupa_errno on error.
21066
bfd30f06 210672003-10-27 Marco Gerards <metgerards@student.han.nl>
21068
21069 * README: In the pupa-mkimage example use _chain instead of chain
21070 and ext2 instead of fat.
21071 * TODO: Replace ext2fs with jfs as an example. Add an item for
21072 adding journal playback for ext2fs.
21073 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
21074 (pkgdata_MODULES): Added ext2.mod.
21075 (ext2_mod_SOURCES): New variable.
21076 (ext2_mod_CFLAGS): Likewise.
21077 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
21078 * include/pupa/misc.h (pupa_strncpy): New prototype.
21079 (pupa_strcat): Likewise.
21080 (pupa_strncmp): Likewise.
21081 * kern/misc.c (pupa_strcat): Enable function.
21082 (pupa_strncpy): New function.
21083 (pupa_strncmp): Likewise.
21084 * fs/ext2.c: New file.
f19dbdb7 21085
bfd30f06 21086 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
21087 when the read failed before retrying.
21088 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
21089 (_FILE_OFFSET_BITS): Likewise.
21090 * configure.ac: Added AC_SYS_LARGEFILE.
21091
98d15063 210922003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
21093
21094 * genmk.rb (PModule#rule): Make sure to get only symbol names
21095 from the output of nm.
21096 Reported by Robert Millan <zeratul2@wanadoo.es>.
21097
18d9c7cd 210982003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
21099
21100 I forgot to check in these changes for a long time. This adds
21101 incomplete support for VGA console, and this is still very
21102 buggy. Also, a lot of consideration is required for I18N,
21103 UNICODE, and VGA font issues. Therefore, assume that this is
21104 such that "better than nothing".
f19dbdb7 21105
18d9c7cd 21106 * font/manager.c: New file.
21107 * include/pupa/font.h: Likewise.
21108 * include/pupa/i386/pc/vga.h: Likewise.
21109 * term/i386/pc/vga.c: Likewise.
21110 * util/unifont2pff.rb: Likewise.
21111
21112 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
21113 (pkgdata_MODULES): Added vga.mod and font.mod.
21114 (vga_mod_SOURCES): New variables.
21115 (vga_mod_CFLAGS): Likewise.
21116 (font_mod_SOURCES): Likewise.
21117 (font_mod_CFLAGS): Likewise.
21118
21119 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
21120
21121 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 21122 (struct pupa_term): Added init and fini.
18d9c7cd 21123 Changed the argument of putchar to pupa_uint32_t.
21124
21125 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
21126 (pupa_console_real_putchar): New prototype.
21127 (pupa_console_putchar): Removed.
21128 (pupa_console_checkkey): Exported.
21129 (pupa_console_getkey): Likewise.
21130
21131 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
21132 characters.
21133
21134 * kern/term.c (pupa_term_set_current): Rewritten.
21135 (pupa_putchar): Likewise.
21136 (pupa_putcode): New function.
21137
21138 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
21139 (pupa_console_real_putchar): ... this.
21140 (pupa_vga_set_mode): New function.
21141 (pupa_vga_get_font): Likewise.
21142
21143 * normal/command.c: Include pupa/term.h.
21144 (terminal_command): New function.
21145 (pupa_command_init): Register the command "terminal".
21146
21147 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
21148 (DISP_UP): Likewise.
21149 (DISP_RIGHT): Likewise.
21150 (DISP_DOWN): Likewise.
21151 (DISP_HLINE): Likewise.
21152 (DISP_VLINE): Likewise.
21153 (DISP_UL): Likewise.
21154 (DISP_UR): Likewise.
21155 (DISP_LL): Likewise.
21156 (DISP_LR): Likewise.
21157
21158 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 21159
977329f5 211602003-02-08 NIIBE Yutaka <gniibe@m17n.org>
21161
21162 * util/resolve.c (pupa_util_resolve_dependencies): BUG
21163 FIX. Reverse the path_list.
21164
21165 * include/pupa/normal.h: Export pupa_register_command and
21166 pupa_unregister_command.
21167
21168 * hello/hello.c (pupa_cmd_hello): New module.
21169 * conf/i386-pc.rmk: Added hello.mod.
21170
1f5ab428 211712003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
21172
21173 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 21174
1f5ab428 21175 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
21176 (compress_kernel): New variable.
21177 (generate_image): Heavily modified to support compressing a
21178 large part of the core image.
21179
21180 * util/misc.c (pupa_util_read_image): Fix a file descriptor
21181 leak.
21182 (pupa_util_load_image): New function.
21183
21184 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
21185 (pupa_compressed_size): New variable.
21186 (codestart): Enable Gate A20 here.
21187 Decompress the compressed part of the core image.
21188 Rearrange the code to put functions and variables which are
21189 required for initialization in the non-compressed part.
21190 Include lzo1x.S.
21191
21192 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
21193 here.
21194
21195 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
21196
f19dbdb7 21197 * include/pupa/i386/pc/kernel.h
1f5ab428 21198 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
21199 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
21200 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21201 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21202 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
21203
21204 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
21205
21206 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
21207 (Utility#rule): Likewise.
21208
21209 * configure.ac: Check if LZO is available.
21210
ce5bf700 212112003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
21212
21213 * include/pupa/normal.h: New file.
21214 * include/pupa/setjmp.h: Likewise.
21215 * include/pupa/i386/setjmp.h: Likewise.
21216 * normal/cmdline.c: Likewise.
21217 * normal/command.c: Likewise.
21218 * normal/main.c: Likewise.
21219 * normal/menu.c: Likewise.
21220 * normal/i386/setjmp.S: Likewise.
f19dbdb7 21221
ce5bf700 21222 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
21223 (pupa_rescue_cmd_initrd): Likewise.
21224
21225 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
21226 Likewise.
21227
21228 * kern/i386/pc/startup.S (translation_table): New variable.
21229 (translate_keycode): New function.
21230 (pupa_console_getkey): Call translate_keycode.
21231
21232 * kern/rescue.c (attempt_normal_mode): New function.
21233 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
21234 it failed, print a message.
21235
21236 * kern/mm.c (pupa_real_malloc): Print more information when a
21237 free magic is broken.
21238 (pupa_free): If the first free header is not free actually, set
21239 it to P.
21240
21241 * kern/main.c (pupa_load_normal_mode): Just load the module
21242 "normal".
21243 (pupa_main): Don't print the message
21244 "Entering into rescue mode..." here.
21245
21246 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
21247 Declared.
21248 (pupa_rescue_cmd_initrd): Likewise.
21249 (pupa_rescue_cmd_initrd): Likewise.
21250
21251 * include/pupa/symbol.h (FUNCTION): Specify the type.
21252 (VARIABLE): Likewise.
21253
21254 * include/pupa/err.h (pupa_err_t): Added
21255 PUPA_ERR_UNKNOWN_COMMAND.
21256
21257 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
21258 (pupa_dl_get_prefix): Likewise.
21259
21260 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
21261 Added _chain.mod and _linux.mod instead of chain.mod and
21262 linux.mod.
21263 (chain_mod_SOURCES): Renamed to ...
21264 (_chain_mod_SOURCES): ... this.
21265 (chain_mod_CFLAGS): Renamed to ...
21266 (_chain_mod_CFLAGS): ... this.
21267 (linux_mod_SOURCES): Renamed to ...
21268 (_linux_mod_SOURCES): ... this.
21269 (linux_mod_CFLAGS): Renamed to ...
21270 (_linux_mod_CFLAGS): ... this.
21271 (normal_mod_SOURCES): New variable.
21272 (normal_mod_CFLAGS): Likewise.
21273 (normal_mod_ASFLAGS): Likewise.
21274
212752003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
21276
21277 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
21278 possible.
21279
fe6b695a 21280 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 21281 recursively.
21282 (pupa_dl_unref): Unrefer depending modules recursively.
21283 Don't call pupa_dl_unload implicitly, because PUPA can crash if
21284 a module is unloaded before one depending on that module is
21285 unloaded.
21286 (pupa_dl_unload): Unload depending modules explicitly,
21287 if possible.
21288
c04da074 212892003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
21290
21291 * include/pupa/i386/pc/linux.h: New file.
21292 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 21293
c04da074 21294 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
21295 Removed.
21296 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
21297 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
21298 of PUPA_CHAINLOADER_BOOT_SECTOR.
21299
21300 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
21301 (pupa_linux_prot_size): New variable.
21302 (pupa_linux_tmp_addr): Likewise.
21303 (pupa_linux_real_addr): Likewise.
21304 (pupa_linux_boot_zimage): New function.
21305 (pupa_linux_boot_bzimage): Likewise.
21306
21307 * kern/i386/pc/init.c (struct mem_region): New structure.
21308 (MAX_REGIONS): New macro.
21309 (mem_regions): New variable.
21310 (num_regions): Likewise.
21311 (pupa_os_area_addr): Likewise.
21312 (pupa_os_area_size): Likewise.
21313 (pupa_lower_mem): Likewise.
21314 (pupa_upper_mem): Likewise.
21315 (add_mem_region): New function.
21316 (compact_mem_regions): Likewise.
21317 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
21318 the size of the conventional memory and that of so-called upper
21319 memory (before the first memory hole).
21320 Instead of adding each found region to free memory, use
21321 add_mem_region and add them after removing overlaps.
21322 Also, add only 1/4 of the upper memory to free memory. The rest
21323 is used for loading OS images. Maybe this is ad hoc, but this
21324 makes it much easier to relocate OS images when booting.
21325
21326 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
21327 (pupa_enter_rescue_mode): Don't register initrd and module.
21328
21329 * kern/mm.c: Include pupa/dl.h.
21330
21331 * kern/main.c: Include pupa/file.h and pupa/device.h.
21332
21333 * kern/loader.c (pupa_loader_load_module_func): Removed.
21334 (pupa_loader_load_module): Likewise.
21335
21336 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
21337 ``.o''.
21338
21339 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
21340 (pupa_linux_tmp_addr): Likewise.
21341 (pupa_linux_real_addr): Likewise.
21342 (pupa_linux_boot_zimage): Likewise.
21343 (pupa_linux_boot_bzimage): Likewise.
21344
21345 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
21346 (pupa_upper_mem): Likewise.
21347 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
21348 module is too dangerous.
21349
21350 * include/pupa/loader.h (pupa_os_area_addr): Declared.
21351 (pupa_os_area_size): Likewise.
21352 (pupa_loader_set): Remove the first argument. Loader doesn't
21353 manage modules or initrd any longer.
21354 (pupa_loader_load_module): Removed.
21355
21356 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
21357 (linux_mod_SOURCES): New variable.
21358 (linux_mod_CFLAGS): Likewise.
21359
a13f9237 213602003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
21361
21362 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
21363 the length of a blocklist correctly.
21364
21365 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
21366 Use ioctl only if the OS file is a block device.
21367 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
21368 not very useful for normal files.
21369
21370 * kern/main.c (pupa_set_root_dev): New function.
21371 (pupa_load_normal_mode): Likewise.
21372 (pupa_main): Call those above.
21373
21374 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
21375 pupa_uint16_t.
21376
21377 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
21378
a5ffe966 213792003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21380
21381 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
21382 (setup): Configure the installed partition information and the
21383 dl prefix.
21384
21385 * loader/i386/pc/chainloader.c (my_mod): New variable.
21386 (pupa_chainloader_unload): New function.
21387 (pupa_rescue_cmd_chainloader): Refer itself.
21388 (PUPA_MOD_INIT): Save its own module in MY_MOD.
21389
21390 * kern/i386/pc/startup.S (install_partition): Removed.
21391 (version_string): Likewise.
21392 (config_file): Likewise.
21393 (pupa_install_dos_part): New variable.
21394 (pupa_install_bsd_part): Likewise.
21395 (pupa_prefix): Likewise.
21396 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
21397
21398 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
21399 and pupa/misc.h.
21400 (make_install_device): New function.
21401 (pupa_machine_init): Set the dl prefix.
21402
21403 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
21404 (buf): Renamed to ...
21405 (linebuf): ... this.
21406 (pupa_rescue_cmd_prefix): New function.
21407 (pupa_rescue_cmd_insmod): Likewise.
21408 (pupa_rescue_cmd_rmmod): Likewise.
21409 (pupa_rescue_cmd_lsmod): Likewise.
21410 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
21411 rmmod and lsmod.
21412
21413 * kern/mm.c (pupa_memalign): If failed even after invalidating
21414 disk caches, unload unneeded modules and retry.
21415
21416 * kern/misc.c (pupa_memmove): New function.
21417 (pupa_memcpy): Removed.
21418 (pupa_strcpy): New function.
21419 (pupa_itoa): Made static.
21420
21421 * kern/dl.c (pupa_dl_iterate): New function.
21422 (pupa_dl_ref): Likewise.
21423 (pupa_dl_unref): Likewise.
21424 (pupa_dl_unload): Return if succeeded or not.
21425 (pupa_dl_unload_unneeded): New function.
21426 (pupa_dl_unload_all): Likewise.
21427 (pupa_dl_init): Renamed to ...
21428 (pupa_dl_set_prefix): ... this.
21429 (pupa_dl_get_prefix): New function.
21430
21431 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
21432 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
21433 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21434 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21435 (pupa_install_dos_part): Declared.
21436 (pupa_install_bsd_part): Likewise.
21437 (pupa_prefix): Likewise.
21438 (pupa_boot_drive): Likewise.
21439
21440 * include/pupa/types.h: Fix a typo.
21441
21442 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
21443 pupa_memmove.
21444 (pupa_memmove): Declared.
21445 (pupa_strcpy): Likewise.
21446
21447 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
21448 pupa_mod_init takes one argument, its own module.
21449 (pupa_dl_unload_unneeded): Declared.
21450 (pupa_dl_unload_all): Likewise.
21451 (pupa_dl_ref): Likewise.
21452 (pupa_dl_unref): Likewise.
21453 (pupa_dl_iterate): Likewise.
21454 (pupa_dl_init): Renamed to ...
21455 (pupa_dl_set_prefix): ... this.
21456 (pupa_dl_get_prefix): Declared.
21457
21458 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 21459 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 21460 unloaded.
21461 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
21462 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
21463
21464 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
21465 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
21466
012d7999 214672003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21468
21469 * util/i386/pc/pupa-setup.c (setup): Define the internal
21470 function find_first_partition_start at the top level, because GCC
21471 3.0.x cannot compile internal functions in deeper scopes
21472 correctly.
21473 (find_root_device): Use lstat instead of stat.
21474 Don't follow symbolic links.
21475 Fix the path-constructing code.
21476
21477 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
21478 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
21479 by a BLKGETSIZE ioctl first, because block devices don't fill
21480 the member st_mode of the structure stat on Linux.
21481 [__linux__] (linux_find_partition): Use a temporary buffer
21482 REAL_DEV for the working space. Copy it to DEV before returning.
21483 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
21484 buffer cache consistent.
21485 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
21486 strncmp. The previous value was merely wrong.
21487 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
21488
21489 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
21490 FAT size is 12. The previous value was merely wrong.
21491
21492 * kern/main.c (pupa_main): Don't split the starting message from
21493 newlines.
21494
21495 * kern/term.c (pupa_putchar): Put CR after LF instead of before
21496 LF, because BIOS goes crazy about character attributes in this
21497 case.
21498
1cc73a62 214992003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21500
21501 * include/i386/pc/util/biosdisk.h: New file.
21502 * util/i386/pc/biosdisk.c: Likewise.
21503 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 21504
1cc73a62 21505 * Makefile.in (INCLUDE_DISTFILES): Added
21506 include/pupa/i386/pc/util/biosdisk.h.
21507 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
21508 directory util/i386/pc.
21509 (install-local): Added a rule for sbin_UTILITIES.
21510 (uninstall): Likewise.
21511
21512 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
21513
21514 * util/misc.c (xrealloc): New function.
21515 (pupa_malloc): Likewise.
21516 (pupa_free): Likewise.
21517 (pupa_realloc): Likewise.
21518 (pupa_stop): Likewise.
21519 (pupa_putchar): Likewise.
21520
21521 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
21522
21523 * include/pupa/util/misc.h (xrealloc): Declared.
21524
21525 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
21526 macro.
21527 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
21528 (PUPA_BOOT_MACHINE_BPB_END): ... this.
21529
21530 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
21531 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21532
21533 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
21534 way should be implemented.
21535 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21536
21537 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
21538 the size of NAME for safety.
21539 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
21540 0x88.
21541
21542 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
21543 (pupa_setup_SOURCES): Likewise.
21544
21545 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
21546
08b70fe8 215472002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21548
21549 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
21550 bunch of pushl's from pusha, because this destroys the return
21551 value.
21552
62ddcc8f 215532002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21554
21555 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
21556 This means that any missing prototypes could be fatal. Also, you
21557 must take care when writing assembly code. See the comments at
21558 the beginning of startup.S, for more details.
f19dbdb7 21559
62ddcc8f 21560 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
21561 compilation mechanism.
21562 (pupa_chainloader_real_boot): Likewise.
21563 (pupa_biosdisk_rw_int13_extensions): Likewise.
21564 (pupa_biosdisk_rw_standard): Likewise.
21565 (pupa_biosdisk_check_int13_extensions): Likewise.
21566 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
21567 (pupa_biosdisk_get_diskinfo_standard): Likewise.
21568 (pupa_get_memsize): Likewise.
21569 (pupa_get_mmap_entry): Likewise.
21570 (pupa_console_putchar): Likewise.
21571 (pupa_console_setcursor): Likewise.
21572 (pupa_getrtsecs): Use pushl instead of push.
21573
21574 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
21575 memory instead of the stack for a mmap entry, because some
21576 BIOSes may ignore the maximum size and overflow.
21577
21578 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
21579
21580 * genmk.rb (PModule#rule): Compile automatically generated
21581 sources with module-specific CFLAGS as well as other sources.
21582
9962ed99 215832002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21584
21585 * configure.ac: Check ld.
21586 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
21587 respectively, before checking endianness and sizes.
21588
21589 * Makefile.in (LD): New variable.
f19dbdb7 21590
abdfc3c5 215912002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21592
21593 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
21594
6a161fa9 215952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21596
21597 * Changelog: New file.
21598