]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Speed up consecutive hostdisk operations on the same device.
[grub2.git] / ChangeLog
CommitLineData
08e46ede
CW
12010-03-14 Colin Watson <cjwatson@ubuntu.com>
2
3 Speed up consecutive hostdisk operations on the same device.
4
5 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
6 (grub_util_biosdisk_open): Initialise disk->data.
7 (struct linux_partition_cache): New structure.
8 (linux_find_partition): Cache partition start positions; these are
9 expensive to compute on every read and write.
10 (open_device): Cache open file descriptor in disk->data, so that we
11 don't have to reopen it and flush the buffer cache for consecutive
12 operations on the same device.
13 (grub_util_biosdisk_close): New function.
14 (grub_util_biosdisk_dev): Set `close' member.
15
16 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21
4a6d2d06
VS
222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23
24 Compile parts of grub-emu as modules.
25
26 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29 (all-local): Add $(GRUB_EMU).
30 (install-local): Install $(GRUB_EMU).
31 (uninstall): Uninstall $(GRUB_EMU).
32 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
33 * kern/dl.c: Likewise.
34 * commands/sleep.c: Not include machine/time.h.
35 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
36 (COMMON_CFLAGS): Likewise.
37 (sbin_UTILITIES): Remove grub-emu.
38 (grub_emu_SOURCES): Removed.
39 (kernel_img_RELOCATABLE): New variable.
40 (pkglib_PROGRAMS): Add kernel.img.
41 (kernel_img_SOURCES): New variable
42 (kernel_img_CFLAGS): Likewise.
43 (kernel_img_LDFLAGS): Likewise.
44 (TARGET_NO_STRIP): Likewise.
45 (TARGET_NO_DYNAMIC_MODULES): Likewise.
46 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
47 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
48 (grub-emu): New target.
49 (GRUB_EMU): New variable.
50 * configure.ac: Whitelist -emu as possible x86_64 architecture.
51 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
52 * loader/xnu.c: Likewise.
53 * include/grub/pci.h: Likewise.
54 * genemuinit.sh: New file.
55 * genemuinitheader.sh: Likewise.
56 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
57 Support TARGET_NO_DYNAMIC_MODULES.
58 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
59 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
60 * disk/loopback.c: Likewise.
61 * font/font_cmd.c: Likewise.
62 * partmap/acorn.c: Likewise.
63 * partmap/amiga.c: Likewise.
64 * partmap/apple.c: Likewise.
65 * partmap/gpt.c: Likewise.
66 * partmap/msdos.c: Likewise.
67 * partmap/sun.c: Likewise.
68 * parttool/msdospart.c: Likewise.
69 * term/gfxterm.c: Likewise.
70 * video/bitmap.c: Likewise.
71 * video/readers/jpeg.c: Likewise.
72 * video/readers/png.c: Likewise.
73 * video/readers/tga.c: Likewise.
74 * video/video.c: Likewise.
75 * util/grub-emu.c (read_command_list): Removed.
76 (main): Don't call util_init_nls.
77 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
78 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
79
91fdd2ed
VS
802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
83 date.mod, datehook.mod.
84 (datetime_mod_SOURCES): New variable.
85 (datetime_mod_CFLAGS): Likewise.
86 (datetime_mod_LDFLAGS): Likewise.
87 (date_mod_SOURCES): Likewise.
88 (date_mod_CFLAGS): Likewise.
89 (date_mod_LDFLAGS): Likewise.
90 (datehook_mod_SOURCES): Likewise.
91 (datehook_mod_CFLAGS): Likewise.
92 (datehook_mod_LDFLAGS): Likewise.
93 * conf/sparc64-ieee1275.rmk: Likewise.
94 * lib/ieee1275/datetime.c: New file.
95
873ccae6
VS
962010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
99 (ieee1275_fb_mod_SOURCES): New variable.
100 (ieee1275_fb_mod_CFLAGS): Likewise.
101 (ieee1275_fb_mod_LDFLAGS): Likewise.
102 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
103 New proto.
104 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
105 (HEAP_MAX_ADDR): Likewise.
106 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
107 type.
108 Correct stop condition.
109 (grub_ieee1275_devices_iterate): New function.
110 * video/ieee1275.c: New file.
111
601c97c0
VS
1122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
115
116 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
117 as scratch.
118 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
119 SCRATCH_PAD_DISKBOOT as scratch.
120 (bootit): Pass Openfirmware pointer in %o4.
121 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
122 of 0x200000.
123 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
124 with util/grub-mkrawimage.c.
125 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
126 * include/grub/aout.h (AOUT_MID_SUN): New definition.
127 (grub_aout_get_type) [GRUB_UTIL]: Removed.
128 (grub_aout_load) [GRUB_UTIL]: Likewise.
129 * include/grub/kernel.h (grub_modules_get_end): New proto.
130 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
131 (SCRATCH_PAD_BOOT): New definition.
132 (SCRATCH_PAD_DISKBOOT): Likewise.
133 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
134 * include/grub/sparc64/ieee1275/ieee1275.h
135 (grub_ieee1275_original_stack): New variable
136 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
137 New definition
138 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
139 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
140 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
141 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
142 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
143 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
144 (grub_platform_image_format_t): New type.
145 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
146 * kern/main.c (grub_modules_get_end)
147 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
148 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
149 (codestart): Switch stacks.
150 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
151 variable.
152 (grub_heap_init): Use grub_modules_get_end.
153 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
154 stack.
155 * util/grub-mkrawimage.c (generate_image): Support sparc64.
156 (main): Likewise.
157 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
158
d68b491e
TG
1592010-03-14 Thorsten Glaser <tg@mirbsd.org>
160
161 * util/grub-mkrescue.in: Base ISO UUID on UTC.
162
4e02ed50
MK
1632010-03-08 Matt Kraai <kraai@ftbfs.org>
164
165 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
166 bug #559005).
167
1f15fc1e
VS
1682010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * genmoddep.awk: Output all missing symbols and not only first.
171
fce5d8ff
VS
1722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * NEWS: Put the date of 1.98 release.
175
d1e8a02f
VS
1762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
179 ft2build.h.
180
696fd607
VS
1812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
184 completition in the middle of string.
185
33e2e6f3
VS
1862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * util/grub-mkrescue.in: Use mktemp with explicit template.
189
b1f6d291
VS
1902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
193
2ac227c7
VS
1942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
197 right pointer.
198
8f9a632b
VS
1992010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Fix FreeBSD compilation.
202
203 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
204 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
205
60b03859
VS
2062010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
209
48a5a769
VS
2102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
213
3ab4bd77
VS
2142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
217
d116e0d8
RM
2182010-03-04 Robert Millan <rmh.grub@aybabtu.com>
219
220 Support relative image path in theme file.
221
222 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
223 (image_set_property): Handle theme_dir and relative path.
224
c7ef54aa
VS
2252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * configure.ac: Alias amd64 to x86_64.
228
fcee14ed
VS
2292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * NEWS: mention multiboot on EFI.
232
d0780363
VS
2332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * kern/main.c (grub_load_modules): Handle errors from init functions of
236 embeded modules.
237
41168ea4
VS
2382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * normal/autofs.c (autoload_fs_module): Handle errors.
241
b54d93ac
VS
2422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Disable linux.mod on qemu-mips since it's not functional and leads
245 to compilation failure.
246
247 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
248 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
249 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
250 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
251 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
252 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
253 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
254 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
255 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
256 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
257 Reported by: BVK Chaitanya
258
fc8345da
JU
2592010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
260
261 * INSTALL: Add gettext as a dependency and add qemu to a new section
262 "Prerequisites for make-check".
263
4760f979
CF
2642010-03-04 Christian Franke <franke@computer.org>
265
266 * util/grub-pe2elf.c: Add missing include "progname.h".
267
f209b5b2
VS
2682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * normal/crypto.c (read_crypto_list): Fix a typo.
271 Reported by: Seth Goldberg.
272
b4b7be98
VS
2732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 276 Reported by: Seth Goldberg.
b4b7be98 277
c0ee0385
VS
2782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
281 ascii.bitmaps.
282
a8efbf64
VS
2832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 286 Reported by: Seth Goldberg.
a8efbf64 287
08dcd913
VS
2882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * util/i386/efi/grub-install.in: Copy gettext files.
291
c4d0b332
VS
2922010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
295
c6f2fe52
VS
2962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
297
298 Wait for user entry basing on presence of output rather than on errors.
299
300 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
301 (grub_install_newline_hook): Likewise.
302 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
303 * normal/menu.c (show_menu): Check line_counter to determine presence
304 of output.
305 * normal/term.c (grub_normal_line_counter): New variable.
306 (grub_normal_get_line_counter): New function.
307 (grub_install_newline_hook): Likewise.
308
5382b1e4
VS
3092010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
312
5519963b
VS
3132010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * configure.ac: Update version to 1.98.
316
72b28631
VS
3172010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * util/grub.d/10_linux.in (linux_entry): Don't default to
320 gfxpayload=keep if Linux doesn't support video handover.
321
c140a180
VS
3222010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Don't compile video modules on yeeloong since video subsystem is part
325 of kernel.
326
327 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
328 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
329 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
330 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
331 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
332 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
333 * include/grub/bitmap_scale.h: Likewise.
334 * include/grub/bufio.h: Likewise.
335 * include/grub/font.h: Likewise.
336 * include/grub/gfxterm.h: Likewise.
337 * include/grub/video.h: Likewise.
338 * include/grub/vbe.h: Don't include video_fb.h.
339 * video/i386/pc/vbe.c: Include video_fb.h.
340 * commands/i386/pc/vbetest.c: Include video.h.
341
a0ca21c2
CW
3422010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
343
344 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
345 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
346 default entry if GRUB_SAVEDEFAULT=true. This allows using
347 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
348 saving a new default on every boot.
349
4a8a763c
VS
3502010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * normal/crypto.c (read_crypto_list): Fix a memory leak.
353 * normal/term.c (read_terminal_list): Likewise.
354 * normal/main.c (grub_normal_init_page): Likewise.
355 (grub_normal_read_line_real): Likewise.
356
607ffde2
VS
3572010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
360 memory leak.
361 Reported by: Seth Goldberg.
362
2b8fa975
CW
3632010-02-24 Joey Korkames <joey+lists@kidfixit.com>
364
365 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
366 duplicate declaration of `start'.
367
618307dd
VS
3682010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
371 filename.
372 Reported by: Georgy Buranov
373
7dd05b96 3742010-02-20 Carles Pina i Estany <carles@pina.cat>
375
376 * util/grub-mkrawimage.c (usage): Change string formatting to
377 improve gettext.
378
d1484a42
MRA
3792010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
380
381 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
382 backspace keys.
383
42b1d186
VS
3842010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
387 Reported by: Michael Suchanek.
388
3892010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
390
391 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
392 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
393
d9f31a41
VS
3942010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
395
396 Remove any reference to non-free fonts.
397
398 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
399 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
400 uses non-free components.
401 * font/font.c (grub_font_get_name): Remove example name.
402 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
403 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
404 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
405 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
406
2793c71e
GB
4072010-02-16 Georgy Buranov <gburanov@gmail.com>
408
409 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
410
402e3779
VS
4112010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
414 Double divisor.
415 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
416 features.
417 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
418
0dd1e0dd
VS
4192010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * gensymlist.sh.in: Use TARGET_CC instead of CC.
422
6fa7cfce
ST
4232010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
424
425 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
426 * docs/grub.texi (Command-line and menu entry commands): Document play
427 command.
428
37c8483b
ST
4292010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
430
431 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
432 parse arguments as inline tempo and notes. Move code for playing notes
433 to...
434 (play): ... new function.
435
14da0fb7
ST
4362010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
437
438 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
439 grub_uint16_t instead of short.
440 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
441 disk from little endian to cpu endianness.
442
04459e70
ST
4432010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
444
445 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
446 GRUB_TICKS_PER_SECOND instead of 120.
447
a0876943
VS
4482010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
451 escape sequence after \e.
452
e29f95dc
VS
4532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
456 non-ASCII characters.
457
d27859b2
VS
4582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
461 set root in single quotes to prevent \, from being unescaped.
462
bc028f2f
VS
4632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Prevent unknown commands from stopping menuentry execution.
466
467 * script/execute.c (grub_script_execute_cmdline): Print error after
468 unknown command.
469
095f5f82
VS
4702010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
473 Reported by: Pavel Pisa.
474
8c717950
VS
4752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
478
904935c3
VS
4792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
480
481 Merge grub_ieee1275_map_physical into grub_map and rename to
482 grub_ieee1275_map
483
484 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
485 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
486 Remove.
487 * kern/ieee1275/openfw.c (grub_map): Rename to ...
488 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
489 necessary.
490 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
491
5b59a4e3
VS
4922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
495 opening and not after.
496
69e137e8
VS
4972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
500 constants.
501
2c0fcc36
VS
5022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
505 (alloc_phys): Use ALIGN_UP instead of align_addr.
506
8c6052ce
VS
5072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
510
17cec782
VS
5112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
514
e0128bbd
VS
5152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
518 verbose dprintf.
519
ca62070b
VS
5202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
521
522 Fix over-4GiB seek on sparc64.
523
524 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
525 Replace pos_i and pos_lo with pos. All users updated.
526 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
527 New constant.
528 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
529 Likewise.
530 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
531 and pos_lo.
532
bdca2607
VS
5332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * util/grub-mkrawimage.c (main): Call set_program_name.
536
da278c4d
VS
5372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Properly align 64-bit targets.
540
541 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
542 (generate_image): Use ALIGN_ADDR.
543
b274d734
VS
5442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Properly create cross-endian images.
547
548 * include/grub/types.h (grub_host_to_target_addr): New macro
549 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
550
82da2062
VS
5512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
554
7cae4377
VS
5552010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
556
557 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
558
559 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
560 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
561 (grub_linux_boot): Divide by 64K when on VESA.
562
65a533e7
VS
5632010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
564
565 Support GRUB_GFXPAYLOAD_LINUX.
566
567 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
568 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
569
dd01d397
VS
5702010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
573 to show messages instead of discarding them.
574 Process errors after executing command and not before. Keep old method
575 too as precaution.
576
660960d6
VS
5772010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * configure.ac: Check for ft2build.h.
580
62509f04
VS
5812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
584
473df63d
VS
5852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * genkernsyms.sh.in: Use TARGET_CC.
588
c98d2a13
CW
5892010-02-07 Colin Watson <cjwatson@ubuntu.com>
590
591 * NEWS: Update.
592
6e14234c
VS
5932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
596 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
597 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 598
b255e9cf
YB
5992010-02-07 Yves Blusseau <blusseau@zetam.org>
600
6e14234c 601 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 602
98e6959d
VS
6032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
604
605 Fix warnings in grub-emu when compiling with maximum warning options.
606
607 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
608 (grub_arch_modules_addr): Return 0 and not NULL.
609 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 610 (xstrdup): Use newstr instead of dup.
f88d801b
VS
611 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
612 of disk to dsk to avoid shadowing.
74e4934e
VS
613 (find_free_slot): Fix prototype.
614 * util/getroot.c (grub_util_is_dmraid): Make static.
615 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
616 Add missing prototype.
617 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 618
74e31b5c
VS
6192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * loader/i386/linux.c (grub_linux_setup_video): Handle error
622 appropriately.
623
6b2ad14b
VS
6242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
627 code out.
628
8f891adc
VS
6292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
632 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
633 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
634 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
635 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
636 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
637
74b45184
VS
6382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * include/grub/err.h (grub_err_printf): Don't export.
641
a4bced77
VS
6422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
645
007d0695
VS
6462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * include/grub/i18n.h (grub_gettext_dummy): Removed.
649 * kern/misc.c (grub_gettext_dummy): Make static.
650
b6c0d9c2
VS
6512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
654 by non-valid ones.
655 * kern/term.c (grub_putchar): Likewise.
656
f51a90d0
VS
6572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
660 buggy hook call and memory leak.
661
6846cec5
VS
6622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
665
468d69fe
VS
6662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
669
51906b8c
VS
6702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
673 modevar.
674 Return grub_errno on allocation error.
675
09706ce5
VS
6762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
679
911df80c
YB
6802010-02-06 Yves Blusseau <blusseau@zetam.org>
681
682 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
683 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
684
3746a6bc
VS
6852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
688 non-pxe disk.
689 (grub_pxefs_open): Likewise.
690
09706ce5
VS
6912010-02-06 Robert Millan <rmh.grub@aybabtu.com>
692
693 * util/grub.d/10_hurd.in: Add --class information to menuentries.
694 * util/grub.d/10_kfreebsd.in: Likewise.
695 * util/grub.d/10_linux.in: Likewise.
696
7cc192d9
VS
6972010-02-06 Colin D Bennett <colin@gibibit.com>
698
699 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
700 (gfxmenu_mod_SOURCES): New variable.
701 (gfxmenu_mod_CFLAGS): Likewise.
702 (gfxmenu_mod_LDFLAGS): Likewise.
703 * include/grub/term.h (grub_term_set_current_output): Declare
704 argument as const.
705 * docs/gfxmenu-theme-example.txt: New file.
706 * gfxmenu/gfxmenu.c: Likewise.
707 * gfxmenu/gui_box.c: Likewise.
708 * gfxmenu/gui_canvas.c: Likewise.
709 * gfxmenu/gui_circular_progress.c: Likewise.
710 * gfxmenu/gui_image.c: Likewise.
711 * gfxmenu/gui_label.c: Likewise.
712 * gfxmenu/gui_list.c: Likewise.
713 * gfxmenu/gui_progress_bar.c: Likewise.
714 * gfxmenu/gui_string_util.c: Likewise.
715 * gfxmenu/gui_util.c: Likewise.
716 * gfxmenu/icon_manager.c: Likewise.
717 * gfxmenu/model.c: Likewise.
718 * gfxmenu/named_colors.c: Likewise.
719 * gfxmenu/theme_loader.c: Likewise.
720 * gfxmenu/view.c: Likewise.
721 * gfxmenu/widget-box.c: Likewise.
722 * include/grub/gfxmenu_model.h: Likewise.
723 * include/grub/gfxmenu_view.h: Likewise.
724 * include/grub/gfxwidgets.h: Likewise.
725 * include/grub/gui.h: Likewise.
726 * include/grub/gui_string_util.h: Likewise.
727 * include/grub/icon_manager.h: Likewise.
728
7292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
730
731 Agglomerate scrolling in gfxterm.
732
733 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
734 (grub_virtual_screen_setup): Initialise 'total_screen'.
735 (write_char): Split to ...
736 (paint_char): ... this ...
737 (write_char): ... and this.
738 (paint_char): Handle delayed scrolling.
739 (draw_cursor): Likewise.
740 (scroll_up): Split to ...
741 (real_scroll): ... this ...
742 (scroll_up): ... and this.
743 (real_scroll): Handle multi-line scroll and draw below-the-bottom
744 characters.
745 (grub_gfxterm_refresh): Call real_scroll.
746
7472010-02-06 Colin D Bennett <colin@gibibit.com>
748
749 * include/grub/misc.h (grub_iscntrl): New inline function.
750 (grub_isalnum): Likewise.
751 (grub_strtol): Likewise.
752
7532010-02-06 Colin D Bennett <colin@gibibit.com>
754
755 * normal/menu_text.c (get_entry_number): Move from here ...
756 * normal/menu.c (get_entry_number): ... moved here.
757 * include/grub/menu.h (grub_menu_get_default_entry_index):
758 New prototype.
759 * normal/menu.c (grub_menu_get_default_entry_index): New function.
760 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
761 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
762 (grub_menu_viewer_should_return): Likewise.
763 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
764 * normal/menu_text.c (run_menu): Enable menu switching.
765 * normal/menu_viewer.c (should_return): New variable.
766 (menu_viewer_changed): Likewise.
767 (grub_menu_viewer_show_menu): Handle menu viewer changes.
768 (grub_menu_viewer_should_return): New function.
769 (menuviewer_write_hook): Likewise.
770 (grub_menu_viewer_init): Likewise.
771
7722010-02-06 Colin D Bennet <colin@gibibit.com>
7732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
774
775 Support for gfxterm in a window.
776
777 * include/grub/gfxterm.h: New file.
778 * include/grub/video.h (struct grub_video_rect): New declaration.
779 (grub_video_rect_t): Likewise.
780 * term/gfxterm.c (struct grub_gfxterm_window): New type.
781 (refcount): New variable.
782 (render_target): Likewise.
783 (window): Likewise.
784 (repaint_callback): Likewise.
785 (grub_virtual_screen_setup): Use 'render_target'.
786 (init_window): New function.
787 (grub_gfxterm_init_window): Likewise.
788 (grub_gfxterm_init): Check reference counter.
789 Use init_window.
790 (destroy_window): New function.
791 (grub_gfxterm_destroy_window): Likewise.
792 (grub_gfxterm_fini): Check reference counter.
793 Use destroy_window.
794 (redraw_screen_rect): Restore viewport.
795 Use 'render_target' and 'window'.
796 Call 'repaint_callback'.
797 (write_char): Use 'render_target'.
798 (draw_cursor): Likewise.
799 (scroll_up): Restore viewport.
800 Use 'render_target' and 'window'.
801 Call 'repaint_callback'.
802 (grub_gfxterm_cls): Likewise.
803 (grub_gfxterm_refresh): Use 'window'.
804 (grub_gfxterm_set_repaint_callback): New function.
805 (grub_gfxterm_background_image_cmd): Use 'window'.
806 (grub_gfxterm_get_term): New function.
807 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
808
8092010-02-06 Colin D Bennett <colin@gibibit.com>
810
811 Bitmap scaling support.
812
813 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
814 (bitmap_scale_mod_SOURCES): New variable.
815 (bitmap_scale_mod_CFLAGS): Likewise.
816 (bitmap_scale_mod_LDFLAGS): Likewise.
817 * include/grub/bitmap_scale.h: New file.
818 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
819 (background_image_cmd_options): New variable.
820 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
821 (cmd): Rename and change type to ...
822 (background_image_cmd_handle): ... this. All users updated.
823 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
824 * video/bitmap_scale.c: New file.
825
8262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
827
828 SDL support.
829
830 * Makefile.in (LIBSDL): New variable.
831 (enable_grub_emu_sdl): Likewise.
832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
833 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
834 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
835 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
836 * util/sdl.c: New file.
837
8382010-02-06 Colin D Bennett <colin@gibibit.com>
8392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Double buffering support.
842
843 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
844 * include/grub/video.h: Update comment.
845 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
846 New type.
847 (grub_video_fb_doublebuf_blit_init): New prototype.
848 * term/gfxterm.c (scroll_up): Support double buffering.
849 (grub_gfxterm_refresh): Likewise.
850 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
851 (grub_video_fb_doublebuf_blit_init): Likewise.
852 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
853 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
854 'displayed_page', 'render_page' and 'update_screen'.
855 (grub_video_vbe_fini): Free offscreen buffer.
856 (doublebuf_pageflipping_commit): New function.
857 (doublebuf_pageflipping_update_screen): Likewise.
858 (doublebuf_pageflipping_init): Likewise.
859 (double_buffering_init): Likewise.
860 (grub_video_vbe_setup): Enable doublebuffering.
861 (grub_video_vbe_swap_buffers): Implement.
862 (grub_video_vbe_set_active_render_target): Handle double buffering.
863 (grub_video_vbe_get_active_render_target): Likewise.
864 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
865 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
866 (grub_video_vbe_enable_double_buffering): Likewise.
867 (grub_video_vbe_swap_buffers): Use update_screen.
868 (grub_video_set_mode): Use double buffering.
869
8702010-02-06 Robert Millan <rmh.grub@aybabtu.com>
871
872 * maintainance/gentrigtables.py: Remove.
873 * lib/trig.c: Likewise.
874
875 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
876
877 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
878 `trigtables.c'.
879 (trigtables.c): New rule.
880 (gentrigtables): Likewise.
881 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
882
8832010-02-06 Robert Millan <rmh.grub@aybabtu.com>
884
885 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
886 integer constants.
887
8882010-02-06 Colin D Bennet <colin@gibibit.com>
889
890 Trigonometry support.
891
892 * include/grub/trig.h: New file.
893 * lib/trig.c: Likewise.
894 * maintainance/gentrigtables.py: Likewise.
895 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
896 (trig_mod_SOURCES): New variable.
897 (trig_mod_CFLAGS): Likewise.
898 (trig_mod_LDFLAGS): Likewise.
899
5562834e
VS
9002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
903 disk devices.
904
4f8528fc
VS
9052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
908 error.
909
2b4068e9
VS
9102010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * util/hostdisk.c (open_device): Don't use partition device when reading
913 before the partition.
914 (grub_util_biosdisk_read): Don't read from partition and before the
915 partition in single operation.
916 (grub_util_biosdisk_write): Don't write to partition and before the
917 partition in single operation.
918
399f6e4d
TL
9192010-02-03 Torsten Landschoff <torsten@debian.org>
920
921 * kern/disk.c (grub_disk_read): Fix offset computation when reading
922 last sectors.
923
996649b0
VS
9242010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
927 CDROM reads.
928 (grub_biosdisk_write): Refuse to write to CDROM.
929
3b205d4d
VS
9302010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
933
61e89d9d
VS
9342010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * font/font.c (find_glyph): Check that bmp_idx is available before
937 using it.
938 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
939 with (font == NULL).
940
bf7fcba2
CS
9412010-01-28 Christian Schmitt <chris@ilovelinux.de>
942
943 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
944
f45d2663
BC
9452010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
946
947 * include/grub/script_sh.h (sourcecode): Add const qualifier.
948 * util/grub-script-check.c (getline): Fix empty lines case.
949
ec1444e6
RM
9502010-01-28 Robert Millan <rmh.grub@aybabtu.com>
951
952 * Makefile.in (check): Exit with fail status when one of the tests
953 fails.
954 * tests/example_functional_test.c (example_test): Fix reversed assert.
955 * tests/example_unit_test.c (example_test): Likewise.
956
2e1cb9bb
CW
9572010-01-28 Colin Watson <cjwatson@ubuntu.com>
958
959 * util/grub.d/10_linux.in: This script does not use any of the
960 contents of gettext.sh, only the external command `gettext', so stop
961 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
962 the same prefix as GRUB.)
963 * util/grub.d/10_kfreebsd.in: Likewise.
964
63533ab0
VS
9652010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
968 of the line.
969
989e1f93
VS
9702010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * kern/disk.c (grub_disk_read): Fix offset computation when reading
973 last sectors.
974
e709ebe2
VS
9752010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
978 having a 4KiB and not 32KiB buffer size.
979
27dea7ed
RM
9802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
981
982 * util/hostfs.c: Include `<errno.h>'.
983 (grub_hostfs_read): Handle errors from fseeko() and fread().
984
67667b9c
RM
9852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
986
987 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
988 loop when using read hooks on files whose size isn't sector-aligned.
989
c294d9d8
RM
9902010-01-27 Robert Millan <rmh.grub@aybabtu.com>
991
992 Remove unused parameter.
993
994 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
995 (grub_iso9660_open): Remove initialization of `data->length'.
996
af75a9f1
RM
9972010-01-27 Robert Millan <rmh.grub@aybabtu.com>
998
999 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
1000 memleak conditions.
1001
254e2ce5 10022010-01-27 Carles Pina i Estany <carles@pina.cat>
1003
1004 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
1005 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
1006
b510928c 10072010-01-26 Carles Pina i Estany <carles@pina.cat>
1008
1009 * util/bin2h.c (usage): Fix warning (space after backslash).
1010
aa2f9dd2 10112010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 1012
1013 * font/font.c: Include `grub/fontformat.h.
1014 Remove font file format constants.
1015 (grub_font_load): Use the new macros.
1016 * include/grub/fontformat.h: New file.
1017 * util/grub-mkfont.c: Include `grub/fontformat.c'.
1018 (write_font_pf2): Use the new macros.
1019
94e7e712
RM
10202010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1021
1022 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
1023 does.
1024
3973a59a
RM
10252010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1026
1027 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
1028
1029 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
1030 (_start): Macroify `0x7F'.
1031
1032 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
1033 (make_install_device): Use "(pxe)" as fallback prefix when booting
1034 via PXE.
1035
42e0cba3
GS
10362010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * configure.ac: Reset LIBS after check for libgcc symbols.
1039
847effd8
CW
10402010-01-25 Colin Watson <cjwatson@ubuntu.com>
1041
1042 * util/hostdisk.c (open_device): Add trailing newline to debug
1043 message.
1044
ea4a7e35
GS
10452010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1046
1047 * configure.ac: Check for `limits.h'.
1048 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
1049
67951a53
RM
10502010-01-24 Robert Millan <rmh.grub@aybabtu.com>
1051
1052 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
1053 capitalize error strings.
1054
c273d4ce
ST
10552010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
1056
1057 * util/grub.d/10_hurd.in: Add a recovery mode.
1058
69be5b74
VS
10592010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * configure.ac: Check for libgcc symbols with -nostdlib.
1062
fc9e5810
BC
10632010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
1064
1065 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
1066
4b358c0a
VS
10672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
1070 stack since heap may be unavailable at that point.
1071 (grub_ofconsole_gotoxy): Likewise.
1072
454fcd1c
VS
10732010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * configure.ac: Check for _restgpr_14_x.
1076 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
1077 and _savegpr_* prototypes.
1078
566863ca
RM
10792010-01-22 Robert Millan <rmh.grub@aybabtu.com>
1080
1081 Use generic grub_reboot() for i386-efi.
1082
1083 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
1084 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
1085 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
1086
bf86e59a
VS
10872010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
1090 presence of "prefix" variable as it breaks when normal.mod is
1091 embedded.
1092
d645e0f8
VS
10932010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
1096 stack since heap is unavailable at that point.
1097
f9ab2e25
VS
10982010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
1101 (grub_freebsd_bootinfo): Rewritten.
1102 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
1103
01fc7054
VS
11042010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
1107
caab4fd6
RM
11082010-01-21 Robert Millan <rmh.grub@aybabtu.com>
1109
1110 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
1111 domain now.
1112
67eb1427
FZ
11132010-01-20 Felix Zielcke <fzielcke@z-51.de>
1114
1115 * util/misc.c (make_system_path_relative_to_its_root): Change the work
1116 around for handling "/" to the correct fix. Fix a memory leak. Use
1117 xstrdup instead of strdup.
1118
a9ed4ff3
VS
11192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
1122
11232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
1124
1125 Optimise glyph lookup by Basic Multilingual Plane lookup array.
1126
1127 * font/font.c (struct grub_font): New member 'bmp_idx'.
1128 (font_init): Initialise 'bmp_idx'.
1129 (load_font_index): Fill 'bmp_idx'.
1130 (find_glyph): Make inline. Use bmp_idx for BMP characters.
1131
48209f4f
VS
11322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
1135 unnecessary calls.
1136
9f0a4bb7
VS
11372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Move context handling out of the kernel.
1140
1141 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
1142 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
1143 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
1144 * conf/i386-efi.rmk: Likewise.
1145 * conf/i386-ieee1275.rmk: Likewise.
1146 * conf/i386-pc.rmk: Likewise.
1147 * conf/powerpc-ieee1275.rmk: Likewise.
1148 * conf/sparc64-ieee1275.rmk: Likewise.
1149 * conf/x86_64-efi.rmk: Likewise.
1150 * include/grub/env.h: Include grub/menu.h.
1151 (grub_env_var_type): Removed.
1152 (grub_env_var): Replaced field 'type' with 'global'.
1153 (grub_env_find): New prototype.
1154 (grub_env_context_open): Remove EXPORT_FUNC.
1155 (grub_env_context_close): Likewise.
1156 (grub_env_export): Likewise.
1157 (grub_env_set_data_slot): Removed.
1158 (grub_env_get_data_slot): Likewise.
1159 (grub_env_unset_data_slot): Likewise.
1160 (grub_env_unset_menu): New prototype.
1161 (grub_env_set_menu): Likewise.
1162 (grub_env_get_menu): Likewise.
1163 * include/grub/env_private.h: New file.
1164 * include/grub/normal.h (grub_context_init): New prototype.
1165 (grub_context_fini): Likewise.
1166 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
1167 * normal/context.c (grub_cmd_export): ... to here.
1168 * kern/env.c: Include env_private.h.
1169 (HASHSZ): Moved to include/grub/env_private.h.
1170 (grub_env_context): Likewise.
1171 (grub_env_sorted_var): Likewise.
1172 (current_context): Renamed from this ...
1173 (grub_current_context): ...to this. 'static' removed. All users updated.
1174 (grub_env_find): Removed 'static'.
1175 (grub_env_context_open): Moved to normal/context.c.
1176 (grub_env_context_close): Likewise.
1177 (grub_env_export): Likewise.
1178 (mangle_data_slot_name): Removed.
1179 (grub_env_set_data_slot): Likewise.
1180 (grub_env_get_data_slot): Likewise.
1181 (grub_env_unset_data_slot): Likewise.
1182 * kern/main.c (grub_set_root_dev): Don't export root.
1183 It will be done later.
1184 (grub_main): Don't export prefix.
1185 It will be done later.
1186 * normal/context.c: New file.
1187 * normal/main.c (free_menu): Use grub_env_unset_menu.
1188 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1189 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1190 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1191 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1192
8dd35b8c
VS
11932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 setpci support.
1196
1197 * commands/setpci.c: New file.
1198 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1199 (setpci_mod_SOURCES): New variable.
1200 (setpci_mod_CFLAGS): Likewise.
1201 (setpci_mod_LDFLAGS): Likewise.
1202
449193d5
VS
12032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Byte-addressable PCI configuration space.
1206
1207 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1208 dword address.
1209 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1210 GRUB_PCI_REG_CACHELINE.
1211 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1212 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1213 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1214 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1215 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1216 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1217 grub_pci_make_address.
1218 (lock_rom_area): Likewise.
1219 * commands/lspci.c (grub_lspci_iter): Use macroses
1220 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1221 of grub_pci_make_address.
1222 * disk/ata.c (grub_ata_pciinit): Likewise.
1223 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1224 (GRUB_PCI_REG_VENDOR): Likewise.
1225 (GRUB_PCI_REG_DEVICE): Likewise.
1226 (GRUB_PCI_REG_COMMAND): Likewise.
1227 (GRUB_PCI_REG_STATUS): Likewise.
1228 (GRUB_PCI_REG_REVISION): Likewise.
1229 (GRUB_PCI_REG_CLASS): Likewise.
1230 (GRUB_PCI_REG_CACHELINE): Likewise.
1231 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1232 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1233 (GRUB_PCI_REG_BIST): Likewise.
1234 (GRUB_PCI_REG_ADDRESSES): Likewise.
1235 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1236 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1237 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1238 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1239 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1240 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1241 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1242 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1243 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1244 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1245 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1246 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1247 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1248 (GRUB_PCI_REG_MIN_GNT): Likewise.
1249 (GRUB_PCI_REG_MAX_LAT): Likewise.
1250 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1251 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1252 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 1253 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
1254 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1255 space.
1256
96d73208
RM
12572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1258
1259 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1260 can be reliably determined to be supported.
1261
d4484482
RM
12622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1263
1264 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1265 that VESA is supported.
1266 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1267 supported.
1268
00308ecf
VS
12692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1272
f66924a4
RM
12732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1274
1275 * util/misc.c (make_system_path_relative_to_its_root): Work around
1276 special-casing of "/", as previous incarnation of this routine did.
1277
cbca0ada
VS
12782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Fix any-emu compilation.
1281
1282 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1283 * grub_bin2h_SOURCES: New variable.
1284
34a66d99
RM
12852010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1286
1287 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1288
94fabf58
RM
12892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1290
1291 * util/grub.d/00_header.in: Fix handling of locale_dir.
1292
02cf98ca
VS
12932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1296 as possible unifont location (Gentoo).
1297 Reported by: Alexander Brüning
1298
327dbcd7
VS
12992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 Don't try to generate lists for kernel.img.
1302
1303 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1304 (pkglib_MODULES): Remove kernel.img.
1305 (kernel_img_EXPORTS): Removed.
1306 (kernel_img_RELOCATABLE): New variable.
1307 * conf/x86_64-efi.rmk: Likewise.
1308 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1309
ca467290
VS
13102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1313 grub_xasprintf or grub_snprintf.
1314 (grub_vsprintf): Likewise.
1315 (grub_snprintf): New proto.
1316 (grub_vsnprintf): Likewise.
1317 (grub_xasprintf): Likewise.
1318 (grub_xvasprintf): Likewise.
1319 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1320 (grub_sprintf): Removed.
1321 (grub_vsnprintf): New function.
1322 (grub_snprintf): Likewise.
1323 (grub_xvasprintf): Likewise.
1324 (grub_xasprintf): Likewise.
1325 (grub_vsprintf): Renamed to ...
1326 (grub_vsnprintf_real): ...this. New argument max_len.
1327
aca655fd
BC
13282010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1329
1330 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1331 fix grub-script-check warning.
1332
7ee92c32
VS
13332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * include/grub/font.h (grub_font_load): Fix prototype.
1336
f80927ca
VS
13372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1340
119c50ea
VS
13412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * include/grub/x86_64/at_keyboard.h: New file.
1344
47d5f3c1
VS
13452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * loader/mips/linux.c: Include missing grub/i18n.h.
1348
55ff5266
RM
13492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1350
1351 * normal/menu.c (notify_execution_failure): Clarify error message.
1352
c893cc87
RM
13532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1354
1355 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1356 return value (and revert all return statements). Update users.
1357
917dd370
CW
13582010-01-20 Dan Merillat <debian@dan.merillat.org>
1359
1360 * kern/device.c (grub_device_iterate): Allocate new part_ent
1361 structure based on sizeof (*p) rather than sizeof (p->next), to
1362 account for structure padding.
1363
1364 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1365 disk is NULL, which might happen for LVM physical volumes with no
1366 LVM signature.
1367
d4a4ee57
RM
13682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1369
1370 * loader/mips/linux.c (grub_cmd_initrd)
1371 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1372
13732009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1374
1375 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1376 (grub_video_video_init, grub_video_bitmap_init)
1377 (grub_font_manager_init, grub_term_gfxterm_init)
1378 (grub_at_keyboard_init): New extern declarations.
1379 (grub_machine_init): Initialize gfxterm and at_keyboard.
1380
1381 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1382
1383 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1384 `gfxterm.mod' into core image.
1385
1386 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1387 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1388 (kernel_img_FORMAT): Copy to ...
1389
1390 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1391 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1392 (kernel_img_FORMAT): ... here, and ...
1393
1394 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1395 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1396 (kernel_img_FORMAT): ... here.
1397
1398 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1399 and input (at_keyboard) terminals in kernel.
1400 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1401
1402 (pkglib_MODULES): Remove `pci.mod'.
1403 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1404 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1405 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1406 (at_keyboard_mod_LDFLAGS): Remove variables.
1407
14082010-01-11 Felix Zielcke <fzielcke@z-51.de>
1409
1410 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1411
14122009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1413
1414 * include/grub/mips/libgcc.h: Only export symbols for functions
1415 that libgcc provides.
1416
14172009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 MIPS support.
1420
1421 * bus/bonito.c: New file.
1422 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1423 GRUB_PCI_NUM_DEVICES.
1424 * term/i386/pc/serial.c: Move to ...
1425 * term/serial.c: ... here. All users updated.
1426 * util/i386/pc/grub-mkimage.c: Move to ...
1427 * util/grub-mkrawimage.c: ... here. All users updated.
1428 * term/i386/pc/at_keyboard.c: Move to ...
1429 * term/at_keyboard.c: ... here. All users updated.
1430 * conf/mips-qemu-mips.rmk: New file.
1431 * conf/mips-yeeloong.rmk: Likewise.
1432 * conf/mips.rmk: Likewise.
1433 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1434 mipsel-qemu-mips.
1435 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1436 to port addresses.
1437 (grub_ata_pciinit): Support CS5536.
1438 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1439 * font/font_cmd.c (loadfont_command): Open file before passing it to
1440 grub_font_load.
1441 (pseudo_file_read): New function.
1442 (pseudo_file_close): Likewise.
1443 (pseudo_fs): New structure.
1444 (load_font_module): New function.
1445 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1446 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1447 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1448 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1449 * include/grub/i386/at_keyboard.h: Split into ...
1450 * include/grub/at_keyboard.h: ... this ...
1451 * include/grub/i386/at_keyboard.h: ... and this.
1452 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1453 New prototype.
1454 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1455 updated.
1456 (grub_elf64_size): Likewise.
1457 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1458 filename.
1459 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1460 * include/grub/i386/coreboot/serial.h: Rewritten.
1461 * include/grub/i386/ieee1275/serial.h: Include
1462 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1463 * include/grub/i386/pc/serial.h: Moved from here ...
1464 * include/grub/serial.h: ... to here. All users updated.
1465 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1466 (GRUB_PCI_NUM_BUS): Likewise.
1467 (GRUB_PCI_NUM_DEVICES): Likewise.
1468 (grub_pci_device_map_range): Add missing volatile keyword.
1469 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1470 * include/grub/mips/at_keyboard.h: New file.
1471 * include/grub/mips/cache.h: Likewise.
1472 * include/grub/mips/io.h: Likewise.
1473 * include/grub/mips/kernel.h: Likewise.
1474 * include/grub/mips/libgcc.h: Likewise.
1475 * include/grub/mips/pci.h: Likewise.
1476 * include/grub/mips/qemu-mips/boot.h: Likewise.
1477 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1478 * include/grub/mips/qemu-mips/loader.h: Likewise.
1479 * include/grub/mips/qemu-mips/memory.h: Likewise.
1480 * include/grub/mips/qemu-mips/serial.h: Likewise.
1481 * include/grub/mips/qemu-mips/time.h: Likewise.
1482 * include/grub/mips/relocator.h: Likewise.
1483 * include/grub/mips/time.h: Likewise.
1484 * include/grub/mips/types.h: Likewise.
1485 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1486 * include/grub/mips/yeeloong/boot.h: Likewise.
1487 * include/grub/mips/yeeloong/kernel.h: Likewise.
1488 * include/grub/mips/yeeloong/loader.h: Likewise.
1489 * include/grub/mips/yeeloong/memory.h: Likewise.
1490 * include/grub/mips/yeeloong/pci.h: Likewise.
1491 * include/grub/mips/yeeloong/serial.h: Likewise.
1492 * include/grub/mips/yeeloong/time.h: Likewise.
1493 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1494 * kern/elf.c (grub_elf32_size): New parameter. All users
1495 updated.
1496 (grub_elf64_size): Likewise.
1497 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1498 Load modules before saying "Welcome to GRUB!".
1499 Call grub_refresh after saying "Welcome to GRUB!".
1500 * kern/mips/cache.S: New file.
1501 * kern/mips/cache_flush.S: Likewise.
1502 * kern/mips/dl.c: Likewise.
1503 * kern/mips/init.c: Likewise.
1504 * kern/mips/qemu-mips/init.c: Likewise.
1505 * kern/mips/startup.S: Likewise.
1506 * kern/mips/yeeloong/init.c: Likewise.
1507 * kern/term.c (grub_putcode): Handle NULL terminal.
1508 (grub_getcharwidth): Likewise.
1509 (grub_getkey): Likewise.
1510 (grub_checkkey): Likewise.
1511 (grub_getkeystatus): Likewise.
1512 (grub_getxy): Likewise.
1513 (grub_getwh): Likewise.
1514 (grub_gotoxy): Likewise.
1515 (grub_cls): Likewise.
1516 (grub_setcolorstate): Likewise.
1517 (grub_setcolor): Likewise.
1518 (grub_getcolor): Likewise.
1519 (grub_refresh): Likewise.
1520 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1521 (write_jump): Add hatch nop.
1522 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1523 * lib/mips/setjmp.S: New file.
1524 * loader/mips/linux.c: Likewise.
1525 * term/i386/pc/at_keyboard.c: Move from here ...
1526 * term/at_keyboard.c: ... to here.
1527 * term/i386/pc/serial.c: Moved from here ...
1528 * term/serial.c: ... to here. All users updated.
1529 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1530 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1531 (serial_translate_key_sequence): Avoid deadlock.
1532 (grub_serial_getkey): Handle backspace.
1533 (grub_serial_putchar): Fix newline handling.
1534 * util/i386/pc/grub-mkimage.c: Move from here ...
1535 * util/grub-mkrawimage.c: ... to here. All users updated.
1536 (generate_image): New parameters 'font_path' and 'format'.
1537 Support embedding font.
1538 Use grub_host_to_target* instead of grub_cpu_to_le*.
1539 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1540 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1541 (options): New option "--font".
1542 (usage): Likewise.
1543 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1544 (main): Handle "--font".
1545 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1546 (grub_virtual_screen_setup): Set bg_color_display.
1547 (redraw_screen_rect): Use bg_color_display instead of incorrect
1548 bg_color.
1549 (grub_gfxterm_cls): Likewise.
1550 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1551 Support embedding config file.
1552 (add_segments): Likewise.
1553 (options): New option "--config".
1554 (main): Handle "--config".
1555 * video/sm712.c: New file.
1556
25c2b5b3
RM
15572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1558
1559 Fix parallel builds.
1560
1561 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1562 font.c depend on ascii.h).
1563
15642010-01-12 Carles Pina i Estany <carles@pina.cat>
1565
1566 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1567
15682010-01-11 Carles Pina i Estany <carles@pina.cat>
1569
1570 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1571 By default: disabled.
1572 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1573 parameter.
1574
15752010-01-10 Carles Pina i Estany <carles@pina.cat>
1576
1577 * font/font.c: Update copyright years.
1578 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1579
15802010-01-10 Carles Pina i Estany <carles@pina.cat>
1581
1582 * font/font.c: Include `ascii.h'.
1583 (ASCII_BITMAP_SIZE): New macro.
1584 (ascii_font_glyph): Define.
1585 (ascii_glyph_lookup): New function.
1586 (grub_font_get_string_width): Change comment. If glyph not found, use
1587 ascii_glyph_lookup.
1588 (grub_font_get_glyph_with_fallback): If glyph not available returns
1589 ascii_glyph_lookup.
1590 * util/grub-mkfont.c (file_formats): New enum.
1591 (options): Add `ascii-bitmaps' new option.
1592 (usage): Add `asii-bitmaps' new option.
1593 (write_font_ascii_bitmap): New function.
1594 (write_font): Rename to ...
1595 (write_font_p2): ... this. Remove print_glyphs call.
1596 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1597 used. Call print_glyphs.
1598 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1599
16002010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1601
1602 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1603 (grub_bin2h_SOURCES): New variable.
1604 * util/bin2h.c: New file.
1605
915fc1b8
VS
16062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * include/multiboot.h: Resynced with spec.
1609 * include/multiboot2.h: Likewise.
1610 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1611 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1612
9444b678
RM
16132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1614
1615 * include/grub/term.h (grub_term_register_input,
1616 grub_term_register_output): Check return of terminal init()
1617 routines, and abort if errors are raised.
1618
1619 * commands/terminal.c: Update copyright year.
1620
cba98e8d
RM
16212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1622
1623 * commands/terminal.c (grub_cmd_terminal_input)
1624 (grub_cmd_terminal_output): Check return of terminal init()
1625 routines, and abort if errors are raised.
1626
6f7db5d6
VS
16272010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * include/grub/i386/bsd.h: Fix include pathes.
1630
262bff8d
VS
16312010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 Add missing *BSD copyright headers.
1634
1635 * include/grub/aout.h: Add BSD licence.
1636 * include/grub/i386/bsd.h: Parts under different licences moved to ...
1637 * include/grub/i386/freebsd_linker.h: ... here,
1638 * include/grub/i386/freebsd_reboot.h: ... here,
1639 * include/grub/i386/netbsd_bootinfo.h: ... here,
1640 * include/grub/i386/netbsd_reboot.h: ... here,
1641 * include/grub/i386/openbsd_bootarg.h: ... here,
1642 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
1643 licence to each file.
1644
b2cab848
RM
16452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1646
1647 * acinclude.m4: Remove `nop' assembly instruction; it's not
1648 implemented by all architectures.
1649
2cb6be4b
RM
16502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1651
1652 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
1653 ELILO. This is no longer necessary.
1654
a2eaee15
BC
16552010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
1656
1657 Added new tool, grub-scrit-check to verify grub.cfg syntax.
1658
1659 * util/grub-script-check.c: grub-script-check tool.
1660 * conf/common.rmk: Make rules for grub-script-check.
1661
88d17012
RM
16622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1663
1664 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
1665 spotting it back in 2008. Shame on me for forgetting he did.
1666
1667 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
1668
8040619d
RM
16692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1670
1671 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
1672 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
1673 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
1674 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
1675 (GRUB_VIDEO_TYPE_EFI): Rename to ...
1676 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
1677
a0c2a0f6
RM
16782010-01-17 Robert Millan <rmh.grub@aybabtu.com>
1679
1680 * include/grub/test.h: Add license header.
1681 * tests/example_functional_test.c: Likewise.
1682 * tests/example_unit_test.c: Likewise.
1683 * tests/lib/functional_test.c: Likewise.
1684 * tests/lib/test.c: Likewise.
1685 * tests/lib/unit_test.c: Likewise.
1686
b0b13907
VS
16872010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 Use flag-based instead of hook-based video mode selection and "auto"
1690 keyword.
1691
1692 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
1693 (grub_video_set_mode): Changed prototype. All users updated.
1694 (grub_video_check_mode_flag): New inline function.
1695 * video/video.c (parse_modespec): New function.
1696 (grub_video_set_mode): Parse flags and keywords.
1697
ea379330 16982010-01-17 Carles Pina i Estany <carles@pina.cat>
1699
1700 * util/misc.c (grub_util_info): Fix the order of the parameters in a
1701 fprintf call.
1702
e15c215e
FZ
17032010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1704
1705 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
1706
409ae1c9 17072010-01-16 Carles Pina i Estany <carles@pina.cat>
1708
1709 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
1710 string.
1711 * util/grub-emu.c (usage): Likewise.
1712 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
1713 * util/i386/efi/grub-mkimage.c (usage): Likewise.
1714 * util/i386/pc/grub-mkimage.c (usage): Likewise.
1715 * util/i386/pc/grub-setup.c (usage): Likewise.
1716
70a14d3d 17172010-01-16 Carles Pina i Estany <carles@pina.cat>
1718
1719 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
1720 the message.
1721 (grub_util_info): Likewise.
1722 (grub_util_error): Likewise.
1723 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
1724 and/or new lines in `grub_util_warna', `grub_util_info',
1725 `grub_util_error' calls.
1726 * util/getroot.c: Likewise.
1727 * util/grub-editenv.c: Likewise.
1728 * util/grub-emu.c: Likewise.
1729 * util/grub-fstest.c: Likewise.
1730 * util/grub-mkdevicemap.c: Likewise.
1731 * util/grub-mkfont.c: Likewise.
1732 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1733 * util/grub-mkrelpath.c: Likewise.
1734 * util/grub-pe2elf.c: Likewise.
1735 * util/grub-probe.c: Likewise.
1736 * util/hostdisk.c: Likewise.
1737 * util/i386/efi/grub-mkimage.c: Likewise.
1738 * util/i386/pc/grub-mkimage.c: Likewise.
1739 * util/i386/pc/grub-setup.c: Likewise.
1740 * util/ieee1275/ofpath.c: Likewise.
1741 * util/mkisofs/eltorito.c: Likewise.
1742 * util/mkisofs/rock.c: Likewise.
1743 * util/mkisofs/write.c: Likewise.
1744 * util/raid.c: Likewise.
1745 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
1746 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1747
a0b766fc
VS
17482010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 Enable multiboot on non-pc.
1751
1752 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
1753 multiboot.mod and multiboot2.mod to ...
1754 * conf/i386.rmk (pkglib_MODULES): ... here.
1755 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
1756 Moved to ...
1757 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
1758 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
1759 Moved to ...
1760 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
1761 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
1762 Moved to ...
1763 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
1764 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
1765 Moved to ...
1766 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
1767 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
1768 relocator.mod.
1769 (ata_mod_SOURCES): Removed.
1770 (ata_mod_CFLAGS): Likewise.
1771 (ata_mod_LDFLAGS): Likewise.
1772 (relocator_mod_SOURCES): Removed.
1773 (relocator_mod_CFLAGS): Likewise.
1774 (relocator_mod_ASFLAGS): Likewise.
1775 (relocator_mod_LDFLAGS): Likewise.
1776 Include i386.mk.
1777 * include/grub/x86_64/multiboot.h: New file.
1778 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
1779 Terminate EFI.
1780
884ade56
VS
17812010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 Video multiboot support.
1784
1785 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
1786 New prototype.
1787 * include/multiboot.h: Resynced with multiboot specification.
1788 * include/multiboot2.h: Likewise.
1789 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
1790 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
1791 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
1792 (HAS_VGA_TEXT): Likewise.
1793 (accepts_video): New variable.
1794 (grub_multiboot_set_accepts_video): New function.
1795 (grub_multiboot_get_mbi_size): Account for video structures.
1796 (set_video_mode): New function.
1797 (retrieve_video_parameters): Likewise.
1798 (grub_multiboot_make_mbi): Fill video fields.
1799
0d90e8a6
VS
18002010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 Video driver ids.
1803
1804 * include/grub/video.h (grub_video_driver_id): New type.
1805 (grub_video_adapter): New member 'id'. All users updated.
1806 (grub_video_get_driver_id): New proto.
1807 * video/video.c (grub_video_get_driver_id): New function.
1808
5c71db1b 18092010-01-14 Carles Pina i Estany <carles@pina.cat>
1810
1811 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
1812 `var=val'.
1813
cca15b52 18142010-01-14 Carles Pina i Estany <carles@pina.cat>
1815
1816 * normal/cmdline.c (print_completion): Gettextizze.
1817
c586fbb2 18182001-01-14 Carles Pina i Estany <carles@pina.cat>
1819
1820 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
1821
ba2f6848 18222010-01-14 Carles Pina i Estany <carles@pina.cat>
1823
1824 * gettext/gettext.c (grub_gettext_translate): Push and pop
1825 grub_errno.
1826 (grub_gettext_delete_list): Change comment style.
1827 * kern/err.c (grub_error): Gettextizze.
1828 (grub_fatal): Gettextizze.
1829
0a46429a
RM
18302010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1831
1832 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
1833 (grub_linux16_real_boot): ... this.
1834 * kern/i386/loader.S: Likewise.
1835 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
1836 (grub_linux16_boot): New function. Switches to text mode and calls
1837 grub_linux16_real_boot().
1838
1839 * loader/i386/bsd.c: Include `<grub/video.h>'.
1840 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
1841 text mode before calling grub_unix_real_boot().
1842
1843 * loader/i386/multiboot.c: Include `<grub/video.h>'.
1844 (grub_multiboot_boot): Switch to text mode before calling
1845 grub_relocator32_boot().
1846
1847 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
1848 (grub_chainloader_boot): Switch to text mode before calling
1849 grub_chainloader_real_boot().
1850
d6f93a66
RM
18512010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18522010-01-05 Colin Watson <cjwatson@ubuntu.com>
1853
1854 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
1855 non-empty value.
1856
18572010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18582010-01-05 Colin Watson <cjwatson@ubuntu.com>
1859
1860 * util/grub.d/00_header.in: Define a "savedefault" function for use
1861 in menu entries.
1862 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
1863
18642010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18652010-01-05 Colin Watson <cjwatson@ubuntu.com>
1866
1867 * util/grub-mkconfig_lib.in (save_default_entry): Only set
1868 saved_entry if boot_once is unset.
1869 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
1870 previous saved entry (i.e. grub-reboot).
1871
18722009-12-08 Colin Watson <cjwatson@ubuntu.com>
1873
1874 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
1875
18762009-12-08 Colin Watson <cjwatson@ubuntu.com>
1877
1878 * util/grub.d/00_header.in: Use `set var=val' rather than plain
1879 `var=val'.
1880 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
1881
18822009-12-08 Colin Watson <cjwatson@ubuntu.com>
1883
1884 * util/grub-reboot.in: Fix --version output.
1885 * util/grub-set-default.in: Likewise.
1886
18872009-12-08 Colin Watson <cjwatson@ubuntu.com>
1888
1889 * util/grub.d/00_header.in: Silently ignore zero-sized environment
1890 blocks.
1891
18922009-12-08 Colin Watson <cjwatson@ubuntu.com>
1893
1894 * util/grub.d/00_header.in: Quote the value assigned to `default',
1895 in case it contains spaces.
1896
18972009-12-08 Colin Watson <cjwatson@ubuntu.com>
1898
1899 * util/grub.d/30_os-prober.in: Fix merge error that moved a
1900 `save_default_entry' call from the macosx case to the linux case.
1901
19022009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
19032009-10-25 Colin Watson <cjwatson@ubuntu.com>
1904
1905 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
1906 in `chosen' environment variable.
1907 * normal/menu_text.c (get_entry_number): Check if the variable
1908 matches the title of a menu entry.
1909 (run_menu): Pass menu to get_entry_number.
1910
1911 * util/grub-reboot.in: New file.
1912 * util/grub-set-default.in: New file.
1913 * conf/common.rmk (grub-reboot): New utility.
1914 (grub-set-default): New utility.
1915
1916 * util/grub-mkconfig_lib.in (save_default_entry): New function.
1917 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
1918 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
1919 move it to `saved_entry' for the next boot. Load environment on
1920 initialisation.
1921 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
1922 * util/grub.d/10_hurd.in: Likewise.
1923 * util/grub.d/10_linux.in (linux_entry): Likewise.
1924 * util/grub.d/10_windows.in: Likewise.
1925 * util/grub.d/30_os-prober.in: Likewise.
1926
1927 * util/grub-install.in: Create environment block.
1928 * util/i386/efi/grub-install.in: Likewise.
1929 * util/ieee1275/grub-install.in: Likewise.
1930 * util/sparc64/ieee1275/grub-install.in: Likewise.
1931
0934d184
BC
19322010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
1933
1934 Unit testing framework for GRUB.
1935
1936 * Makefile.in: Test framework build rules for 'make check'.
1937 * conf/tests.rmk: Build rules for individual tests and framework.
1938
1939 * include/grub/test.h: Header file for whitebox tests.
1940 * tests/lib/functional_test.c: Framework support for whitebox
1941 functional tests.
1942 * tests/lib/test.c: Common whitebox testing code for unit and
1943 functional tests.
1944 * tests/lib/unit_test.c: Framework support for whitebox unit
1945 tests.
1946
1947 * tests/util/grub-shell-tester.in: Support utility for grub-script
1948 tests.
1949 * tests/util/grub-shell.in: Utility to execute grub-script
1950 commands in a Qemu instance.
1951
1952 * tests/example_functional_test.c: Example whitebox functional
1953 test.
1954 * tests/example_grub_script_test.in: Example grub-script test.
1955 * tests/example_scripted_test.in: Example scripted test.
1956 * tests/example_unit_test.c: Example whitebox unit test.
1957
9c4ffeeb
VS
19582010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
1961 Add loader/i386/multiboot_mbi.c.
1962 (multiboot2_mod_SOURCES): Likewise.
1963 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
1964 (multiboot2_mod_SOURCES): Likewise.
1965 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
1966 (grub_multiboot_make_mbi): Likewise.
1967 (grub_multiboot_free_mbi): Likewise.
1968 (grub_multiboot_init_mbi): Likewise.
1969 (grub_multiboot_add_module): Likewise.
1970 (grub_multiboot_set_bootdev): Likewise.
1971 * loader/i386/multiboot.c (mbi): Removed.
1972 (mbi_dest): Likewise.
1973 (alloc_mbi): New variable.
1974 (grub_multiboot_payload_size): Removed. All users updated.
1975 (grub_multiboot_pure_size): New variable.
1976 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
1977 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
1978 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
1979 (grub_fill_multiboot_mmap): Likewise.
1980 (grub_multiboot_get_bootdev): Likewise.
1981 (grub_multiboot): Use multiboot_mbi functions.
1982 * loader/i386/multiboot_mbi.c: New file.
1983
17383dfe
VS
19842010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
1987 it would result in module crash.
1988
c1f28820
VS
19892010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
1992 (grub_ofconsole_getwh): Split to ...
1993 (grub_ofconsole_getwh): ... this.
1994 (grub_ofconsole_dimensions): ...and this.
1995 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
1996
58655a16
RM
19972010-01-13 Robert Millan <rmh.grub@aybabtu.com>
1998
1999 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2000
10891398
VS
20012010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * loader/i386/pc/multiboot2.c: Removed stalled file.
2004
0b8a223c
VS
20052010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
2008 Reported by: Grégoire Sutre
2009
92ab12b0
RM
20102010-01-11 Robert Millan <rmh.grub@aybabtu.com>
2011
2012 * util/misc.c (canonicalize_file_name): New function.
2013 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
2014 instead of realpath().
2015
a788afb6
CW
20162010-01-11 Colin Watson <cjwatson@ubuntu.com>
2017
2018 * util/grub-install.in (usage): Clarify meaning of --root-directory,
2019 and make it clearer that it's optional. Based on confusion
2020 witnessed on IRC.
2021
ffa8e3d2
VS
20222010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
2025 in premature implicit newline.
2026
e9060a9d
VS
20272010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2030 which resulted in garbled command line at the end of screen.
2031
f0d0c0b7
RM
20322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2033
2034 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
2035 initialization with similar approach as with other Linux loaders.
2036
0e60bae7
RM
20372010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2038
2039 Fix i386-ieee1275 build.
2040
2041 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
2042 and grub_term_height() for video_{width,height} initialization.
2043
20442010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
2045
2046 Fix grub-emu build.
2047
2048 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2049
cdb3f378
RM
20502010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20512010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2052
2053 Support for multiple terminals.
2054
2055 * Makefile.in (pkglib_DATA): terminal.lst.
2056 (terminal.lst): New target.
2057 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
2058 (GRUB_MOD_INIT(handler)): Likewise.
2059 (GRUB_MOD_FINI(handler)): Likewise.
2060 * commands/help.c (grub_cmd_help): Handle multiple terminals.
2061 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
2062 * commands/sleep.c (do_print): Use grub_term_restore_pos.
2063 (grub_cmd_sleep): Use grub_term_save_pos.
2064 * commands/terminal.c: New file.
2065 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
2066 commands/terminal.c and lib/charset.c.
2067 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
2068 (pkglib_MODULES): Add terminal.mod.
2069 (terminal_mod_SOURCES): New variable.
2070 (terminal_mod_CFLAGS): Likewise.
2071 (terminal_mod_LDFLAGS): Likewise.
2072 * genhandlerlist.sh: Don't handle terminals.
2073 * genmk.rb: Generate terminal-*.lst.
2074 * genterminallist.sh: New file.
2075 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
2076 (grub_is_valid_utf8): Likewise.
2077 (grub_utf8_to_ucs4_alloc): Likewise.
2078 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
2079 (grub_menu_register_viewer): Changed argument.
2080 (grub_menu_try_text): New proto.
2081 (grub_gfxmenu_try_hook): New declaration.
2082 * include/grub/normal.h (grub_normal_exit_level): New declaration.
2083 (grub_menu_init_page): Additional argument term.
2084 (grub_normal_init_page): Likewise.
2085 (grub_cmdline_get): Arguments simplified.
2086 (grub_utf8_to_ucs4_alloc): Removed.
2087 (grub_print_ucs4): Additional argument term.
2088 (grub_getstringwidth): Likewise.
2089 (grub_print_message_indented): Likewise.
2090 (grub_menu_text_register_instances): New proto.
2091 (grub_show_menu): Likewise.
2092 (read_terminal_list): Likewise.
2093 (grub_set_more): Likewise.
2094 * include/grub/parser.h: Include handler.h.
2095 * include/grub/reader.h: Rewritten.
2096 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
2097 (GRUB_TERM_WIDTH): Changed to function.
2098 (GRUB_TERM_HEIGHT): Likewise.
2099 (GRUB_TERM_BORDER_WIDTH): Likewise.
2100 (GRUB_TERM_BORDER_HEIGHT): Likewise.
2101 (GRUB_TERM_NUM_ENTRIES): Likewise.
2102 (GRUB_TERM_ENTRY_WIDTH): Likewise.
2103 (GRUB_TERM_CURSOR_X): Likewise.
2104 (grub_term_input_class): Likewise.
2105 (grub_term_output_class): Likewise.
2106 (grub_term_outputs_disabled): New declaration.
2107 (grub_term_inputs_disabled): Likewise.
2108 (grub_term_outputs): Likewise.
2109 (grub_term_inputs): Likewise.
2110 (grub_term_register_input): Rewritten.
2111 (grub_term_register_output): Likewise.
2112 (grub_term_unregister_input): Likewise.
2113 (grub_term_unregister_output): Likewise.
2114 (FOR_ACTIVE_TERM_INPUTS): New macro.
2115 (FOR_DISABLED_TERM_INPUTS): Likewise.
2116 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2117 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2118 * include/grub/terminfo.h: Add oterm argument to all protypes.
2119 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
2120 Use grub_rescue_run.
2121 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
2122 All users updated.
2123 * kern/reader.c: Removed. All users updated.
2124 * kern/rescue_reader.c (grub_rescue_init): Removed.
2125 (grub_rescue_reader): Likewise.
2126 (grub_register_rescue_reader): Likewise.
2127 (grub_rescue_run): New function based on kern/reader.c.
2128 * kern/term.c: Adapted for multiterm.
2129 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
2130 (grub_is_valid_utf8): Likewise.
2131 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
2132 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
2133 right terminal.
2134 * loader/i386/linux.c (grub_linux_boot): Likewise.
2135 * normal/auth.c (grub_username_get): New function.
2136 (grub_auth_check_authentication): Use grub_username_get.
2137 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
2138 * normal/color.c: Adapt for multiterm.
2139 * normal/main.c (read_config_file): Don't use grub_reader_loop.
2140 (grub_normal_init_page): Additional argument term.
2141 (read_lists): Call read_terminal_lists.
2142 (grub_enter_normal_mode): Call grub_cmdline_run.
2143 Handle grub_normal_exit_level.
2144 (grub_cmd_normal): Make reentrant.
2145 (grub_cmd_normal_exit): New function.
2146 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
2147 * normal/menu.c: Adapt for multiterm.
2148 * normal/menu_entry.c: Likewise.
2149 * normal/menu_text.c: Likewise.
2150 * normal/menu_viewer.c: Removed. All users updated.
2151 * normal/term.c: New file.
2152 * util/console.c: Change order of includes to workaround a bug in
2153 ncurses headers.
2154 * term/terminfo.c: New argument oterm on all exported functions.
2155 All users updated.
2156 * util/grub-editenv.c (grub_term_input_class): Removed.
2157 (grub_term_output_class): Likewise.
2158
1a064917
RM
21592010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2160
2161 Make loader output a bit more user-friendly.
2162
2163 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
2164 is being loaded. Likewise for the Hurd.
2165
2166 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
2167 that kernel of FreeBSD ${version} is being loaded.
2168
2169 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
2170 grub_dprintf().
2171 (grub_cmd_initrd): Likewise.
2172 * util/grub.d/10_linux.in (linux_entry): Print message indicating
2173 that Linux ${version} is being loaded. Likewise for initrd.
2174
5ce0a83a 21752010-01-09 Carles Pina i Estany <carles@pina.cat>
2176
2177 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2178
809bbfeb 21792010-01-08 Carles Pina i Estany <carles@pina.cat>
2180
2181 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
2182 (GRUB_MOD_INIT): Gettextizze.
2183 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
2184 (GRUB_MOD_INIT): Gettextizze.
2185 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
2186 (grub_cmd_linux): Capitalise Linux.
2187 (GRUB_MOD_INIT): Gettextizze.
2188 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2189 (grub_cmd_linux): Capitalise Linux.
2190 (GRUB_MOD_INIT): Gettextizze.
2191 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2192 (grub_cmd_linux): Capitalise Linux.
2193 (GRUB_MOD_INIT): Gettextizze.
2194 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2195 (GRUB_MOD_INIT): Gettextizze.
2196 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2197 (grub_cmd_linux): Capitalise Linux.
2198 (GRUB_MOD_INIT): Gettextizze.
2199 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2200 (grub_cpu_xnu_init): Gettextizze.
2201 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2202 (GRUB_MOD_INIT): Gettextizze.
2203 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2204 (GRUB_MOD_INIT): Gettextizze.
2205 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2206 (grub_linux_load64): Capitalise Linux.
2207 (GRUB_MOD_INIT): Gettextizze.
2208 * loader/xnu.c: Include `<grub/i18n.h>'.
2209 (GRUB_MOD_INIT): Gettextizze.
2210 * po/POTFILES: Add `loader/efi/appleloader.c',
2211 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2212 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2213 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2214 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2215 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2216 and `loader/xnu.c'.
2217
b394b2ca
RM
22182010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2219
2220 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2221
22222010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
2223
2224 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2225 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2226 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2227
bc8b32b3
RM
22282010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2229
2230 Reset Multiboot 2 support. New loader implements the draft in
2231 /branches/multiboot2 and shares as much code as possible with the
2232 production Multiboot 1 implementation.
2233
2234 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2235 * loader/multiboot2.c: Likewise.
2236 * loader/i386/multiboot_helper.S: Likewise.
2237 * include/multiboot2.h: Replace with latest version from the draft
2238 in /branches/multiboot2.
2239
2240 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2241 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2242 and `loader/multiboot2.c'.
2243 (pkglib_MODULES): Add `multiboot2.mod'.
2244 (multiboot2_mod_SOURCES): New variable.
2245 (multiboot2_mod_LDFLAGS): Likewise.
2246 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2247
2248 * conf/i386-pc.rmk: Likewise.
2249
2250 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2251 (multiboot_mod_SOURCES): Remove variable.
2252 (multiboot_mod_LDFLAGS): Likewise.
2253 (multiboot_mod_CFLAGS): Likewise.
2254
2255 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2256 `<multiboot2.h>' instead of `<multiboot.h>'.
2257 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2258 (MULTIBOOT_HEADER_MAGIC): New macros.
2259
2260 * loader/multiboot_loader.c (module_version_status): Remove variable.
2261 (find_multi_boot2_header): Remove function.
2262 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2263 logic. Always check for the Multiboot version we're compiling for.
2264 (grub_cmd_module_loader): Likewise.
2265 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2266 command instead of `multiboot'.
2267
5d2c52b8
RM
22682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2269
2270 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2271 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2272 all users.
2273
53108d92
RM
22742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Fix breakage introduced with previous commit.
2278
2279 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2280 commands.
2281 * normal/handler.c (read_handler_list): Revert part of previous commit
2282 affecting this file.
2283 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2284 (grub_normal_execute): ... here.
2285
e2e936b2
RM
22862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2287
2288 Merge prefix-redefinition-fix branch.
2289
2290 * normal/autofs.c (read_fs_list): Make function capable of being
2291 run multiple times, gracefuly replacing the previous data
2292 structures.
2293 * normal/dyncmd.c (read_command_list): Likewise.
2294 * normal/handler.c (read_handler_list): Likewise.
2295 * normal/main.c (read_lists): New function. Calls all the
2296 list reading functions.
2297 (grub_normal_execute): Use read_lists() instead of calling all
2298 list reading functions explicitly. Register read_lists() as a
2299 variable hook attached to ${prefix}.
2300
607a3701
VS
23012010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 Merge crypto branch.
2304
2305 * Makefile.in (pkglib_DATA): Add crypto.lst.
2306 (crypto.lst): New target.
2307 * commands/hashsum.c: New file.
2308 * commands/password.c (check_password): Use grub_crypto_memcmp.
2309 * commands/password_pbkdf2.c: New file.
2310 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2311 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2312 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2313 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2314 -I$(srcdir)/lib/libgcrypt_wrap.
2315 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2316 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2317 password_pbkdf2.mod.
2318 (crypto_mod_SOURCES): New variable.
2319 (crypto_mod_CFLAGS): Likewise.
2320 (crypto_mod_LDFLAGS): Likewise.
2321 (hashsum_mod_SOURCES): New variable.
2322 (hashsum_mod_CFLAGS): Likewise.
2323 (hashsum_mod_LDFLAGS): Likewise.
2324 (pbkdf2_mod_SOURCES): New variable.
2325 (pbkdf2_mod_CFLAGS): Likewise.
2326 (pbkdf2_mod_LDFLAGS): Likewise.
2327 (password_pbkdf2_mod_SOURCES): New variable.
2328 (password_pbkdf2_mod_CFLAGS): Likewise.
2329 (password_pbkdf2_mod_LDFLAGS): Likewise.
2330 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2331 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2332 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2333 Include conf/gcry.rmk.
2334 * include/grub/auth.h: Rewritten.
2335 * include/grub/crypto.h: New file.
2336 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2337 * include/grub/normal.h (read_crypto_list): New prototype.
2338 * lib/crypto.c: New file.
2339 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2340 * lib/pbkdf2.c: Likewise.
2341 * normal/auth.c (grub_auth_strcmp): Removed.
2342 (grub_iswordseparator): Likewise.
2343 (grub_auth_strword): Likewise.
2344 (is_authenticated): Use grub_strword.
2345 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2346 and grub_strword. Pass entered password to authentication callback.
2347 * normal/crypto.c: New file.
2348 * normal/main.c: Call read_crypto_list.
2349 * util/grub-mkpasswd-pbkdf2.c: New file.
2350 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2351
42841caa
VS
23522010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 Fix descent and ascent calculation.
2355
2356 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2357 (options): New option "asce".
2358 (usage): Likewise.
2359 (add_char): Ignore invalid glyphs for descent calculation.
2360 Calculate ascent from actual content.
2361 (print_glyphs): Use 'asce'.
2362 (write_font): Likewise. Allow ascent override.
2363 (main): Handle "asce" option.
2364
e7730de7 23652010-01-06 Carles Pina i Estany <carles@pina.cat>
2366
2367 * kern/err.c: Include `<grub/i18n.h>'.
2368 (grub_print_error): Add full stop. Gettextizze.
2369 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2370 (grub_bsd_load_elf): Capitalise ELF.
2371 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2372 (grub_cmd_freebsd_module): Likewise.
2373 (grub_cmd_freebsd_module_elf): Likewise.
2374 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2375
40e3a41f 23762010-01-06 Carles Pina i Estany <carles@pina.cat>
2377
2378 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2379 * commands/search_file.c (HELP_MESSAGE): New macro.
2380 * commands/search_label.c (HELP_MESSAGE): Likewise.
2381 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2382 * po/POTFILES: Add `commands/search_file.c',
2383 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2384 `commands/search.c'.
2385
83507e68
RM
23862010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2387
2388 * config.rpath: Update from Gnulib.
2389
465c787b
YB
23902010-01-05 Yves Blusseau <blusseau@zetam.org>
2391
2392 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2393
6581dd3a
YB
23942010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2395
2396 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2397
3bff18c5
CW
23982010-01-05 Colin Watson <cjwatson@ubuntu.com>
2399
2400 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2401 arguments to fread so that we get a return value in bytes, rather
2402 than something that will normally be rounded down to 0.
2403 Adjust error handling to avoid producing garbage when size_t is not
2404 the same size as long long.
2405
a1368118
CW
24062010-01-05 Colin Watson <cjwatson@ubuntu.com>
2407
2408 * util/mkisofs/write.c (padblock_write): Check return value of
2409 fread.
2410
7c302978
RM
24112010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2412
2413 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2414 floppy images now.
2415
2416 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2417
e33ace06
RM
24182010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2419
2420 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2421 instead of manual alignment.
2422 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2423 verbose). Avoid attempts to read past end of the device
2424 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2425 but GRUB_DISK_CACHE_SIZE may exceed that).
2426
4b856776
RM
24272010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2428
2429 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2430 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2431 it to upper layer.
2432
52c2d97f
VS
24332010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2436 New constant.
2437 (grub_efi_piwg_device_path): New structure
2438 (grub_efi_piwg_device_path_t): New type.
2439 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2440 (devpath_1): Transform to a structure. All users updated.
2441 (devpath_2): Likewise.
2442 (devpath_3): Likewise.
2443 (devpath_4): Likewise.
2444 (devpath_5): Likewise.
2445
98ff6a54
VS
24462010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * loader/efi/appleloader.c: Restored. Update all users.
2449
3a73dcb6
RM
24502010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2451
2452 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2453
2454 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2455 (struct boot_blocklist): Move from here ...
2456 * include/grub/i386/pc/boot.h [ASM_FILE]
2457 (struct grub_boot_blocklist): ... to here. Update all users.
2458 (setup): Only initialize `start' member of `first_block'
2459 structure. Add assert() calls to verify the other members.
2460
2461 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2462 (generate_image): Fix broken blocklist length initialization.
2463 Add assert() call to verify blocklist `segment' field.
2464
ab0eeb0c
RM
24652010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2466
2467 * loader/efi/appleloader.c: Remove. Update all users.
2468
58bc8bd5
RM
24692010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2470
2471 * boot/i386/pc/boot.S: Update copyright year.
2472 * boot/i386/pc/cdboot.S: Likewise.
2473 * boot/i386/pc/diskboot.S: Likewise.
2474 * boot/i386/pc/lnxboot.S: Likewise.
2475 * boot/i386/pc/pxeboot.S: Likewise.
2476 * bus/pci.c: Likewise.
2477 * commands/cmp.c: Likewise.
2478 * commands/help.c: Likewise.
2479 * commands/hexdump.c: Likewise.
2480 * commands/i386/pc/halt.c: Likewise.
2481 * commands/i386/pc/play.c: Likewise.
2482 * commands/i386/pc/vbeinfo.c: Likewise.
2483 * commands/ls.c: Likewise.
2484 * commands/test.c: Likewise.
2485 * disk/dmraid_nvidia.c: Likewise.
2486 * disk/i386/pc/biosdisk.c: Likewise.
2487 * disk/ieee1275/nand.c: Likewise.
2488 * disk/ieee1275/ofdisk.c: Likewise.
2489 * disk/lvm.c: Likewise.
2490 * disk/raid.c: Likewise.
2491 * disk/raid6_recover.c: Likewise.
2492 * disk/scsi.c: Likewise.
2493 * fs/affs.c: Likewise.
2494 * fs/cpio.c: Likewise.
2495 * fs/ext2.c: Likewise.
2496 * fs/hfs.c: Likewise.
2497 * fs/iso9660.c: Likewise.
2498 * fs/ntfs.c: Likewise.
2499 * fs/sfs.c: Likewise.
2500 * fs/udf.c: Likewise.
2501 * fs/ufs.c: Likewise.
2502 * fs/xfs.c: Likewise.
2503 * gencmdlist.sh: Likewise.
2504 * genmk.rb: Likewise.
2505 * include/grub/disk.h: Likewise.
2506 * include/grub/efi/api.h: Likewise.
2507 * include/grub/efi/efi.h: Likewise.
2508 * include/grub/efi/pe32.h: Likewise.
2509 * include/grub/elf.h: Likewise.
2510 * include/grub/fs.h: Likewise.
2511 * include/grub/i386/at_keyboard.h: Likewise.
2512 * include/grub/i386/pc/memory.h: Likewise.
2513 * include/grub/i386/pc/vbe.h: Likewise.
2514 * include/grub/i386/pci.h: Likewise.
2515 * include/grub/i386/tsc.h: Likewise.
2516 * include/grub/ieee1275/ieee1275.h: Likewise.
2517 * include/grub/ntfs.h: Likewise.
2518 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2519 * include/grub/sparc64/libgcc.h: Likewise.
2520 * include/grub/symbol.h: Likewise.
2521 * include/grub/types.h: Likewise.
2522 * include/multiboot2.h: Likewise.
2523 * io/gzio.c: Likewise.
2524 * kern/device.c: Likewise.
2525 * kern/disk.c: Likewise.
2526 * kern/efi/efi.c: Likewise.
2527 * kern/efi/mm.c: Likewise.
2528 * kern/elf.c: Likewise.
2529 * kern/file.c: Likewise.
2530 * kern/i386/dl.c: Likewise.
2531 * kern/i386/pc/init.c: Likewise.
2532 * kern/i386/pc/startup.S: Likewise.
2533 * kern/ieee1275/ieee1275.c: Likewise.
2534 * kern/ieee1275/init.c: Likewise.
2535 * kern/main.c: Likewise.
2536 * kern/mm.c: Likewise.
2537 * kern/powerpc/dl.c: Likewise.
2538 * kern/sparc64/dl.c: Likewise.
2539 * kern/x86_64/dl.c: Likewise.
2540 * lib/hexdump.c: Likewise.
2541 * loader/efi/appleloader.c: Likewise.
2542 * loader/i386/ieee1275/linux.c: Likewise.
2543 * loader/i386/pc/chainloader.c: Likewise.
2544 * loader/i386/pc/linux.c: Likewise.
2545 * loader/i386/pc/multiboot2.c: Likewise.
2546 * loader/ieee1275/multiboot2.c: Likewise.
2547 * loader/multiboot2.c: Likewise.
2548 * loader/multiboot_loader.c: Likewise.
2549 * loader/powerpc/ieee1275/linux.c: Likewise.
2550 * normal/completion.c: Likewise.
2551 * normal/menu_entry.c: Likewise.
2552 * partmap/apple.c: Likewise.
2553 * util/grub.d/10_hurd.in: Likewise.
2554 * util/hostfs.c: Likewise.
2555 * video/readers/png.c: Likewise.
2556
e2d70b5c
CW
25572010-01-03 Colin Watson <cjwatson@ubuntu.com>
2558
2559 * include/grub/misc.h (GNUC_PREREQ): New macro.
2560 (ATTRIBUTE_ERROR): New macro.
2561 * include/grub/list.h (grub_bad_type_cast_real): Use
2562 ATTRIBUTE_ERROR.
2563
a173283f 25642010-01-03 Carles Pina i Estany <carles@pina.cat>
2565
2566 * normal/menu_text.c (print_message): Change messages.
2567
7fa7ff74 25682010-01-03 Carles Pina i Estany <carles@pina.cat>
2569
2570 * normal/menu_entry.c (store_completion): Gettextizze.
2571
136d24f6 25722010-01-03 Carles Pina i Estany <carles@pina.cat>
2573
2574 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2575
f936862e 25762010-01-03 Carles Pina i Estany <carles@pina.cat>
2577
2578 * po/POTFILES: Sort correctly.
2579
29c44ad1 25802010-01-03 Carles Pina i Estany <carles@pina.cat>
2581
2582 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2583 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2584 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2585 full stop.
2586 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2587 summary. Gettextizze the strings.
2588 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2589 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2590 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2591 full stop.
2592 (GRUB_MOD_INIT): Remove command name from summary.
2593 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2594 summary.
2595 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2596 * term/i386/pc/serial.c (options): Add full stops.
2597 (GRUB_MOD_INIT): Remove command name from the summary.
2598
77a79592 25992010-01-03 Carles Pina i Estany <carles@pina.cat>
2600
2601 * commands/acpi.c: Gettextizze help strings and/or options. Include
2602 `grub/i18n.h' if needed.
2603 * commands/blocklist.c: Likewise.
2604 * commands/boot.c: Likewise.
2605 * commands/cat.c: Likewise.
2606 * commands/cmp.c: Likewise.
2607 * commands/configfile.c: Likewise.
2608 * commands/crc.c: Likewise.
2609 * commands/date.c: Likewise.
2610 * commands/echo.c: Likewise.
2611 * commands/efi/fixvideo.c: Likewise.
2612 * commands/efi/loadbios.c: Likewise.
2613 * commands/gptsync.c: Likewise.
2614 * commands/halt.c: Likewise.
2615 * commands/handler.c: Likewise.
2616 * commands/hdparm.c: Likewise.
2617 * commands/hexdump.c: Likewise.
2618 * commands/i386/cpuid.c: Likewise.
2619 * commands/i386/pc/drivemap.c: Likewise.
2620 * commands/i386/pc/halt.c: Likewise.
2621 * commands/i386/pc/pxecmd.c: Likewise.
2622 * commands/i386/pc/vbeinfo.c: Likewise.
2623 * commands/i386/pc/vbetest.c: Likewise.
2624 * commands/ieee1275/suspend.c: Likewise.
2625 * commands/keystatus.c: Likewise.
2626 * commands/loadenv.c: Likewise.
2627 * commands/ls.c: Likewise.
2628 * commands/lsmmap.c: Likewise.
2629 * commands/lspci.c: Likewise.
2630 * commands/memrw.c: Likewise.
2631 * commands/minicmd.c: Likewise.
2632 * commands/parttool.c: Likewise.
2633 * commands/password.c: Likewise.
2634 * commands/probe.c: Likewise.
2635 * commands/read.c: Likewise.
2636 * commands/reboot.c: Likewise.
2637 * commands/search.c: Likewise.
2638 * commands/sleep.c: Likewise.
2639 * commands/test.c: Likewise.
2640 * commands/true.c: Likewise.
2641 * commands/usbtest.c: Likewise.
2642 * commands/videotest.c: Likewise.
2643 * commands/xnu_uuid.c: Likewise.
2644 * disk/loopback.c: Likewise.
2645 * hello/hello.c: Likewise.
2646 * loader/i386/bsd.c: Likewise.
2647 * term/i386/pc/serial.c: Likewise.
2648 * po/POTFILES: Add new files.
2649
da8d5c53
CW
26502010-01-02 Colin Watson <cjwatson@ubuntu.com>
2651
2652 * term/i386/pc/at_keyboard.c
2653 (keyboard_controller_wait_untill_ready): Rename to ...
2654 (keyboard_controller_wait_until_ready): ... this. Update all users.
2655
33937904 26562010-01-01 Carles Pina i Estany <carles@pina.cat>
2657
2658 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
2659 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
2660 string using string width.
2661 * normal/menu_text.c (grub_print_message_indented): Use
2662 grub_print_spaces and not print_spaces.
2663 (print_timeout): Likewise.
2664 (print_spaces): Move to...
2665 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
2666
3fd3b8d8
RM
26672010-01-01 Robert Millan <rmh.grub@aybabtu.com>
2668
2669 Import from Gnulib.
2670
2671 * gnulib/getdelim.c: New file.
2672 * gnulib/getline.c: Likewise.
2673
33433555
VS
26742009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
2675
2676 * include/grub/list.h (grub_assert_fail): Removed.
2677 (grub_bad_type_cast_real): New function.
2678 (grub_bad_type_cast): New macro.
2679 (GRUB_AS_LIST): Use grub_bad_type_cast.
2680 (GRUB_AS_LIST_P): Likewise.
e44721e8 2681 (GRUB_AS_NAMED_LIST): Likewise.
33433555 2682 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 2683 (GRUB_AS_PRIO_LIST): Likewise.
33433555 2684 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 2685 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 2686
f5a51306
VS
26872009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
2690 Fix syntax error.
2691
90d1e879
RM
26922009-12-29 Robert Millan <rmh.grub@aybabtu.com>
2693
2694 * configure.ac: Check for TARGET_CFLAGS initialization before we
2695 initialize it ourselves (sigh).
2696 Move a few modifications to TARGET_CFLAGS to be unconditional
2697 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
2698 eh_frame)
2699
2700 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
2701 * term/i386/pc/at_keyboard.c
2702 (keyboard_controller_wait_untill_ready): Likewise.
2703 (keyboard_controller_led): Rename `led_status' paramter to avoid
2704 name conflict.
2705
465b5a81 27062009-12-28 Carles Pina i Estany <carles@pina.cat>
2707
2708 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
2709 quotes.
2710
c181849b
VS
27112009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2714
9c8739a4
VS
27152009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * normal/menu_text.c (grub_print_message_indented): Prevent
2718 past-the-end-of-array dereference.
2719
3e74249c
VS
27202009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
2723 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
2724
64fd18ed 27252009-12-27 Carles Pina i Estany <carles@pina.cat>
2726
2727 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
2728 * normal/main.c (grub_normal_read_line): Remove a space from the
2729 default prompt.
2730
714af9b9 27312009-12-27 Carles Pina i Estany <carles@pina.cat>
2732
2733 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
2734 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2735 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2736 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2737 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2738 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2739 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2740
82f3e412 27412009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 2742
2743 * video/readers/jpeg.c (cmd): Declare.
2744 (grub_cmd_jpegtest): Use `grub_command_t' type.
2745 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2746 Assign to `cmd'.
2747 (GRUB_MOD_FINI): Use `cmd' to unregister.
2748 * video/readers/png.c (cmd): Declare.
2749 (grub_cmd_pngtest): Use `grub_command_t' type.
2750 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2751 Assign to `cmd'.
2752 (GRUB_MOD_FINI): Use `cmd' to unregister.
2753 * video/readers/tga.c (cmd): Declare.
2754 (grub_cmd_tgatest): Use `grub_command_t' type.
2755 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
2756 Assign to `cmd'.
2757 (GRUB_MOD_FINI): Use `cmd' to unregister.
2758
82f3e412 27592009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 2760
2761 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
2762 stops.
2763 * kern/corecmd.c (grub_register_core_commands): Likewise.
2764 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
2765 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2766 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
2767 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2768 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
2769 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
2770 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
2771 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
2772 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2773 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
2774 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2775 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2776 * normal/handler.c (insert_handler): Likewise.
2777 * normal/main.c (GRUB_MOD_INIT): Likewise.
2778 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2779
fdcdbb66 27802009-12-26 Carles Pina i Estany <carles@pina.cat>
2781
2782 * commands/help.c (grub_cmd_help): Print the command name before the
2783 summary.
2784 (GRUB_MOD_INIT): Remove command name from the summary.
2785 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 2786 string as summary.
fdcdbb66 2787 * lib/arg.c (find_long): Print the command name before the summary.
2788 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
2789 summary.
2790 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
2791 * commands/cat.c (GRUB_MOD_INIT): Likewise.
2792 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
2793 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
2794 * commands/crc.c (GRUB_MOD_INIT): Likewise.
2795 * commands/date.c (GRUB_MOD_INIT): Likewise.
2796 * commands/echo.c (GRUB_MOD_INIT): Likewise.
2797 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
2798 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
2799 * commands/handler.c (GRUB_MOD_INIT): Likewise.
2800 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
2801 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
2802 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
2803 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
2804 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
2805 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
2806 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
2807 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
2808 * commands/ls.c (GRUB_MOD_INIT): Likewise.
2809 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
2810 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
2811 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
2812 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
2813 * commands/password.c (GRUB_MOD_INIT): Likewise.
2814 * commands/probe.c (GRUB_MOD_INIT): Likewise.
2815 * commands/read.c (GRUB_MOD_INIT): Likewise.
2816 * commands/search.c (GRUB_MOD_INIT): Likewise.
2817 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
2818 * commands/test.c (GRUB_MOD_INIT): Likewise.
2819 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
2820 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
2821 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
2822 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
2823 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
2824 * lib/arg.c (GRUB_MOD_INIT): Likewise.
2825 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
2826 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
2827 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
2828 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
2829 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
2830 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
2831 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
2832 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2833
9c288be2
VS
28342009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 Use search command for preliminar UUID search.
2837
2838 * commands/search.c: Split into ...
2839 * commands/search_wrap.c: ...this
2840 * commands/search.c: ...and this.
2841 * commands/search_file.c: New file.
2842 * commands/search_label.c: New file.
2843 * commands/search_uuid.c: New file.
2844 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
2845 Add commands/search_wrap.c, commands/search_file.c,
2846 commands/search_label.c and commands/search_uuid.c.
2847 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
2848 (search_mod_SOURCES): Set to commands/search_wrap.c.
2849 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
2850 search_label.mod.
2851 (search_fs_file_mod_SOURCES): New variable.
2852 (search_fs_file_mod_CFLAGS): Likewise.
2853 (search_fs_file_mod_LDFLAGS): Likewise.
2854 (search_label_mod_SOURCES): Likewise.
2855 (search_label_mod_CFLAGS): Likewise.
2856 (search_label_mod_LDFLAGS): Likewise.
2857 (search_fs_uuid_mod_SOURCES): New variable.
2858 (search_fs_uuid_mod_CFLAGS): Likewise.
2859 (search_fs_uuid_mod_LDFLAGS): Likewise.
2860 (fs_file_mod_SOURCES): Removed.
2861 (fs_file_mod_CFLAGS): Likewise.
2862 (fs_file_mod_LDFLAGS): Likewise.
2863 (fs_uuid_mod_SOURCES): Removed.
2864 (fs_uuid_mod_CFLAGS): Likewise.
2865 (fs_uuid_mod_LDFLAGS): Likewise.
2866 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
2867 Set to util/grub-install.in.
2868 * disk/fs_file.c: Removed.
2869 * disk/fs_uuid.c: Likewise.
2870 * include/grub/search.h: New file.
2871 * util/grub-install.in: Handle sparc64.
2872 Create and use load.cfg.
2873 * util/sparc64/ieee1275/grub-install.in: Removed.
2874
db943399
VS
28752009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
2878 Ignore return status if CF is cleared.
2879 (grub_biosdisk_get_diskinfo_standard): Likewise.
2880
3fdae612
RM
28812009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2882
2883 * term/i386/pc/at_keyboard.c
2884 (keyboard_controller_wait_untill_ready): New function.
2885 (grub_keyboard_controller_write, grub_keyboard_controller_read)
2886 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
2887 for keyboard polling, rather than duplicate the same loop. This
2888 saves a few bytes in code size.
2889
7ebaa2b4
VS
28902009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 Support for (pxe[:server[:gateway]]) syntax and
2893 use environment variable for PXE.
2894
2895 * commands/i386/pc/pxecmd.c (options): Removed.
2896 (print_ip): Removed.
2897 (grub_cmd_pxe): Removed
2898 (grub_cmd_pxe_unload): New function.
2899 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
2900 (grub_pxe_your_ip): Made static.
2901 (grub_pxe_default_server_ip): Likewise.
2902 (grub_pxe_default_gateway_ip): Likewise.
2903 (grub_pxe_blksize): Likewise.
2904 (parse_ip): New function.
2905 (grub_pxe_open): Support server and gateway specification.
2906 (grub_pxe_close): Free disk->data.
2907 (grub_pxefs_open): Use disk->data.
2908 (grub_pxefs_read): Likewise.
2909 (grub_env_write_readonly): New function.
2910 (set_mac_env): Likewise.
2911 (set_env_limn_ro): Likewise.
2912 (parse_dhcp_vendor): Likewise.
2913 (grub_pxe_detect): Set the environment variables.
2914 (set_ip_env): New function.
2915 (write_ip_env): Likewise.
2916 (grub_env_write_pxe_default_server): Likewise.
2917 (grub_env_write_pxe_default_gateway): Likewise.
2918 (grub_env_write_pxe_blocksize): Likewise.
2919 (GRUB_MOD_INIT(pxe)): Set environment variables.
2920 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
2921 (grub_pxe_mac_addr_t): ... this. All users updated.
2922 (grub_pxe_your_ip): Removed.
2923 (grub_pxe_server_ip): Likewise.
2924 (grub_pxe_gateway_ip): Likewise.
2925 (grub_pxe_blksize): Likewise.
2926
ec5f98ab 29272009-12-25 Carles Pina i Estany <carles@pina.cat>
2928
2929 * commands/help.c: Include `<grub/i18n.h>'.
2930 (grub_cmd_help): Gettextizze.
2931 (GRUB_MOD_INIT): Likewise.
2932 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
2933 (GRUB_MOD_INIT): Gettextizze.
2934 * commands/search.c: Include `<grub/i18n.h>'.
2935 (options): Gettextizze.
2936 (GRUB_MOD_INIT): Gettextizze.
2937 * lib/arg.c: Include `<grub/i18n.h>'.
2938 (help_options): Gettextizze.
2939 (find_long): Likewise.
2940 (grub_arg_show_help): Likewise.
2941 * normal/dyncmd.c: Include `<grub/i18n.h>'.
2942 (read_command_list): Gettextizze.
2943 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 2944 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 2945
22815526
RM
29462009-12-25 Robert Millan <rmh.grub@aybabtu.com>
2947
2948 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
2949 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
2950 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
2951 (led_status): New variable.
2952 (keyboard_controller_led): New function.
2953 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
2954 update led status for caps lock, num lock and scroll lock.
2955
0ad46fd7
FZ
29562009-12-25 Felix Zielcke <fzielcke@z-51.de>
2957
2958 * util/hostdisk.c (open_device): Fix a comment.
2959
d0e158c2
RM
29602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2961
2962 * util/grub-install.in (host_os): New variable.
2963 * util/i386/efi/grub-install.in (host_os): Likewise.
2964
401c0ad6
RM
29652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2966
2967 * util/mkisofs/write.c (padblock_write): Abort when given an
2968 excedingly large embed image, instead of silently truncating it.
2969
d14d3370
RM
29702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2971
2972 * include/multiboot.h: Indentation fixes.
2973
eeed10b4
RM
29742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2975
2976 * include/multiboot.h (struct multiboot_aout_symbol_table)
2977 (struct multiboot_elf_section_header_table): New structure
2978 declarations (stolen from GRUB Legacy).
2979 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
2980 table information.
2981
2982 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
2983 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
2984 type aliases.
2985
681c70ab
RM
29862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2987
2988 * include/multiboot.h: Make comments src2texi-friendly.
2989
e4d47d8d
RM
29902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
2991
2992 For consistency with [multiboot]/docs/boot.S.
2993
2994 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
2995 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
2996 (MULTIBOOT_MAGIC2): Rename from this ...
2997 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2998
a0b70bda
RM
29992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3000
3001 * include/multiboot.h: Remove `<grub/types.h>'.
3002 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
3003 types. Update all users.
3004
61ba42be 30052009-12-25 Carles Pina i Estany <carles@pina.cat>
3006
3007 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
3008 `couldn't' and `can not' by `cannot'.
3009 * commands/i386/pc/drivemap.c: Likewise.
3010 * disk/ata.c: Likewise.
3011 * disk/ieee1275/nand.c: Likewise.
3012 * fs/affs.c: Likewise.
3013 * fs/fat.c: Likewise.
3014 * fs/hfs.c: Likewise.
3015 * fs/hfsplus.c: Likewise.
3016 * fs/iso9660.c: Likewise.
3017 * fs/jfs.c: Likewise.
3018 * fs/minix.c: Likewise.
3019 * fs/reiserfs.c: Likewise.
3020 * fs/sfs.c: Likewise.
3021 * fs/udf.c: Likewise.
3022 * fs/ufs.c: Likewise.
3023 * fs/xfs.c: Likewise.
3024 * loader/powerpc/ieee1275/linux.c: Likewise.
3025 * loader/sparc64/ieee1275/linux.c: Likewise.
3026 * util/grub-probe.c: Likewise.
3027 * util/misc.c: Likewise.
3028
7fd0baee 30292009-12-24 Carles Pina i Estany <carles@pina.cat>
3030
3031 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
3032 grub_errno calls.
3033 * commands/acpi.c: Likewise.
3034 * commands/blocklist.c: Likewise.
3035 * commands/efi/loadbios.c: Likewise.
3036 * commands/i386/pc/drivemap.c: Likewise.
3037 * commands/loadenv.c: Likewise.
3038 * commands/memrw.c: Likewise.
3039 * commands/password.c: Likewise.
3040 * commands/videotest.c: Likewise.
3041 * disk/ata.c: Likewise.
3042 * disk/ata_pthru.c: Likewise.
3043 * disk/dmraid_nvidia.c: Likewise.
3044 * disk/ieee1275/nand.c: Likewise.
3045 * disk/ieee1275/ofdisk.c: Likewise.
3046 * disk/loopback.c: Likewise.
3047 * disk/lvm.c: Likewise.
3048 * disk/mdraid_linux.c: Likewise.
3049 * disk/raid.c: Likewise.
3050 * disk/raid6_recover.c: Likewise.
3051 * disk/scsi.c: Likewise.
3052 * efiemu/main.c: Likewise.
3053 * efiemu/mm.c: Likewise.
3054 * efiemu/pnvram.c: Likewise.
3055 * efiemu/symbols.c: Likewise.
3056 * font/font.c: Likewise.
3057 * fs/cpio.c: Likewise.
3058 * fs/hfsplus.c: Likewise.
3059 * fs/iso9660.c: Likewise.
3060 * fs/jfs.c: Likewise.
3061 * fs/minix.c: Likewise.
3062 * fs/ntfs.c: Likewise.
3063 * fs/ntfscomp.c: Likewise.
3064 * fs/reiserfs.c: Likewise.
3065 * fs/ufs.c: Likewise.
3066 * fs/xfs.c: Likewise.
3067 * gettext/gettext.c: Likewise.
3068 * include/grub/auth.h: Likewise.
3069 * kern/elf.c: Likewise.
3070 * kern/file.c: Likewise.
3071 * kern/ieee1275/init.c: Likewise.
3072 * kern/ieee1275/mmap.c: Likewise.
3073 * kern/ieee1275/openfw.c: Likewise.
3074 * kern/powerpc/dl.c: Likewise.
3075 * kern/sparc64/dl.c: Likewise.
3076 * lib/arg.c: Likewise.
3077 * loader/i386/bsd.c: Likewise.
3078 * loader/i386/bsdXX.c: Likewise.
3079 * loader/i386/efi/linux.c: Likewise.
3080 * loader/i386/efi/xnu.c: Likewise.
3081 * loader/i386/ieee1275/linux.c: Likewise.
3082 * loader/i386/linux.c: Likewise.
3083 * loader/i386/multiboot.c: Likewise.
3084 * loader/i386/pc/linux.c: Likewise.
3085 * loader/i386/pc/multiboot2.c: Likewise.
3086 * loader/i386/xnu.c: Likewise.
3087 * loader/ieee1275/multiboot2.c: Likewise.
3088 * loader/macho.c: Likewise.
3089 * loader/machoXX.c: Likewise.
3090 * loader/multiboot2.c: Likewise.
3091 * loader/multiboot_loader.c: Likewise.
3092 * loader/powerpc/ieee1275/linux.c: Likewise.
3093 * loader/sparc64/ieee1275/linux.c: Likewise.
3094 * loader/xnu.c: Likewise.
3095 * loader/xnu_resume.c: Likewise.
3096 * mmap/i386/pc/mmap.c: Likewise.
3097 * normal/menu_viewer.c: Likewise.
3098 * partmap/acorn.c: Likewise.
3099 * partmap/amiga.c: Likewise.
3100 * partmap/apple.c: Likewise.
3101 * script/lexer.c: Likewise.
3102 * term/gfxterm.c: Likewise.
3103 * term/i386/pc/serial.c: Likewise.
3104 * term/i386/pc/vga.c: Likewise.
3105 * term/ieee1275/ofconsole.c: Likewise.
3106 * term/terminfo.c: Likewise.
3107 * video/bitmap.c: Likewise.
3108 * video/efi_gop.c: Likewise.
3109 * video/efi_uga.c: Likewise.
3110 * video/fb/video_fb.c: Likewise.
3111 * video/i386/pc/vbe.c: Likewise.
3112 * video/readers/tga.c: Likewise.
3113 * video/video.c: Likewise.
3114
0ad46fd7 31152009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
3116
3117 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
3118 * commands/lspci.c: Likewise.
3119 * commands/probe.c: Likewise.
3120 * commands/xnu_uuid.c: Likewise.
3121 * conf/i386-coreboot.rmk: Likewise.
3122 * conf/i386-efi.rmk: Likewise.
3123 * conf/i386-ieee1275.rmk: Likewise.
3124 * conf/i386-pc.rmk: Likewise.
3125 * conf/powerpc-ieee1275.rmk: Likewise.
3126 * conf/sparc64-ieee1275.rmk: Likewise.
3127 * conf/x86_64-efi.rmk: Likewise.
3128 * fs/i386/pc/pxe.c: Likewise.
3129 * gettext/gettext.c: Likewise.
3130 * include/grub/efi/graphics_output.h: Likewise.
3131 * include/grub/i386/pc/memory.h: Likewise.
3132 * kern/env.c: Likewise.
3133 * kern/i386/qemu/startup.S: Likewise.
3134 * lib/i386/pc/biosnum.c: Likewise.
3135 * lib/i386/relocator.c: Likewise.
3136 * lib/i386/relocator_asm.S: Likewise.
3137 * lib/relocator.c: Likewise.
3138 * loader/i386/bsd.c: Likewise.
3139 * loader/i386/multiboot.c: Likewise.
3140 * loader/i386/pc/chainloader.c: Likewise.
3141 * loader/i386/xnu.c: Likewise.
3142 * loader/xnu.c: Likewise.
3143 * normal/main.c: Likewise.
3144 * normal/menu_text.c: Likewise.
3145 * util/getroot.c: Likewise.
3146 * util/grub-mkconfig_lib.in: Likewise.
3147 * util/grub.d/00_header.in: Likewise.
3148 * util/i386/pc/grub-mkimage.c: Likewise.
3149 * util/mkisofs/eltorito.c: Likewise.
3150 * util/mkisofs/exclude.h: Likewise.
3151 * util/mkisofs/hash.c: Likewise.
3152 * util/mkisofs/iso9660.h: Likewise.
3153 * util/mkisofs/joliet.c: Likewise.
3154 * util/mkisofs/mkisofs.c: Likewise.
3155 * util/mkisofs/mkisofs.h: Likewise.
3156 * util/mkisofs/multi.c: Likewise.
3157 * util/mkisofs/name.c: Likewise.
3158 * util/mkisofs/rock.c: Likewise.
3159 * util/mkisofs/tree.c: Likewise.
3160 * util/mkisofs/write.c: Likewise.
3161 * video/efi_gop.c: Likewise.
3162
009ec743
VS
31632009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
3166 size counting.
3167
0ad46fd7 31682009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
3169
3170 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
3171 * genmk.rb (class SCRIPT): Modify the target file instead of source.
3172
d3d30ea0
VS
31732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
3176 (GRUB_MOD_INIT(memrw)): Update help line.
3177
a34f5c70
VS
31782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
3181 Use grub_extcmd_t. All users updated.
3182 (options): New variable.
3183 (grub_cmd_read): Restructure for readability. Support "-v" option.
3184 (grub_cmd_write): Restructure for readability.
3185
0ad46fd7 31862009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
3187
3188 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3189
0ad46fd7 31902009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
3191
3192 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3193 with the actual contents of the correspondending make variable.
3194 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3195 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3196 specifying `*.lst' and `efiemu??.o'
3197
0ad46fd7 31982009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
3199
3200 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3201 after function name.
3202 Noticed by Rene Engelhard <rene@debian.org>.
3203
dc77a799
VS
32042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3207 (options): New variable.
3208 (iospace): Likewise.
3209 (grub_lspci_iter): List IO spaces if "-i" was given.
3210 (grub_cmd_lspci): Parse options.
3211 (GRUB_MOD_INIT(lspci)): Use extcmd.
3212 (GRUB_MOD_FINI(lspci)): Likewise.
3213
0ad46fd7 32142009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
3215
3216 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3217 `function' keyword.
3218 Patch by Tony Mancill <tmancill@debian.org>.
3219
b5d5993b
VS
32202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3223 (grub_uhci_portstatus): Likewise.
3224 (grub_uhci_portstatus): Add necessary delay.
11d18281 3225 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 3226
941903f2 32272009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 3228
941903f2 3229 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3230 (GRUB_MOD_INIT): Likewise.
3231 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 3232 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3233 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 3234 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3235 (enable_rom_area): Likewise.
3236 (GRUB_MOD_INIT): Likewise.
3237 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3238 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3239 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3240 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3241 * commands/hexdump.c (options): Likewise.
3242 * commands/i386/cpuid.c (options): Likewise.
3243 (GRUB_MOD_INIT): Likewise.
3244 * commands/i386/pc/drivemap.c (options): Likewise.
3245 (GRUB_MOD_INIT): Likewise.
3246 * commands/i386/pc/halt (options): Likewise.
3247 (GRUB_MOD_INIT): Likewise.
3248 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3249 * commands/i386/pc/pxecmd.c (options): Likewise.
3250 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3251 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3252 * commands/keystatus.c (options): Likewise.
3253 (GRUB_MOD_INIT): Likewise.
3254 * commands/loadenv.c (options): Likewise.
3255 * commands/ls.c (options): Likewise.
3256 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3257 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3258 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3259 * commands/parttool.c (helpmsg): Likewise.
3260 * commands/probe.c (options): Likewise.
3261 * commands/read.c (GRUB_MOD_INIT): Likewise.
3262 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3263 * commands/search.c (options): Likewise.
3264 * commands/sleep.c (options): Likewise.
3265 * commands/test.c (GRUB_MOD_INIT): Likewise.
3266 * commands/true.c (GRUB_MOD_INIT): Likewise.
3267 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3268 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3269 * lib/arg.c (help_options): Likewise.
e9bbb4e7 3270 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3271 `$(XGETTEXT)'.
98a50553 3272 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 3273
0ad46fd7 32742009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 3275
ef3c2c3a 3276 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
3277 instead of specifying them explicit.
3278
7922f68b
RM
32792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3280
3281 * NEWS: Add grub-probe support for GNU/Hurd.
3282
537ce47f
RM
32832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3284
3285 * NEWS: gettext was added after 1.97.
3286
9b214e3a
RM
32872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3288
3289 * util/mkisofs/msdos_partition.h: New file (based on
3290 include/grub/msdos_partition.h).
3291 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3292 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3293 (ld_options, main): Recognize --protective-msdos-label.
3294 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3295 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3296 (padblock_write): If `use_protective_msdos_label' is set, patch a
3297 protective DOS-style label in the output image.
3298
3299 * util/grub-mkrescue.in: Use --protective-msdos-label.
3300
e9309813
RM
33012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3302
3303 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3304 boot.
3305
0ae56929
RM
33062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3307
3308 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3309 variables.
3310 (ld_options, main): Recognize `--embedded-boot'.
3311 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3312 declarations.
3313 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3314 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3315 (padblock_write): Likewise. Rewrite to support embedded boot image.
3316
3317 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3318 for BIOS-based disk boot instead of only ElTorito.
3319
b15937b1
RM
33202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3321
3322 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3323 build (not needed for bootstrap).
3324
52cc3ce0
RM
33252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3326
3327 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3328 from i386-pc build (not needed for bootstrap).
3329 Rewrite a pair of strings.
3330
36f5ff04
RM
33312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3332
3333 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3334
973c6c85 33352009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3336
3337 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3338
05d21547
AB
33392009-12-21 Andreas Born <futur.andy@googlemail.com>
3340
3341 * kern/env.c (grub_env_context_open): Mark exported variable for
3342 reexport.
3343
0175d51f
AB
33442009-12-21 Andreas Born <futur.andy@googlemail.com>
3345
3346 * kern/env.c (grub_env_export): Create nonexistent variables before
3347 exporting.
3348
7f39d92f 33492009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3350
7f39d92f 3351 * include/grub/auth.h: Include `<grub/i18n.h>'.
3352 (GRUB_GET_PASSWORD): Gettextizze string.
3353 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3354 menu_text.c.
3355 (grub_utf8_to_ucs4_alloc): Fix indentation.
3356 (grub_print_ucs4): Likewise.
3357 (grub_getstringwidth): Likewise.
3358 (print_message_indented): New declaration.
3359 * normal/auth.c: Include `<grub/i18n.h>'.
3360 (grub_auth_check_authentication): Gettexttize string.
3361 * normal/cmdline.c: Include `<grub/i18n.h>'.
3362 (grub_cmdline_get): Gettextizze.
3363 * normal/color.c: Include `<grub/i18n.h>'.
3364 (grub_parse_color_name_pair): Gettexttize strings.
3365 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3366 string (use `print_message_indented').
3367 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3368 `include/grub/normal.h'.
3369 (print_message_indented): Renamed to ...
3370 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3371 used in normal/main.c).
3372 (print_message): Use `grub_print_message_indented' instead of
3373 `print_message_indented'.
3374 (print_timeout): Likewise.
3375 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3376 (grub_normal_print_device_info): Gettexttize strings.
3377 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3378
3041d898
VS
33792009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3382 of arguments. Return number of tokens and not arguments. All users
3383 updated.
3384
de15bf8e
VS
33852009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3388 non-MSDOS paritions.
3389
e0a6ca52
VS
33902009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * include/grub/types.h (UNUSED): Removed since it conflicts with
3393 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3394 Reported by Grégoire Sutre.
3395
b99518d1 33962009-12-19 Carles Pina i Estany <carles@pina.cat>
3397
3398 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3399 (grub_print_ucs4_alloc): Likewise.
3400 (grub_getstringwidth): Likewise.
3401 * normal/main.c (grub_normal_init_page): Gettextize version string.
3402 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3403 (getstringwidth): Renamed to ...
3404 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3405 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3406 (grub_print_ucs4): Remove `static' qualifer (now used in
3407 normal/main.c).
3408 * po/POTFILES: Add normal/main.c.
3409
bfd5e52b 34102009-12-19 Carles Pina i Estany <carles@pina.cat>
3411
3412 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3413 (print_message_indented): Add `margin_left' and `margin_right'
3414 parameters.
3415 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3416 strings.
3417 (print_timeout): Use `print_message_indented' to print the message.
3418 Deletes `second_stage' parameter.
3419 (run_menu): Update `print_timeout' calls.
3420
5a1ad2b9
VS
34212009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 Fix console palette on OpenFirmware.
3424
3425 * term/ieee1275/ofconsole.c (MAX): Removed.
3426 (colors): Redone based on VGA palette.
3427 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3428 colors are supported.
3429 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3430
b045f00a
VS
34312009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 Fix potential EfiEmu double prepare.
3434
3435 * efiemu/main.c (prepared): New variable
3436 (grub_efiemu_unload): Set prepare to '0'.
3437 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3438
3439 set_virtual_address_map support.
3440
3441 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3442 prototype.
3443 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3444 prototype.
3445 (grub_efiemu_crc32): Likewise.
3446 (grub_efiemu_crc64): Likewise.
3447 (grub_efiemu_set_virtual_address_map): Likewise.
3448 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3449 New definition.
3450 (grub_autoefi_set_virtual_address_map): Likewise.
3451 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3452 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3453 Restructure flow to accomodate it.
3454 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3455 (grub_efiemu_crc): Recompute CRC32.
3456 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3457 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3458 * efiemu/symbols.c (relocated_handle): New variable.
3459 (grub_efiemu_free_syms): Free relocated_handle.
3460 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3461 (grub_efiemu_write_sym_markers): New function.
3462 (grub_efiemu_set_virtual_address_map): Likewise.
3463
3464 Newer XNU parameters.
3465
3466 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3467 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3468 (grub_xnu_fill_devicetree): New prototype.
3469 (grub_xnu_heap_real_start): New variable.
3470 * loader/xnu.c (get_name_ptr): New function.
3471 (grub_xnu_load_driver): Fill namelen and name.
3472
3473 64-bit xnu support.
3474
3475 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3476 and 'loader/macho64.c'.
3477 * conf/i386-pc.rmk: Likewise.
3478 * conf/x86_64-efi.rmk: Likewise.
3479 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3480 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3481 * include/grub/macho.h (grub_macho_segment64): New structure.
3482 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3483 (grub_macho_size32): ... to this.
3484 (grub_macho32_get_entry_point): Renamed from ...
3485 (grub_macho_get_entry_point32): ... to this.
3486 (grub_macho_contains_macho64): New prototype.
3487 (grub_macho_size64): Likewise.
3488 (grub_macho_get_entry_point64): Likewise.
3489 (grub_macho32_load): Renamed from ...
3490 (grub_macho_load32): ... to this.
3491 (grub_macho32_filesize): Renamed from ...
3492 (grub_macho_filesize32): ... to this.
3493 (grub_macho32_readfile): Renamed from ...
3494 (grub_macho_readfile32): ... to this.
3495 (grub_macho_filesize64): New prototype.
3496 (grub_macho_readfile64): Likewise.
3497 (grub_macho_parse32): Likewise.
3498 (grub_macho_parse64): Likewise.
3499 * loader/macho.c: Split into ...
3500 * loader/machoXX.c: ... and this. Replace 32 with XX.
3501 * loader/macho32.c: New file.
3502 * loader/macho64.c: Likewise.
3503 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3504 (grub_cmd_xnu_kernel): Make 32-bit only.
3505 (grub_cmd_xnu_kernel64): New function.
3506 (grub_xnu_load_driver): Support Mach-O 64.
3507 (grub_cmd_xnu_mkext): Likewise.
3508 * util/grub.d/30_os-prober.in (osx_entry): New function.
3509 Generate entries for 64-bit boot too.
3510
3511 Eliminate ad-hoc tree format in XNU and EfiEmu.
3512
3513 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3514 * efiemu/pnvram.c: Rewritten to use environment variables.
3515 All users updated.
3516
3517 Inline utf16_to_utf8.
3518
3519 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3520 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3521 All users updated.
3522 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3523
3524 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3525 * commands/usbtest.c (grub_usb_get_string): ... move here.
3526 (usb_print_str): Fix error handling.
3527 * include/grub/usb.h (grub_usb_get_string): Remove.
3528
3529 UTF-8 to UTF-16 transformation.
3530
3531 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3532 (charset_mod_SOURCES): New variable.
3533 (charset_mod_CFLAGS): Likewise.
3534 (charset_mod_LDFLAGS): Likewise.
3535 * include/grub/utf.h: New file.
3536 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3537
3538 Support for device properties.
3539
3540 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3541 (grub_xnu_devprop_device_header): Likewise.
3542 (grub_xnu_devprop_device_descriptor): Likewise.
3543 (grub_xnu_devprop_add_device): New prototype.
3544 (grub_xnu_devprop_remove_device): Likewise.
3545 (grub_xnu_devprop_remove_property): Likewise.
3546 (grub_xnu_devprop_add_property_utf8): Likewise.
3547 (grub_xnu_devprop_add_property_utf16): Likewise.
3548 (grub_cpu_xnu_init): Likewise.
3549 (grub_cpu_xnu_fini): Likewise.
3550 (grub_cpu_xnu_unload): Likewise.
3551 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3552 (property_descriptor): Likewise.
3553 (devices): New variable.
3554 (grub_xnu_devprop_remove_property): New function.
3555 (grub_xnu_devprop_add_device): Likewise.
3556 (grub_xnu_devprop_remove_device): Likewise.
3557 (grub_xnu_devprop_add_property): Likewise.
3558 (grub_xnu_devprop_add_property_utf8): Likewise.
3559 (grub_xnu_devprop_add_property_utf16): Likewise.
3560 (hextoval): Likewise.
3561 (grub_cpu_xnu_fill_devprop): Likewise.
3562 (grub_cmd_devprop_load): Likewise.
3563 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3564 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3565 (cmd_devprop_load): New variable.
3566 (grub_cpu_xnu_init): New function.
3567 (grub_cpu_xnu_fini): Likewise.
3568 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3569 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3570 (grub_cmd_xnu_devtree): Likewise.
3571 (hextoval): New function.
3572 (unescape): Likewise.
3573 (grub_xnu_fill_devicetree): Likewise.
3574
3575 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3576 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3577
0945f181
VS
35782009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 Workaround for broken ATI VBE.
3581
3582 * video/i386/pc/vbe.c (last_set_mode): New variable.
3583 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3584 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3585 (grub_video_vbe_setup): Don't check for reserved flag.
3586
0ad46fd7 35872009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
3588
3589 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3590 the `find' command.
3591
c179ebe4
VS
35922009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 UUID support for HFS.
3595
3596 * fs/hfs.c (grub_hfs_uuid): New function.
3597 (grub_hfs_fs): New value .uuid.
3598 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3599
0ad46fd7 36002009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
3601
3602 Fix a segfault with parsing unknown long options.
3603
3604 * util/grub-mkrelpath.c (options): Zero terminate it.
3605
c4a3e41a
CPE
36062009-12-13 Carles Pina i Estany <carles@pina.cat>
3607
3608 * include/grub/misc.h (grub_puts): New declaration.
3609 (grub_puts_): Likewise.
a22008a6 3610 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
3611 (grub_puts_): Likewise.
3612
2e8a7602
RM
36132009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3614
3615 * util/grub-probe.c (probe): Improve error message.
3616
b50b77b9
RM
36172009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3618
3619 * loader/i386/multiboot_elfxx.c
3620 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3621 initialization.
3622
36232009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Relocator framework
3626
3627 * loader/i386/xnu_helper.S: Removed. All users updated.
3628 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3629 (relocator_mod_SOURCES): New variable.
3630 (relocator_mod_CFLAGS): Likewise.
3631 (relocator_mod_LDFLAGS): Likewise.
3632 (relocator_mod_ASFLAGS): Likewise.
3633 * conf/x86_64.rmk: Likewise.
3634 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
3635 (grub_multiboot_payload_entry_offset): Likewise.
3636 (grub_multiboot_forward_relocator): Likewise.
3637 (grub_multiboot_forward_relocator_end): Likewise.
3638 (grub_multiboot_backward_relocator): Likewise.
3639 (grub_multiboot_backward_relocator_end): Likewise.
3640 (grub_multiboot_payload_eip): New variable.
3641 (grub_multiboot_payload_orig): Likewise.
3642 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
3643 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
3644 * include/grub/i386/memory.h
3645 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
3646 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
3647 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
3648 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
3649 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3650 * include/grub/i386/relocator.h: New file.
3651 * include/grub/x86_64/relocator.h: Likewise.
3652 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
3653 (XNU_RELOCATOR): New macro.
3654 (grub_xnu_launcher_start): Remove.
3655 (grub_xnu_launcher_end): Likewise.
3656 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
3657 (grub_xnu_heap_real_start): Remove.
3658 (grub_xnu_heap_start): Change to void *. All users updated.
3659 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
3660 * lib/i386/relocator.c: New file.
3661 * lib/i386/relocator_asm.S: Likewise.
3662 * lib/i386/relocator_backward.S: Likewise.
3663 * lib/mips/relocator.c: Likewise.
3664 * lib/mips/relocator_asm.S: Likewise.
3665 * lib/relocator.c: Likewise.
3666 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
3667 (entry): Removed.
3668 (playground): Likewise.
3669 (grub_multiboot_payload_orig): New variable.
3670 (grub_multiboot_payload_dest): Likewise.
3671 (grub_multiboot_payload_size): Likewise.
3672 (grub_multiboot_payload_eip): Likewise.
3673 (grub_multiboot_payload_esp): Likewise.
3674 (grub_multiboot_boot): Use grub_relocator32_boot.
3675 (grub_multiboot_unload): Free relocators.
3676 (grub_multiboot): Setup stack. Use relocators.
3677 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
3678 (grub_multiboot_load_elfXX): Use relocators.
3679 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
3680 (grub_multiboot_payload_size): Likewise.
3681 (grub_multiboot_payload_dest): Likewise.
3682 (grub_multiboot_payload_entry_offset): Likewise.
3683 (grub_multiboot_forward_relocator): Likewise.
3684 (grub_multiboot_backward_relocator): Likewise.
3685 (grub_multiboot_real_boot): Likewise.
3686 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
3687 (grub_xnu_entry_point): Likewise.
3688 (grub_xnu_arg1): Likewise.
3689 (grub_xnu_stack): Likewise.
3690 (grub_xnu_launch): Removed.
3691 (grub_xnu_boot_resume): New function.
3692 (grub_xnu_boot): Use relocators.
3693 * loader/i386/xnu_helper.S: Removed.
3694 * loader/xnu.c (grub_xnu_heap_start): New variable.
3695 (grub_xnu_heap_size): Likewise.
3696 (grub_xnu_heap_malloc): Use relocators.
3697 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
3698
29eb90c6
VS
36992009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
3702 anything.
3703
31027430
CPE
37042009-12-13 Carles Pina i Estany <carles@pina.cat>
3705
3706 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
3707 GRUB_ERR_NONE before calling grub_env_set.
3708
dc0c71d9
RM
37092009-12-12 Robert Millan <rmh@aybabtu.com>
3710
3711 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
3712 * genmk.rb (video): New variable.
3713 (CLEANFILES, VIDEOFILES): Add #{video}.
3714 (#{video}): New target rule.
3715 * genvideolist.sh: New file.
3716 * Makefile.in (pkglib_DATA): Add video.lst.
3717 (video.lst): New target rule.
3718 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
3719 `video.lst'.
3720 * util/grub.d/30_os-prober.in: Replace `vbe' with
3721 ${GRUB_VIDEO_BACKEND}.
3722
2a4bfcf0
RM
37232009-12-11 Robert Millan <rmh.grub@aybabtu.com>
3724
3725 * THANKS: Add David Miller.
3726
2a3aa4d5
RM
37272009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 libpciaccess support.
3730
3731 * Makefile.in (LIBPCIACCESS): New variable.
3732 (enable_grub_emu_pci): Likewise.
3733 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
3734 util/pci.c and commands/lspci.c.
3735 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
3736 * configure.ac (grub-emu-pci): New option.
3737 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
3738 (grub_pci_device_unmap_range): Likewise.
3739 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
3740 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
3741 (grub_pci_address_t) [!GRUB_UTIL]: New type.
3742 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
3743 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
3744 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
3745 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
3746 * include/grub/pciutils.h: New file.
3747 * util/pci.c: Likewise.
3748
0ad46fd7 37492009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
3750
3751 * util/misc.c: Don't include <errno.h> twice.
3752
0ad46fd7 37532009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
3754
3755 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
3756 name in an error message.
3757 (grub_biosdisk_rw): Likewise.
3758
2e59983c
VS
37592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 Eliminate NTFS 4Gib barrier.
3762
3763 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
3764 (read_run_data): Likewise.
3765 (grub_ntfs_read_run_list): Likewise.
3766 (grub_ntfs_read_block): Likewise.
3767 (grub_ntfs_iterate_dir): Likewise.
3768 (read_mft): Likewise.
3769 (read_data): Likewise.
3770 Use COM_LOG_LEN.
3771 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
3772 to avoid 64-bit division
3773 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
3774 (grub_ntfs_rlst): Use grub_disk_addr_t.
3775
71ee178a
VS
37762009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 Eliminate grub-fstest 4Gib barrier.
3779
3780 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
3781 (read_file): Fix error reporting.
3782
2520d4b8
VS
37832009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Eliminate hexdump 4Gib barrier.
3786
3787 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
3788 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
3789
e1f27065
VS
37902009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
3793 Fixes amarsh bug.
3794
1a0f7f45
RM
37952009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
3796
3797 Remove miscellaneous files in distclean target.
3798
3799 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
3800
c631d9fb
CW
38012009-12-09 Colin Watson <cjwatson@ubuntu.com>
3802
3803 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
3804 if they're already set. This resolves the conflict between my
3805 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
3806 fixing the --grub-probe option again.
3807 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
3808 change on 2009-10-06, so that we now once again source
3809 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
3810
7c7b6106
RM
38112009-12-08 Robert Millan <rmh.grub@aybabtu.com>
3812
3813 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
3814 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
3815 `util/devicemap.c'.
3816
e3069ec1
CPE
38172009-12-08 Carles Pina i Estany <carles@pina.cat>
3818
3819 * include/grub/misc.h (grub_printf_): New declaration.
3820 * kern/misc.c (grub_printf_): New definition.
3821 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
3822 instead of `grub_printf' and `_'.
3823 * normal/menu_entry.c (store_completion): Likewise.
3824 (run): Likewise.
3825 (grub_menu_entry_run): Likewise.
3826 * normal/menu_text.c (grub_wait_after_message): Likewise.
3827 (notify_booting): Likewise.
3828 (notify_fallback): Likewise.
3829 (notify_execution_failure): Likewise.
3830
d6ceebf1
CW
38312009-12-07 Colin Watson <cjwatson@ubuntu.com>
3832
3833 * configure.ac: Check for vasprintf.
3834 * util/misc.c (asprintf): Move allocation from here ...
3835 (vasprintf): ... to here. New function.
3836 (xasprintf): New function.
3837 * include/grub/util/misc.h (vasprintf, xasprintf): Add
3838 prototypes.
3839 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
3840 * util/grub-mkfont.c (write_font): Likewise.
3841 * util/grub-probe.c (probe): Likewise.
3842 * util/hostdisk.c (make_device_name): Likewise.
3843
de6daa8b
DM
38442009-12-06 David S. Miller <davem@sunset.davemloft.net>
3845
3846 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
3847 anything even prefixed with 'cdrom' as a cdrom.
3848
0ad46fd7 38492009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
3850
3851 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
3852 mount points.
3853
98d3dc02
CPE
38542009-12-05 Carles Pina i Estany <carles@pina.cat>
3855
3856 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
3857 grub_gettext_msg_list.
3858 (grub_gettext_gettranslation_from_position): Return const char *
3859 and not char *.
a2c1332b 3860 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
3861 returns from the list if existing there.
3862 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
3863 (grub_gettext_delete_list): Delete the list.
3864 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
3865 lang environment variable is changed.
3866 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
3867
b283f108
VS
38682009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 Rename kernel.mod to kernel.img.
3871
3872 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
3873 (kernel_mod_EXPORTS): Rename to ...
3874 (kernel_img_EXPORTS): ... this.
3875 (kernel_mod_SOURCES): Rename to ...
3876 (kernel_img_SOURCES): ... this.
3877 (kernel_mod_HEADERS): Rename to ...
3878 (kernel_img_HEADERS): ... this. All users updated.
3879 (kernel_mod_CFLAGS): Rename to ...
3880 (kernel_img_CFLAGS): ... this.
3881 (kernel_mod_ASFLAGS): Rename to ...
3882 (kernel_img_ASFLAGS): ... this.
3883 (kernel_mod_LDFLAGS): Rename to ...
3884 (kernel_img_LDFLAGS): ... this.
3885 * conf/x86_64-efi.rmk: Likewise.
3886 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
3887 (read_kernel_image): ... this. All users updated.
3888 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
3889
69055f8a
CPE
38902009-12-05 Carles Pina i Estany <carles@pina.cat>
3891
3892 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
3893 (print_spaces): New function.
3894 (grub_print_ucs4): New function.
3895 (getstringwidth): New function.
3896 (print_message_indented): New function.
3897 (print_message): Gettexttize strings using print_message_indented.
3898 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
3899 width.
3900 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 3901 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
3902 Gettextize.
3903 * normal/menu_entry.c (store_completion): Cleanup the gettextized
3904 string.
3905 (run): Likewise.
3906 (grub_menu_entry_run): Likewise.
3907 * PO/POTFILES: Add normal/menu_entry.c.
3908
f616f51c
VS
39092009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
3912
57bbe3be
CPE
39132009-12-05 Carles Pina i Estany <carles@pina.cat>
3914
3915 * util/grub-install.in: Install gettext .mo files.
3916 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
3917
013d67a1
CPE
39182009-12-05 Carles Pina i Estany <carles@pina.cat>
3919
3920 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
3921 grub_dprintf.
3922
fb954db0
RM
39232009-12-05 Robert Millan <rmh.grub@aybabtu.com>
3924
3925 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
3926 non-firmware-dependant one in realmode.S takes precedence.
3927
6b8474f8
RM
39282009-12-04 Robert Millan <rmh.grub@aybabtu.com>
3929
3930 * commands/halt.c: Replace misc arch-specific headers with
3931 `<grub/misc.h>'.
3932 * commands/reboot.c: Likewise.
3933 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
3934 `<grub/misc.h>'.
3935 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
3936 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
3937 (kernel_img_SOURCES): ... to here.
3938
3939 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
3940 * include/grub/i386/pc/init.h: Likewise.
3941 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3942 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3943
3944 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
3945
3946 * include/grub/i386/halt.h: Remove.
3947 * include/grub/i386/reboot.h: Likewise.
3948
3949 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
3950
4b2e6ca2
DM
39512009-12-03 David S. Miller <davem@sunset.davemloft.net>
3952
3953 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
3954 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
3955 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
3956 "progname.h"
3957 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
3958 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3959 (usage): Add missing comma in printf.
3960
5239348f
RM
39612009-12-02 Robert Millan <rmh.grub@aybabtu.com>
3962
3963 Use the same reboot approach on i386 coreboot and qemu as we do on
3964 BIOS.
3965
3966 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
3967 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
3968 * kern/i386/reboot.c: Remove.
3969 * include/grub/i386/reboot.h (grub_reboot): Export function.
3970 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
3971 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
3972 0xf000:0xfff0 instead of 0xffff:0x0000.
3973 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
3974 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
3975
ef34cbd4
RM
39762009-11-30 Robert Millan <rmh.grub@aybabtu.com>
3977
3978 Fix $srcdir != $objdir build.
3979
3980 * Makefile.in (po/%.po): Rewrite as ...
3981 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
3982
dc9837ea
ST
39832009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
3984
3985 Fix GNU/Hurd grub-install crash.
3986 * util/grub-probe.c (probe): Try to access `path' only when it is not
3987 NULL.
3988
2f857f98
VS
39892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 Correct module naming.
3992
3993 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3994 (GRUB_MOD_INIT(efi_uga)): ... to this
3995 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
3996 (GRUB_MOD_FINI(efi_uga)): ... to this
3997 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
3998 (GRUB_MOD_INIT(efi_gop)): ... to this
3999 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4000 (GRUB_MOD_FINI(efi_gop)): ... to this
4001
c5448046
RM
40022009-11-28 Robert Millan <rmh.grub@aybabtu.com>
4003
4004 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
4005 translatable.
4006 (usage): Translate `arg' strings using gettext().
4007 Thanks to Jordi Mallach for the suggestion.
4008
c85184ad
VS
40092009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 GOP support. Based on patch from Bean
4012 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4013
4014 * video/efi_gop.c: New file.
4015 * include/grub/efi/graphics_output.h: Likewise.
4016 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
4017 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4018 variables.
4019 * conf/x86_64-efi.rmk: Likewise.
4020
8a4c48d8
VS
40212009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 Rename efi_fb to efi_uga.
4024
4025 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4026 'efi_uga.mod'.
4027 (efi_fb_mod_SOURCES): Rename this ...
4028 (efi_uga_mod_SOURCES): ... to this.
4029 (efi_fb_mod_CFLAGS): Rename this ...
4030 (efi_uga_mod_CFLAGS): ... to this.
4031 (efi_fb_mod_LDFLAGS): Rename this ...
4032 (efi_uga_mod_LDFLAGS): ... to this.
4033 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4034 'efi_uga.mod'.
4035 (efi_fb_mod_SOURCES): Rename this ...
4036 (efi_uga_mod_SOURCES): ... to this.
4037 (efi_fb_mod_CFLAGS): Rename this ...
4038 (efi_uga_mod_CFLAGS): ... to this.
4039 (efi_fb_mod_LDFLAGS): Rename this ...
4040 (efi_uga_mod_LDFLAGS): ... to this.
4041 * video/efi_fb.c: Move this ...
4042 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
4043
fb6c1a7b
RM
40442009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4045
4046 * po/README: New file. Explain our PO file workflow.
4047
3bc7896c
RM
40482009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4049
4050 * po/ChangeLog: Remove. Move relevant entries back to ...
4051 * ChangeLog: ... here.
4052 * po/ca.po: Remove (now handled by TLP).
4053 * po/id.po: Likewise.
4054 * po/zh_CN.po: Likewise.
4055 * Makefile.in (LINGUAS): Initialize in a way that supports
4056 empty set.
4057
9ed4841d
RM
40582009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4059
4060 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
4061 reliing on po/LINGUAS.
4062 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
4063 (po/%.po): ... this.
4064
0ad46fd7 40652009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
4066
4067 * util/i386/efi/grub-mkimage.c: Include "progname.h".
4068 (main): Use `program_name' instead of nonexistent `progname'.
4069
e30dd392
FZ
40702009-11-26 Felix Zielcke <fzielcke@z-51.de>
4071
4072 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4073 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
4074
7656de4f
RM
40752009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4076
4077 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
4078 commit.
4079 * conf/i386-efi.rmk: Likewise.
4080 * conf/i386-ieee1275.rmk: Likewise.
4081 * conf/powerpc-ieee1275.rmk: Likewise.
4082 * conf/sparc64-ieee1275.rmk: Likewise.
4083 * conf/x86_64-efi.rmk: Likewise.
4084
db77c4d4
FZ
40852009-11-26 Felix Zielcke <fzielcke@z-51.de>
4086
4087 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
4088
a755bb04
FZ
40892009-11-26 Felix Zielcke <fzielcke@z-51.de>
4090
4091 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
4092
8a4c07fd
RM
40932009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4094
4095 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
4096 (grub_mkdevicemap_SOURCES): New variable.
4097 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
4098 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
4099 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
4100 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
4101 (grub_mkdevicemap_SOURCES): Remove.
4102 * conf/i386-efi.rmk: Likewise.
4103 * conf/i386-ieee1275.rmk: Likewise.
4104 * conf/i386-pc.rmk: Likewise.
4105 * conf/powerpc-ieee1275.rmk: Likewise.
4106 * conf/sparc64-ieee1275.rmk: Likewise.
4107 * conf/x86_64-efi.rmk: Likewise.
4108 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
4109 (usage): Fix strings to use `program_name'.
4110 (main): Initialize gettext.
4111 * util/grub-editenv.c: Likewise.
4112 * util/grub-emu.c: Likewise.
4113 * util/grub-fstest.c: Likewise.
4114 * util/grub-mkdevicemap.c: Likewise.
4115 * util/grub-mkfont.c: Likewise.
4116 * util/grub-mkrelpath.c: Likewise.
4117 * util/grub-pe2elf.c: Likewise.
4118 * util/grub-probe.c: Likewise.
4119 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4120 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4121 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4122
4123 * util/misc.c: Include `"progname.h"'.
4124 (progname): Remove variable.
4125 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
4126
6f61ed55
FZ
41272009-11-25 Felix Zielcke <fzielcke@z-51.de>
4128
4129 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
4130 printf and print a newline after the menuentry header line.
4131 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4132
f022876b
FZ
41332009-11-25 Felix Zielcke <fzielcke@z-51.de>
4134
4135 autoconf >= 2.60 support $(localedir).
4136
4137 * INSTALL: Note that autoconf 2.60 is required.
4138 * configure.ac (AC_PREREQ): Bump to 2.60.
4139 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
4140 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4141
6717926e
YB
41422009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
4143
4144 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
4145 aclocal is run.
4146
08806a54
RM
41472009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4148
4149 * normal/main.c (grub_normal_read_line): Fix off-by-one
4150 buffer overflow.
4151
13b33fba
RM
41522009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4153
4154 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
4155 "parser.grub" in grub_command_execute() call.
4156
4a8572e9
CPE
41572009-11-24 Carles Pina i Estany <carles@pina.cat>
4158
4159 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
4160 * conf/i386-efi.rmk: Likewise.
4161 * conf/i386-ieee1275.rmk: Likewise.
4162 * conf/i386-pc.rmk: Likewise.
4163 * conf/powerpc-ieee1275.rmk: Likewise.
4164 * conf/sparc64-ieee1275.rmk: Likewise.
4165 * conf/x86_64-efi.rmk: Likewise.
4166 * gettext/gettex.c: Include <grub/i18n.h>.
4167 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
4168 here ...
4169 * include/grub/i18n.h: ... to here
4170 * include/grub/i18n.h: ... to here.
4171 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 4172 (grub_gettext_dummy): Move above user.
4a8572e9 4173
bee48093
FZ
41742009-11-24 Felix Zielcke <fzielcke@z-51.de>
4175
4176 * util/Makefile.in (install-local): Convert a `for' into a normal
4177 shell expansion.
4178
a031e91c
RM
41792009-11-24 Robert Millan <rmh.grub@aybabtu.com>
4180
4181 * autogen.sh: Add automake call.
4182 * config.guess: Remove.
4183 * config.sub: Likewise.
4184 * install-sh: Likewise.
4185
26bec39d
FZ
41862009-11-24 Felix Zielcke <fzielcke@z-51.de>
4187
4188 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4189
8e2532fd
FZ
41902009-11-24 Felix Zielcke <fzielcke@z-51.de>
4191
4192 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4193 function to a normal shell `for'.
4194
fefa1b7d
FZ
41952009-11-24 Felix Zielcke <fzielcke@z-51.de>
4196
4197 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4198
4501250b
FZ
41992009-11-24 Felix Zielcke <fzielcke@z-51.de>
4200
4201 * util/grub-mkrelpath.c: New file.
4202 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4203 (grub_mkrelpath_SOURCES): New variable.
4204 * include/grub/util/misc.h: New function prototype.
4205 * util/misc.c (make_system_path_relative_to_its_root): New function.
4206
4207 * util/grub-mkconfig_lib.in (bindir): New variable.
4208 (grub_mkrelpath): Likewise.
4209 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4210
4211 * util/probe.c (probe): Make the file path relative to its root.
4212 Change a info message to use the GRUB path. Enable again the
4213 check if we can read the file with GRUB facilities.
4214
4215 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4216 to its root.
4217
11d9778b
FZ
42182009-11-24 Felix Zielcke <fzielcke@z-51.de>
4219
4220 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4221 platform.
4222
4465287d
FZ
42232009-11-24 Felix Zielcke <fzielcke@z-51.de>
4224
4225 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4226 strncmp().
4227
62b47f22
FZ
42282009-11-24 Felix Zielcke <fzielcke@z-51.de>
4229
4230 * util/getroot.c (grub_util_is_dmraid): New function.
4231 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4232 devices as normal ones, not as LVM.
4233
1eafb9b9 42342009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
4235
4236 * conf/common.rmk: Add grub-gettext_lib target and updates
4237 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4238 LDFLAGS.
4239 * gettext/gettext.c: New file. (Reads mo files).
4240 * include/grub/file.h (grub_file_pread): New prototype.
4241 * include/grub/i18n.h (_): New prototype.
4242 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4243 prototypes.
4244 * kern/misc.c (grub_gettext_dummy): New function.
4245 * normal/menu_text.c: Include <grub/i18n.h>.
4246 * normal/menu_text.c (print_timeout): Gettexttize string.
4247 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
4248 * po/POTFILES: Add `normal/menu_text.c'.
4249 * po/ca.po: Add new translations.
c3ea6bd4
CPE
4250 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4251 gettext module and defines locale_dir and lang in grub.cfg.
4252 * NEWS: Add gettext support.
4253
0fdb2568
RM
42542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4255
4256 * util/hostdisk.c: Include `<grub/i18n.h>'.
4257 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4258 (make_device_name): Rewrite using asprintf.
4259 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4260 (find_system_device): If a device is not found, generate one just
4261 by reusing the OS path name.
4262 (read_device_map): Make it permissible for device.map not to exist.
4263
f515aa62
RM
42642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4265
4266 * script/sh/execute.c: Move from here ...
4267 * script/execute.c: ... to here. Update all users.
4268 * script/sh/function.c: Move from here ...
4269 * script/function.c: ... to here. Update all users.
4270 * script/sh/lexer.c: Move from here ...
4271 * script/lexer.c: ... to here. Update all users.
4272 * script/sh/main.c: Move from here ...
4273 * script/main.c: ... to here. Update all users.
4274 * script/sh/parser.y: Move from here ...
4275 * script/parser.y: ... to here. Update all users.
4276 * script/sh/script.c: Move from here ...
4277 * script/script.c: ... to here. Update all users.
4278
f84b481b
RM
42792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4280
4281 * configure.ac: Detect all `emu' platforms. Define
4282 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4283 --enable-grub-emu logic. Disable include/grub/machine
4284 symlink on `emu' platforms.
4285
4286 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4287 * gensymlist.sh.in: Likewise.
4288
4289 * include/grub/i386/coreboot/machine.h: Remove file.
4290 * include/grub/i386/efi/machine.h: Likewise.
4291 * include/grub/i386/ieee1275/machine.h: Likewise.
4292 * include/grub/i386/pc/machine.h: Likewise.
4293 * include/grub/i386/qemu/machine.h: Likewise.
4294 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4295 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4296 * include/grub/x86_64/efi/machine.h: Likewise.
4297
4298 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4299 * commands/halt.c: Likewise.
4300 * commands/reboot.c: Likewise.
4301 * include/grub/autoefi.h: Likewise.
4302 * include/grub/i386/at_keyboard.h: Likewise.
4303 * include/grub/i386/kernel.h: Likewise.
4304 * include/grub/i386/loader.h: Likewise.
4305 * include/grub/i386/pc/memory.h: Likewise.
4306 * kern/dl.c: Likewise.
4307 * kern/i386/coreboot/init.c: Likewise.
4308 * loader/i386/bsd.c: Likewise.
4309 * loader/i386/linux.c: Likewise.
4310 * loader/multiboot_loader.c: Likewise.
4311 * term/i386/pc/serial.c: Likewise.
4312 * term/usb_keyboard.c: Likewise.
4313
4314 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4315 `<grub/machine/machine.h>'
4316 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4317 * util/misc.c: Remove `<grub/machine/machine.h>' and
4318 `<grub/machine/time.h>'.
4319
4320 * Makefile.in (enable_grub_emu): Remove variable.
4321 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4322
4323 * conf/any-emu.rmk: New file.
4324 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4325 (grub_emu_init.c): Move from here ...
4326 * conf/any-emu.rmk: ... to here.
4327
4328 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4329 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4330 * conf/any-emu.rmk: ... to here.
4331
4efeab03
RM
43322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4333
4334 * include/grub/parser.h (grub_parser_register): Document need
4335 of `name' parameter.
4336 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4337 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4338 "sh" to "grub".
4339
ea1dd8bf
RM
43402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4341
4342 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4343 `$(XGETTEXT)'.
4344 * include/grub/i18n.h (N_): New macro.
4345 * util/mkisofs/mkisofs.h: Likewise.
4346 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4347 around N_().
4348 (usage): Use gettext() to translate help strings when printing them.
4349
0c140626
RM
43502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4351
4352 Based on patch from Bean
4353 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4354
4355 * video/efi_fb.c: New file.
4356 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4357 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4358 variables.
4359 * conf/x86_64-efi.rmk: Likewise.
4360
87d58298
RM
43612009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4362
4363 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4364 * util/i386/pc/grub-setup.c: Likewise.
4365
994cc3a3
ST
43662009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4367
4368 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4369 <hurd/fs.h>
4370 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4371 file_get_storage_info to implement grub_guess_root_device.
4372
26a61d6a
FZ
43732009-11-21 Felix Zielcke <fzielcke@z-51.de>
4374
4375 * Makefile.in (target): Use make's builtin $(shell) function
4376 instead of calling directly $(SHELL) to create the locale directories,
4377 inside the $(foreach) function.
4378
74ff1dd5
FZ
43792009-11-21 Felix Zielcke <fzielcke@z-51.de>
4380
4381 * util/grub-mkrescue.in: Print an error and usage if output option
4382 has not been given.
4383
0b787d0e
FZ
43842009-11-21 Felix Zielcke <fzielcke@z-51.de>
4385
4386 Patch from Loïc Minier <loic.minier@ubuntu.com>.
4387 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4388 root and /boot are on different devices.
4389
1164b270
RM
43902009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4391
4392 Fix build for srcdir != objdir.
4393
4394 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4395 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4396 $(srcdir).
4397 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4398 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4399 reference for input.
4400
13774a2f
RM
44012009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4402
4403 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4404 or hardlinking it). Remove -J option, Joliet is not compatible with
4405 multiple source directories.
4406
efda854e
RM
44072009-11-21 Carles Pina i Estany <carles@pina.cat>
44082009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4409
4410 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4411 (process_input_dir): New function. Process an arbitrary input
4412 directory.
4413 Misc adjustments to support both "override mode" and system-wide mode.
4414
6c09890c
FZ
44152009-11-20 Felix Zielcke <fzielcke@z-51.de>
4416
4417 * configure.ac (UNIFONT_BDF): Rename to ...
4418 (FONT_SOURCE): ... this. Update all users.
4419
a797824f
FZ
44202009-11-20 Felix Zielcke <fzielcke@z-51.de>
4421
4422 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4423 to the list of unifont files to look for.
4424
cd4f42b0
RM
44252009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4426
4427 Patch from Joe Auricchio <jauricchio@gmail.com>
4428 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4429 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4430 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4431
393c783d
FZ
44322009-11-19 Felix Zielcke <fzielcke@z-51.de>
4433
4434 * Makefile.in (install-local): Add a missing backslash.
4435
b2f1e327
FZ
44362009-11-19 Felix Zielcke <fzielcke@z-51.de>
4437
4438 * include/grub/x86_64/io.h: New file.
4439
f577f7a0
RM
44402009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4441
4442 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4443 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4444 Include `"progname.h"'.
4445 (main): Initialize gettext.
4446 * util/i386/pc/grub-setup.c: Gettexttize.
4447 * util/i386/pc/grub-mkimage.c: Likewise.
4448
4449 * Makefile.in (po/*.po): Redefine as ...
4450 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4451
3bc7896c
RM
4452 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4453
c37943b6
RM
44542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4455
4456 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4457 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4458 (program_name): Remove.
4459 (main): Initialize gettext support.
6323f705
RM
4460 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4461 Include `<libintl.h>'.
4462 (_): New macro.
c37943b6
RM
4463
4464 * util/mkisofs/eltorito.c: Gettexttize.
4465 * util/mkisofs/joliet.c: Likewise.
4466 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4467 * util/mkisofs/multi.c: Likewise.
4468 * util/mkisofs/rock.c: Likewise.
4469 * util/mkisofs/tree.c: Likewise.
4470 * util/mkisofs/write.c: Likewise.
4471
3bc7896c
RM
4472 * po/POTFILES: Update with new files.
4473
5ce77c6e
RM
44742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4475
4476 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4477 * util/mkisofs/iso9660.h: Likewise.
4478 * util/mkisofs/joliet.c: Likewise.
4479 * util/mkisofs/mkisofs.c: Likewise.
4480 * util/mkisofs/mkisofs.h: Likewise.
4481 * util/mkisofs/rock.c: Likewise.
4482 * util/mkisofs/tree.c: Likewise.
4483 * util/mkisofs/write.c: Likewise.
4484
4485 * util/mkisofs/eltorito.c (rcsid): Remove.
4486 * util/mkisofs/hash.c: Likewise.
4487 * util/mkisofs/joliet.c: Likewise.
4488 * util/mkisofs/name.c: Likewise.
4489 * util/mkisofs/rock.c: Likewise.
4490 * util/mkisofs/tree.c: Likewise.
4491 * util/mkisofs/write.c: Likewise.
4492
1dabbc77
RM
44932009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4494
4495 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4496 instead of static allocation.
4497 * util/mkisofs/match.h: Likewise.
4498
633877cb
RM
44992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4500
3bc7896c
RM
4501 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4502 and `util/grub.d/10_linux.in'.
633877cb
RM
4503 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4504 translatable Shell files.
4505
af1c0c85
RM
45062009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4507
4508 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4509
769ae37b
RM
45102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4511
4512 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4513 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4514 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4515 Add gettext initialization.
4516 (kfreebsd_entry): Make menuentry output translatable.
4517
45182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4519
4520 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4521 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4522 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4523 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4524 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4525 * po/LINGUAS: New file.
769ae37b
RM
4526
45272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4528
4529 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4530 other things).
4531 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4532 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4533 bindtextdomain() calls for gettext initialization.
4534
45352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4536
4537 * gnulib/progname.c: New file (imported from Gnulib).
4538 * gnulib/progname.h: Likewise.
4539 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4540 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4541 (usage): Replace `progname' with `program_name'.
4542 (main): Use set_program_name() for program name initialization.
4543
45442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4545
4546 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4547 from here ...
4548 * Makefile.in (CPPFLAGS): ... to here.
4549
45502009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4551
4552 * aclocal.m4: Move from here ...
4553 * acinclude.m4: ... to here.
4554 * autogen.sh: Add call to `aclocal'.
4555 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4556
45572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4558
4559 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4560 (LINGUAS): New variable.
4561 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4562 (install-local): Install MO files.
4563 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4564 * include/grub/i18n.h: New file.
3bc7896c
RM
4565 * po/POTFILES: New file.
4566 * po/ca.po: New file.
769ae37b
RM
4567 * util/grub.d/10_linux.in (bindir): New variable.
4568 Add gettext initialization.
4569 (linux_entry): Make menuentry output translatable.
4570 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4571 (usage): Make --help output translatable.
4572 (main): Initialize gettext.
4573
02c0a6ad
RM
45742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4575
4576 * import_gcry.py: New file (written by Vladimir with minor
4577 adjustments).
4578 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4579 ciphers.
4580 * INSTALL: Document that Python is required for bootstrap.
4581
45822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4583
4584 Import ciphers from libgcrypt 1.4.4.
4585
4586 * lib/libgcrypt/cipher/ChangeLog
4587 * lib/libgcrypt/cipher/ac.c
4588 * lib/libgcrypt/cipher/arcfour.c
4589 * lib/libgcrypt/cipher/bithelp.h
4590 * lib/libgcrypt/cipher/blowfish.c
4591 * lib/libgcrypt/cipher/camellia-glue.c
4592 * lib/libgcrypt/cipher/camellia.c
4593 * lib/libgcrypt/cipher/camellia.h
4594 * lib/libgcrypt/cipher/cast5.c
4595 * lib/libgcrypt/cipher/cipher.c
4596 * lib/libgcrypt/cipher/crc.c
4597 * lib/libgcrypt/cipher/des.c
4598 * lib/libgcrypt/cipher/dsa.c
4599 * lib/libgcrypt/cipher/ecc.c
4600 * lib/libgcrypt/cipher/elgamal.c
4601 * lib/libgcrypt/cipher/hash-common.c
4602 * lib/libgcrypt/cipher/hash-common.h
4603 * lib/libgcrypt/cipher/hmac-tests.c
4604 * lib/libgcrypt/cipher/md.c
4605 * lib/libgcrypt/cipher/md4.c
4606 * lib/libgcrypt/cipher/md5.c
4607 * lib/libgcrypt/cipher/primegen.c
4608 * lib/libgcrypt/cipher/pubkey.c
4609 * lib/libgcrypt/cipher/rfc2268.c
4610 * lib/libgcrypt/cipher/rijndael-tables.h
4611 * lib/libgcrypt/cipher/rijndael.c
4612 * lib/libgcrypt/cipher/rmd.h
4613 * lib/libgcrypt/cipher/rmd160.c
4614 * lib/libgcrypt/cipher/rsa.c
4615 * lib/libgcrypt/cipher/seed.c
4616 * lib/libgcrypt/cipher/serpent.c
4617 * lib/libgcrypt/cipher/sha1.c
4618 * lib/libgcrypt/cipher/sha256.c
4619 * lib/libgcrypt/cipher/sha512.c
4620 * lib/libgcrypt/cipher/tiger.c
4621 * lib/libgcrypt/cipher/twofish.c
4622 * lib/libgcrypt/cipher/whirlpool.c
4623
af2f93ac
RM
46242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4625
4626 Fix build for systems without error().
4627
4628 * gnulib/error.c: New file (imported from Gnulib).
4629 * gnulib/error.h: Likewise.
4630 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4631 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
4632 (this variable is now used by error()).
4633
73fb3dd5
FZ
46342009-11-16 Felix Zielcke <fzielcke@z-51.de>
4635
814f5e96
FZ
4636 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
4637 instead of relying that char is signed.
73fb3dd5 4638
a691ca33
VS
46392009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
4642 blocksize different from specified.
4643 (grub_pxefs_read): Likewise.
4644
2af8f0f4
FZ
46452009-11-16 Felix Zielcke <fzielcke@z-51.de>
4646
4647 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
4648
4649 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4650 (grub_ata_readwrite): Likewise. Update 2 format strings.
4651 (grub_atapi_read): Likewise.
4652
4653 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
4654 * conf/i386.rmk (pkglib_MODULES): ... to here ...
4655 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
4656 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
4657 (ata_mod_LDFLAGS): Move from here ...
4658 * conf/i386.rmk: ... to here ...
4659 * conf/x86_64-efi.rmk: ... and here.
4660 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
4661 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
4662
83bdecaf
RM
46632009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4664
4665 Relicense multiboot.h, with RMS' blessing.
4666
4667 * include/multiboot.h: Change to X11 license.
4668
fd6fd3d7
RM
46692009-11-15 Robert Millan <rmh.grub@aybabtu.com>
4670
4671 Support --version in grub-mkisofs.
4672
4673 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
4674 (OPTION_VERSION): New macro.
4675 (ld_options): Recognize --version.
4676 (usage): Move `program_name' from here ...
4677 (program_name): ... to here. Add `static' qualifier.
4678 (main): Recognize `OPTION_VERSION'.
4679
16a88c49
FZ
46802009-11-15 Felix Zielcke <fzielcke@z-51.de>
4681
4682 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
4683 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
4684
a4158476
RM
46852009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4686
4687 Fix help2man generation for mkisofs.
4688
4689 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
4690 (usage): Send output to stdout (rather than stderr).
4691
fc2208b0
RM
46922009-11-14 Robert Millan <rmh.grub@aybabtu.com>
4693
4694 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
4695 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4696 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
4697 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
4698 (bin_SCRIPTS): Add `grub-mkfloppy'.
4699 (grub_mkfloppy_SOURCES): New variable.
4700
4701 * util/grub-mkrescue.in: New file.
4702 * util/i386/pc/grub-mkfloppy.in: New file.
4703
4704 * util/i386/coreboot/grub-mkrescue.in: Remove.
4705 * util/i386/pc/grub-mkrescue.in: Remove.
4706
8d0edf4a
RM
47072009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4708
4709 * include/grub/multiboot.h (struct grub_multiboot_header): Move
4710 from here ...
4711 * include/multiboot.h (struct multiboot_header): ... to here. Update
4712 all users.
4713 * include/grub/multiboot.h (struct grub_multiboot_info): Move
4714 from here ...
4715 * include/multiboot.h (struct multiboot_info): ... to here. Update
4716 all users.
4717 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
4718 from here ...
4719 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
4720 Update all users.
4721 * include/grub/multiboot.h (struct grub_mod_list): Move
4722 from here ...
4723 * include/multiboot.h (struct multiboot_mod_list): ... to here.
4724 Update all users.
4725
a73f5969
RM
47262009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4727
4728 * include/multiboot2.h (multiboot_word): Rename from this ...
4729 (multiboot2_word): ... to this. Update all users.
4730 (multiboot_header): Rename from this ...
4731 (multiboot2_header): ... to this. Update all users.
4732 (multiboot_tag_header): Rename from this ...
4733 (multiboot2_tag_header): ... to this. Update all users.
4734 (multiboot_tag_start): Rename from this ...
4735 (multiboot2_tag_start): ... to this. Update all users.
4736 (multiboot_tag_name): Rename from this ...
4737 (multiboot2_tag_name): ... to this. Update all users.
4738 (multiboot_tag_module): Rename from this ...
4739 (multiboot2_tag_module): ... to this. Update all users.
4740 (multiboot_tag_memory): Rename from this ...
4741 (multiboot2_tag_memory): ... to this. Update all users.
4742 (multiboot_tag_unused): Rename from this ...
4743 (multiboot2_tag_unused): ... to this. Update all users.
4744 (multiboot_tag_end): Rename from this ...
4745 (multiboot2_tag_end): ... to this. Update all users.
4746
1c8927f0
RM
47472009-11-13 Robert Millan <rmh.grub@aybabtu.com>
4748
4749 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
4750 this platform we should support Multiboot1 first.
4751
4752 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4753 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
4754 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
4755
6e1e0d89
RM
47562009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4757
4758 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
4759 of write calls (converting them to fwrite() if they aren't already).
4760 (get_torito_desc): Likewise.
4761 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
4762
7f2b34d8
RM
47632009-11-12 Robert Millan <rmh.grub@aybabtu.com>
4764
4765 * util/i386/pc/grub-install.in: Move from here ...
4766 * util/grub-install.in: ... to here. Update all users.
4767
c0ef3311
CW
47682009-11-11 Colin Watson <cjwatson@ubuntu.com>
4769
4770 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
4771
e1f240ff
RM
47722009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4773
4774 Support for El Torito without floppy emulation.
4775
4776 * util/mkisofs/eltorito.c: Include `<errno.h>'.
4777 (init_boot_catalog): Improve error handling.
4778 (get_torito_desc): Don't use floppy emulation unless requested by
4779 user. Patch boot information table when requested via
4780 `-boot-info-table'.
4781 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
4782 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
4783 (use_boot_info_table): New variables.
4784 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
4785 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
4786 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
4787 `--eltorito-emul-floppy'.
4788 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
4789 and `OPTION_ELTORITO_EMUL_FLOPPY'.
4790 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
4791 (use_boot_info_table, get_731): New prototypes.
4792 * util/mkisofs/write.c (get_731): New function.
4793
af7d4de5
FZ
47942009-11-11 Felix Zielcke <fzielcke@z-51.de>
4795
4796 Fix the generation of the man page.
4797
4798 * util/pc/i386/grub-install.in: Source
4799 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4800
2c55dbc0
RM
48012009-11-11 Robert Millan <rmh.grub@aybabtu.com>
4802
4803 Large file support for grub-mkisofs.
4804
4805 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
4806 * util/mkisofs/mkisofs.c (next_extent, last_extent)
4807 (session_start): Upgrade type to `uint64_t'. Update all users.
4808 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
4809 (struct directory_entry): Upgrade type of `starting_block' and
4810 `size' to `uint64_t'. Update all users.
4811 (struct deferred): Remove unused structure.
4812 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
4813 Update all users.
4814 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
4815 file is larger than `UINT32_MAX'.
4816 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
4817 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
4818 return value.
4819 (struct deferred_write): Upgrade type of `extent' and `size' to
4820 `uint64_t'. Update all users.
4821 (last_extent_written): Upgrade type to `uint64_t'. Update all
4822 users.
4823 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
4824 Update all users. Upgrade type of `remain' to `int64_t' and
4825 `use' to `size_t'. Use error() to handle fread() errors.
4826 (write_files): Rely on write_one_file() rather than calling
4827 xfwrite() directly.
4828
6a9cead5
FZ
48292009-11-09 Felix Zielcke <fzielcke@z-51.de>
4830
4831 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
4832
4825d790
RM
48332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4834
4835 * util/mkisofs/fnmatch.c: Remove.
4836 * util/mkisofs/getopt1.c: Likewise.
4837 * util/mkisofs/getopt.c: Likewise.
4838 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
4839 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
4840 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
4841 `gnulib/getopt1.c' and `gnulib/getopt.c'.
4842 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
4843
4844 * configure.ac: Detect `mingw32msvc' host_os.
4845 Check for lstat(), getuid() and getgid().
4846
4847 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
4848 instances of `u_char' with `uint8_t'.
4849
4850 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
4851 [!HAVE_GETUID] (getuid): New function (stub).
4852 [!HAVE_GETGID] (getgid): Likewise.
4853 [!HAVE_LSTAT] (lstat): Likewise.
4854 [!S_IROTH] (S_IROTH): New macro (dummy).
4855 [!S_IRGRP] (S_IRGRP): Likewise.
4856
84b860d8
RM
48572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4858
4859 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
4860 conditional expression).
4861
66e9b712
RM
48622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4863
4864 Import from Gnulib.
4865
4866 * gnulib/fnmatch.c: New file.
4867 * gnulib/fnmatch.h: Likewise.
4868 * gnulib/fnmatch_loop.c: Likewise.
4869 * gnulib/getopt.c: Likewise.
4870 * gnulib/getopt.h: Likewise.
4871 * gnulib/getopt1.c: Likewise.
4872 * gnulib/getopt_int.h: Likewise.
4873 * gnulib/gettext.h: Likewise.
4874
34f4a5b0
RM
48752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4876
4877 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
4878 * normal/handler.c (read_handler_list): Likewise.
4879
ac451143
RM
48802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4881
4882 Misc cleanup.
4883
4884 * kern/command.c (grub_register_command_prio): Use
4885 grub_zalloc() instead of explicitly zeroing data.
4886 * kern/list.c: Include `<grub/mm.h>'.
4887 (grub_named_list_find): Replace `0' with `NULL'.
4888 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
4889 (fs_module_list): Change type to `grub_named_list_t'. Update all
4890 users.
4891 * normal/dyncmd.c (read_command_list): Add space between function
4892 call and parenthesis.
4893 * normal/handler.c (read_handler_list): Likewise.
4894
4089b167
RM
48952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4896
4897 * normal/auth.c (punishment_delay): Moved from here ...
4898 (grub_auth_strcmp): ... to here (inside function).
4899
325f5037
RM
49002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4901
4902 * include/grub/list.h (struct grub_named_list): Remove `const'
4903 qualifier from `name'.
4904 (struct grub_prio_list): Likewise.
4905
7aea29a3
RM
49062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4907
4908 * normal/auth.c: Include `<grub/time.h>'.
4909 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
4910
3fd6f044
RM
49112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4912
4913 * normal/auth.c (punishment_delay): New variable.
4914 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
4915 (grub_auth_check_authentication): Punish failed login attempts with
4916 an incremental (2^N) delay.
4917
a4cd68e4
RM
49182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4919
4920 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
4921 path with $(srcdir).
4922
7ad12f43
VS
49232009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
4926
c1129f03
RM
49272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
4928
4929 * util/i386/coreboot/grub-mkrescue.in: New file.
4930 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
4931 variables.
4932
4933 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
4934 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
4935 * configure.ac: Add header and function checks to satisfy grub-mkisofs
4936 requirements.
4937 * util/mkisofs/defaults.h: New file.
4938 * util/mkisofs/eltorito.c: Likewise.
4939 * util/mkisofs/exclude.h: Likewise.
4940 * util/mkisofs/fnmatch.c: Likewise.
4941 * util/mkisofs/getopt.c: Likewise.
4942 * util/mkisofs/getopt1.c: Likewise.
4943 * util/mkisofs/hash.c: Likewise.
4944 * util/mkisofs/include/fctldefs.h: Likewise.
4945 * util/mkisofs/include/mconfig.h: Likewise.
4946 * util/mkisofs/include/prototyp.h: Likewise.
4947 * util/mkisofs/include/statdefs.h: Likewise.
4948 * util/mkisofs/iso9660.h: Likewise.
4949 * util/mkisofs/joliet.c: Likewise.
4950 * util/mkisofs/match.c: Likewise.
4951 * util/mkisofs/match.h: Likewise.
4952 * util/mkisofs/mkisofs.c: Likewise.
4953 * util/mkisofs/mkisofs.h: Likewise.
4954 * util/mkisofs/multi.c: Likewise.
4955 * util/mkisofs/name.c: Likewise.
4956 * util/mkisofs/rock.c: Likewise.
4957 * util/mkisofs/tree.c: Likewise.
4958 * util/mkisofs/write.c: Likewise.
4959
ec8bb77d
VS
49602009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
4963 being insecure.
4964
3716b12c
RM
49652009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4966
4967 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
4968 `grub-mkimage' (and use $0 when possible).
4969
b97b7b91
RM
49702009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4971
4972 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
4973 error message for excessively large memory map.
4974
04114812
RM
49752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4976
4977 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
4978 executable bit.
4979
e4eb2373
RM
49802009-11-08 Robert Millan <rmh.grub@aybabtu.com>
4981
4982 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
4983 message for coreboot users.
4984
c926e1d5 49852009-11-07 Robert Millan <rmh.grub@aybabtu.com>
4986
4987 Fix build with GNU gold.
4988
4989 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
4990 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
4991 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
4992 link addresses.
4993 * aclocal.m4: Likewise.
4994
86e5b1db 49952009-11-04 Felix Zielcke <fzielcke@z-51.de>
4996
4997 * configure.ac (AC_PREREQ): Bump to 2.59d.
4998 * INSTALL: Make it more clear when Autoconf and Ruby are
4999 needed and when to run `./autogen.sh'.
5000
246cd78f 50012009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5002
5003 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
5004 OSes.
5005
4f9dfb37 50062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5007
5008 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
5009
b82bd5e1 50102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5011
5012 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
5013 giving it to GNU Mach.
5014
ff1a9bca 50152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5016
5017 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
5018 GNU partition number to get internal GRUB partition number.
5019
61697d9c 50202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5021
5022 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
5023 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
5024
a50569e1 50252009-11-01 Robert Millan <rmh.grub@aybabtu.com>
5026
5027 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
5028 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
5029 case.
5030
5b153867 50312009-11-01 Felix Zielcke <fzielcke@z-51.de>
5032
5033 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
5034
d9e2cd70 50352009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5036
5037 Fix build problem.
5038
5039 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
5040 `-isystem=$(srcdir)/include'.
5041
805111a4 50422009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5043
5044 * util/i386/pc/grub-install.in: Remove hint that device.map should be
5045 checked (grub-install doesn't currently rely on it).
5046
fa6e945f 50472009-10-29 Robert Millan <rmh.grub@aybabtu.com>
5048
5049 Revert SVN r2660.
5050
5051 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
5052 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5053 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
5054 * conf/i386-ieee1275.rmk: Likewise.
5055 * conf/i386-pc.rmk: Likewise.
5056 * conf/powerpc-ieee1275.rmk: Likewise.
5057 * conf/sparc64-ieee1275.rmk: Likewise.
5058 * conf/x86_64-efi.rmk: Likewise.
5059
cee15086 50602009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5061
5062 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
5063
95b9239e 50642009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5065
5066 * include/grub/misc.h: Stop checking for APPLE_CC.
5067
2ed19dfd 50682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5069
5070 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
5071 doesn't cause an infinite call loop.
5072
fdcdde19 50732009-10-28 Felix Zielcke <fzielcke@z-51.de>
5074
5075 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
5076 strings.
5077
cefabfe1 50782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5079
5080 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
5081 variable.
5082 * Makefile.in: Likewise.
5083
ed96ab6d 50842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5085
5086 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
5087
0579b753 50882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5089
5090 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
5091
478df409 50922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5093
5094 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
5095
083d1679 50962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5097
5098 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
5099 from here ...
5100 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
5101
5947ae32 51022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5103
5104 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
5105 in $(MAKEINFO) invocation. This makes it clear in output that
5106 errors are being ignored.
5107
94180ff6 51082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5109
5110 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
5111 from here ...
5112 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5113 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
5114 * conf/i386-ieee1275.rmk: Likewise.
5115 * conf/i386-pc.rmk: Likewise.
5116 * conf/powerpc-ieee1275.rmk: Likewise.
5117 * conf/sparc64-ieee1275.rmk: Likewise.
5118 * conf/x86_64-efi.rmk: Likewise.
5119
9031b03a 51202009-10-26 Colin Watson <cjwatson@ubuntu.com>
5121
5122 * util/grub-editenv.c (main): If only a command is given, use
5123 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
5124 (usage): FILENAME is now optional and has a default.
5125
e4f6809b 51262009-10-26 Colin Watson <cjwatson@ubuntu.com>
5127
5128 Improve grub-mkconfig performance when there are several menu
5129 entries on a single filesystem.
5130
5131 * util/grub.d/10_linux.in (linux_entry): Cache the output of
5132 prepare_grub_to_access_device.
5133 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5134 * util/grub.d/30_os-prober.in: Likewise.
5135
67937d4d 51362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5137
5138 * util/grub.d/10_freebsd.in: Remove.
5139 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
5140 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
5141
ee3756cc 51422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5143
5c35048e 5144 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 5145
4dea1c6f 51462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5147
5148 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
5149 grub_util_error() call.
5150
042484d7 51512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5152
5153 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
5154 `reserved_first_sector' member.
5155 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
5156 `reserved_first_sector' to 1.
5157 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
5158 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
5159 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
5160 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
5161 filesystems which begin at first sector.
5162 (options): New option --skip-fs-probe.
5163 (main): Handle --skip-fs-probe and pass it to setup().
5164
d64448a7 51652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5166
5167 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
5168 (memset): Fix function prototype.
5169
508d42ec 51702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
51712009-10-25 Vasily Averin <vvs@parallels.com>
5172
5173 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
5174 `dirent.direntlen == 0'.
5175
b240e30c 51762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5177
5178 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
5179 `cpio'.
5180 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
5181
346e7fbe 51822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5183
5184 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
5185 `__trampoline_setup' and `__ucmpdi2'.
5186 * include/grub/powerpc/libgcc.h: Only export symbols for functions
5187 that libgcc provides.
5188
cdb308b0 51892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5190
5191 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5192 * include/grub/sparc64/libgcc.h (memset): Likewise.
5193 * include/grub/misc.h (memset, memcmp): New function prototypes.
5194
fb26abc2 51952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5196
5197 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5198 `cpio'.
5199 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5200
f6693890 52012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5202
5203 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5204 * docs/grub.cfg: Compensate for recent change in multiboot
5205 loader (since 2009-08-14 it won't pass filename to payload).
5206 * util/grub.d/10_hurd.in: Likewise.
5207
0933cdc0 52082009-10-21 Felix Zielcke <fzielcke@z-51.de>
5209
5210 * config.guess: Update to latest version from config git
5211 repository.
5212 * config.sub: Likewise.
5213
3b2fe8c2 52142009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5215
5216 Fix build on sparc64.
5217
5218 * configure.ac: Perform checks for libgcc symbols before
5219 adding `-nostdlib' to LDFLAGS.
5220
46695a62 52212009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Let user specify OpenBSD root device.
5224
5225 * loader/i386/bsd.c (openbsd_root): New variable.
5226 (openbsd_opts): New option 'root'.
5227 (OPENBSD_ROOT_ARG): New macro.
5228 (grub_openbsd_boot): Use 'openbsd_root'.
5229 (grub_cmd_openbsd): Fill 'openbsd_root'.
5230
d2b6b7fc 52312009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5232
5233 * NEWS: Misc adjustments.
5234
421bd7ac 52352009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5238
f1d29d87 52392009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5240
5241 * configure.ac: Bump version to 1.97.
5242
6f3cd880 52432009-10-16 Colin Watson <cjwatson@ubuntu.com>
5244
5245 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5246 -mno-3dnow on x86 architectures. Some toolchains enable these
5247 features by default, but they rely on registers that aren't enabled
5248 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5249
035f7122 52502009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5251
5252 Make entry text a bit more readable.
5253
5254 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5255
44998e58 52562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5259
cd2851b3 52602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5263 operations.
5264
c6f3b249 52652009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * configure.ac: Add missing dollar.
5268
6b5886ba 52692009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5272
5273 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5274 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5275 exports.
5276 * include/grub/sparc64/libgcc.h: Likewise. Use
5277 preprocessor conditionals.
5278
e9d66f6d 52792009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5280
5281 * conf/common.rmk (grub-dumpbios): Remove rule.
5282 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5283 * util/grub-dumpbios.in: Remove file.
5284
9155bc17 52852009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5286
5287 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5288 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5289
5290 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5291 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5292 users.
5293
5294 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5295 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5296 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5297 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5298 users.
5299
bf7f7a18 53002009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5301
5302 * term/tparm.c: Switch to GPLv3.
5303
86564c26 53042009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5305
5306 * include/grub/i386/cpuid.h: Add header protection.
5307
5c936493 53082009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5309
5310 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5311
5312 * include/grub/i386/cpuid.h: New file.
5313 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5314 (has_longmode): Rename to ...
5315 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5316 `static' attribute.
5317 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5318 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5319 on a CPU that doesn't implement AMD64 instruction set.
5320
186e7cf2 53212009-10-06 Colin Watson <cjwatson@ubuntu.com>
5322
5323 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5324 that version.texi is rebuilt on version number changes.
5325
83b65c4a 53262009-10-06 Colin Watson <cjwatson@ubuntu.com>
5327
5328 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5329 Fixes bug #27602.
5330
d244281c 53312009-10-06 Colin Watson <cjwatson@ubuntu.com>
5332
5333 * util/i386/pc/grub-install.in: Source
5334 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5335 that the --grub-probe option will work.
5336 * util/sparc64/ieee1275/grub-install.in: Likewise.
5337
da25306d 53382009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5339
5340 * configure.ac: Bump version to 1.97~beta4.
5341
e8ee83c0 53422009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5343
5344 Resync grub-mkdevicemap in x86_64-efi.
5345
5346 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5347 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5348 `util/devicemap.c'.
5349
50dcabcf 53502009-10-01 Colin Watson <cjwatson@ubuntu.com>
5351
5352 * util/grub-editenv.c (create_envblk_file): Write new block with a
5353 .new suffix and then rename it into place, to ensure atomic
5354 creation.
5355
0e51c3a7 53562009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5357
5358 Do not automatically install headers.
5359
5360 * Makefile.in (include_DATA): Remove. Update all users.
5361
31299a95 53622009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5363
5364 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5365 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5366
5367 * util/osdetect.lua: Remove.
5368 * script/lua/lauxlib.c: Likewise.
5369 * script/lua/ldebug.c: Likewise.
5370 * script/lua/grub_main.c: Likewise.
5371 * script/lua/lauxlib.h: Likewise.
5372 * script/lua/ldebug.h: Likewise.
5373 * script/lua/ltablib.c: Likewise.
5374 * script/lua/liolib.c: Likewise.
5375 * script/lua/lstrlib.c: Likewise.
5376 * script/lua/lualib.h: Likewise.
5377 * script/lua/ldo.c: Likewise.
5378 * script/lua/ldump.c: Likewise.
5379 * script/lua/ldo.h: Likewise.
5380 * script/lua/loslib.c: Likewise.
5381 * script/lua/lundump.c: Likewise.
5382 * script/lua/grub_lib.c: Likewise.
5383 * script/lua/ldblib.c: Likewise.
5384 * script/lua/lundump.h: Likewise.
5385 * script/lua/lmem.c: Likewise.
5386 * script/lua/grub_lib.h: Likewise.
5387 * script/lua/lmathlib.c: Likewise.
5388 * script/lua/lstate.c: Likewise.
5389 * script/lua/ltm.c: Likewise.
5390 * script/lua/lvm.c: Likewise.
5391 * script/lua/lmem.h: Likewise.
5392 * script/lua/lstate.h: Likewise.
5393 * script/lua/ltm.h: Likewise.
5394 * script/lua/ltable.c: Likewise.
5395 * script/lua/lvm.h: Likewise.
5396 * script/lua/llex.c: Likewise.
5397 * script/lua/lgc.c: Likewise.
5398 * script/lua/grub_lua.h: Likewise.
5399 * script/lua/loadlib.c: Likewise.
5400 * script/lua/lfunc.c: Likewise.
5401 * script/lua/lopcodes.c: Likewise.
5402 * script/lua/lparser.c: Likewise.
5403 * script/lua/ltable.h: Likewise.
5404 * script/lua/llex.h: Likewise.
5405 * script/lua/lgc.h: Likewise.
5406 * script/lua/lfunc.h: Likewise.
5407 * script/lua/lbaselib.c: Likewise.
5408 * script/lua/lopcodes.h: Likewise.
5409 * script/lua/lparser.h: Likewise.
5410 * script/lua/lzio.c: Likewise.
5411 * script/lua/linit.c: Likewise.
5412 * script/lua/lobject.c: Likewise.
5413 * script/lua/llimits.h: Likewise.
5414 * script/lua/lstring.c: Likewise.
5415 * script/lua/lzio.h: Likewise.
5416 * script/lua/lapi.c: Likewise.
5417 * script/lua/lcode.c: Likewise.
5418 * script/lua/lua.h: Likewise.
5419 * script/lua/lobject.h: Likewise.
5420 * script/lua/lstring.h: Likewise.
5421 * script/lua/lapi.h: Likewise.
5422 * script/lua/lcode.h: Likewise.
5423 * script/lua/luaconf.h: Likewise.
5424
cb8a2c38 54252009-09-26 Colin Watson <cjwatson@ubuntu.com>
5426
5427 * docs/grub.texi (Command-line and menu entry commands): Document
5428 date and echo commands.
5429
6b9b6276 54302009-09-24 Pavel Roskin <proski@gnu.org>
5431
5432 * include/grub/kernel.h (struct grub_module_header): Remove
5433 `grub_module_header_types'. Make `type' unsigned. Make `size'
5434 32-bit on all platforms.
5435 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5436 8-bit field. Use grub_host_to_target32() for `size'.
5437 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5438 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5439 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5440
4e5a02a7 54412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5442
5443 Fix "lost keypress" bug in at_keyboard.
5444
5445 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5446 Checks for readyness of input buffer (without flushing it).
5447 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5448 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5449
c6dcedf6 54502009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5451
5452 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5453 size check within GRUB_MACHINE_PCBIOS section.
5454
74c958b1 54552009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5456
5457 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5458 return value.
5459 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5460 KEYBOARD_ISREADY check.
5461 (grub_at_keyboard_checkkey): Rename to ...
5462 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5463 Remove gratuitous cast.
5464
ff420223 54652009-09-23 Colin Watson <cjwatson@ubuntu.com>
5466
5467 * configure.ac: Call AC_PROG_MKDIR_P.
5468 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5469 version.texi in $(builddir) rather than $(srcdir).
5470 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5471 to makeinfo's @include search path.
5472
d96875df 54732009-09-23 Felix Zielcke <fzielcke@z-51.de>
5474
5475 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5476
9b3f8365 54772009-09-23 Felix Zielcke <fzielcke@z-51.de>
5478
5479 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5480 for `*.dpkg-new'.
5481
c44c90db 54822009-09-21 Colin Watson <cjwatson@ubuntu.com>
5483
5484 Build info documentation. Some code borrowed from Automake.
5485
5486 * configure.ac: Check for makeinfo.
5487 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5488 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5489 docs/version.texi.
5490 (MOSTLYCLEANFILES): Add vti.tmp.
5491 (docs/version.texi, docs/stamp-vti): Update automatically.
5492 (docs/grub.info): Build info documentation. Use --force and ignore
5493 errors for now.
5494 (all-local): Add $(INFOS).
5495 (install-local): Install info files.
5496 (uninstall): Uninstall info files.
5497 * docs/version.texi: Remove from revision control. This file is
5498 automatically generated on build now.
5499 * gendistlist.sh: Add `*.info'.
5500
e0b37bb5 55012009-09-21 Felix Zielcke <fzielcke@z-51.de>
5502
5503 * kern/term.c: Fix indentation.
5504
5a78865b 55052009-09-21 Felix Zielcke <fzielcke@z-51.de>
5506
5507 * util/hostdisk.c: Fix a comment.
5508
dace7e8a 55092009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5510
5511 Fix regression introduced in r2539.
5512
5513 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5514 to 0xA1.
5515
a83d079b 55162009-09-19 Colin Watson <cjwatson@ubuntu.com>
5517
5518 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5519 os-prober. Under normal operation, it does not print anything to
5520 stderr; if it does, we need to debug it, and throwing away stderr
5521 makes that excessively difficult.
a83d079b 5522
be94a509 55232009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5526
63f745e8 55272009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5528
5529 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5530 AC_LANG_PROGRAM from autoconf.
5531 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5532 prototypes (fixes warning).
5533
5534 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5535 `--disable-werror' was used.
5536
bbb2a70f 55372009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5538
5539 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5540 uninitialized `lastaddr'.
5541
77c24f1d 55422009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5543
0f0b8c87 5544 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5545
07197f23 55462009-09-14 Colin Watson <cjwatson@ubuntu.com>
5547
5548 * commands/test.c (get_fileinfo): Return immediately if
5549 grub_fs_probe fails.
5550
dabf1798 55512009-09-14 José Martínez <xosemp@gmail.com>
5552
5553 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5554
d52109a7 55552009-09-14 Colin Watson <cjwatson@ubuntu.com>
5556
5557 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5558 output.
5559
56532179 55602009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5561
5562 * configure.ac: Remove --enable-grub-pe2elf. Only build
5563 grub-pe2elf when needed by the build system itself.
5564 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5565
8ef070f5 55662009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5567
5568 * configure.ac: Bump version to 1.97~beta3.
5569 * docs/version.texi: Likewise.
5570
61229557 55712009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5572
5573 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5574 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5575 from here ...
5576 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5577 (grub_linux_setup_video): ... to here (with some adjustments).
5578
5c9f8d84 55792009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5580
5581 Fix memory corruption issue (spotted by Colin Watson).
5582
5583 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5584 causing returned size to be stored in an incorrect memory location.
5585 Fix use of uninitialized value when storing the returned size.
5586
e8f5d6e9 55872009-09-12 Yves Blusseau <blusseau@zetam.org>
5588
5589 Change clean rules to properly remove files
5590
5591 * genmk.rb: add new clean rules
5592 * Makefile.in (clean): add the new targets
5593 (mostlyclean): likewise
5594
cda2a409 55952009-09-11 Colin Watson <cjwatson@ubuntu.com>
5596
5597 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5598 to grub_uint64_t.
5599 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5600 non-resident files.
5601
86695375 56022009-09-11 Colin Watson <cjwatson@ubuntu.com>
5603
5604 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5605 part of bug #27349.
5606
8aa1541a 56072009-09-10 Felix Zielcke <fzielcke@z-51.de>
5608
5609 * util/grub-mkconfig.in: Make the created config mode 400 and
5610 print a warning if it fails.
5611
48d9bb0a 56122009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5613
5614 * util/grub.d/40_custom.in: Ask user to type custom entries below
5615 comment, rather than below 'exec tail' line.
5616
3b0521be 56172009-09-10 Colin Watson <cjwatson@ubuntu.com>
5618
5619 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5620 visible in grub.cfg.
5621
50051d55 56222009-09-10 Colin Watson <cjwatson@ubuntu.com>
5623
5624 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5625 file.
5626
c0d34387 56272009-09-10 Felix Zielcke <fzielcke@z-51.de>
5628
5629 * docs/grub.cfg: Add an example menu entry for memtest86+.
5630
80a608f3 56312009-09-09 Felix Zielcke <fzielcke@z-51.de>
5632
a2094832 5633 * config.guess: Update to latest version from config git.
80a608f3 5634 * config.sub: Likewise.
5635
99423078 56362009-09-08 Colin Watson <cjwatson@ubuntu.com>
5637
5638 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
5639 unknown-command case. Fixes bug #27320.
5640
44454e4c 56412009-09-08 Felix Zielcke <fzielcke@z-51.de>
5642
5643 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
5644 `help' if the command exists.
5645
e30d87ad 56462009-09-06 Robert Millan <rmh.grub@aybabtu.com>
5647
5648 * INSTALL: Require GCC 4.1.3 or later.
5649
9a86f1ec 56502009-09-06 Yves Blusseau <blusseau@zetam.org>
5651
5652 * Makefile.in (RMKFILES): add i386-qemu.rmk
5653 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
5654 $(srcdir)/stamp-h.in
5655
7f26d466 56562009-09-05 Robert Millan <rmh.grub@aybabtu.com>
5657
5658 * util/grub-probe.c (probe): Comment out buggy codepath, which
5659 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
5660 should be re-enabled after 1.97.
5661
3a613259 56622009-09-05 Felix Zielcke <fzielcke@z-51.de>
5663
5664 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
5665 find searches for.
5666
197f76c7 56672009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
5670 unnecessary calls to grub_error.
5671
70ba68ce 56722009-09-04 Colin Watson <cjwatson@ubuntu.com>
5673
5674 * NEWS: Mention `keystatus' and Unicode fonts.
5675
4ff0d7a4 56762009-09-04 Robert Millan <rmh.grub@aybabtu.com>
5677
5678 * configure.ac: Bump version to 1.97~beta2.
5679 * docs/version.texi: Likewise.
5680
77c55a87 56812009-09-03 Colin Watson <cjwatson@ubuntu.com>
5682
5683 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
5684 containing unwind information in some cases where it previously did
5685 not. Use -fno-dwarf2-cfi-asm if available to restore the old
5686 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
5687 discussion.
5688
f79572cd 56892009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
5690
5691 Embedding loadenv module into grub-emu
5692
5693 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
5694 commands/loadenv.c
5695 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
5696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
5697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
5698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
5699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
5700 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
5701
93a81088 57022009-09-03 Magnus Granberg <zorry@ume.nu>
5703
5704 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
5705 include -fPIE in the default specs.
5706 * configure.ac: Check if pie_possible is yes and add -fno-PIE
5707 to TARGET_CFLAGS.
5708
160034b2 57092009-09-03 Felix Zielcke <fzielcke@z-51.de>
5710
5711 * INSTALL: Note that GNU Bison 2.3 or later is required.
5712
087c07c4 57132009-09-03 Colin Watson <cjwatson@ubuntu.com>
5714
5715 * kern/i386/pc/startup.S: Fix typo.
5716
cbf978c0 57172009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
5720 according to GCS.
5721
57222009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 5723
5724 * docs/grub.texi (Naming convention): Describe one-based partition
5725 numbering.
5726 (Device syntax): Likewise.
5727 (File name syntax): Likewise.
5728 (Block list syntax): Likewise.
5729 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
5730 menu.lst.
5731 (File name syntax): Likewise.
5732 (Command-line and menu entry commands): Document acpi, blocklist,
5733 crc, export, insmod, keystatus, ls, set, and unset commands.
5734
f3e8cdfd 57352009-09-02 Colin Watson <cjwatson@ubuntu.com>
5736
5737 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
5738 to avoid implying that only one of --shift, --ctrl, or --alt may be
5739 used.
5740
c0bc232b 57412009-09-02 Colin Watson <cjwatson@ubuntu.com>
5742
5743 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
5744 rather than comparing against S_IFREG, which will almost never work.
5745
aa0f752d 57462009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
5749 (write_blocklists): Likewise.
5750
ecb3166a 57512009-09-01 Colin Watson <cjwatson@ubuntu.com>
5752
5753 * script/lua/grub_lua.h (fputs): Supply a format string as the first
5754 argument to grub_printf.
5755
c403a125 57562009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 5757
5758 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 5759 non GNU test.
31aba781 5760
b5e7312c 57612009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * kern/file.c (grub_file_read): Spelling fix
5764
fe00f472 57652009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
5768 loading of headers in some cases.
5769
cc55302e 57702009-08-30 Robert Millan <rmh.grub@aybabtu.com>
5771
5772 * configure.ac: Bump version to 1.97~beta1.
5773 * docs/version.texi: Likewise.
5774
5c90cdd2 57752009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 5776
5777 * include/grub/i386/xnu.h: Add license header.
5778 include grub/err.h explicitly.
5779
c90edae4 57802009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5781
5782 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
5783 to `ufs' in the vfs.root.mountfrom kernel parameter.
5784
d8888b5c 57852009-08-29 Robert Millan <rmh.grub@aybabtu.com>
5786
5787 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
5788
5789 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
5790 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
5791
5792 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
5793 `ARRAY_SIZE' macro.
5794
6f07b921 57952009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 * kern/file.c (grub_file_read): Check offset.
5798 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
5799 * fs/jfs.c (grub_jfs_read_file): Likewise.
5800 * fs/ntfs.c (grub_ntfs_read): Likewise.
5801 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
5802 * fs/minix.c (grub_minix_read_file): Correct offset check.
5803 * fs/ufs.c (grub_ufs_read_file): Likewise.
5804
b4f34077 58052009-08-28 Colin Watson <cjwatson@ubuntu.com>
5806
5807 * term/i386/pc/console.c (bios_data_area): Cast
5808 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
5809
e7c69859 58102009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 1-bit optimised blitters.
5813
5814 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
5815 prototype.
5816 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5817 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5818 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5819 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5820 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5821 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5822 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
5823 function.
5824 (grub_video_fbblit_replace_24bit_1bit): Likewise.
5825 (grub_video_fbblit_replace_16bit_1bit): Likewise.
5826 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5827 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5828 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
5829 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
5830 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
5831 when possible.
5832 * video/video.c (grub_video_get_blit_format): Return
5833 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
5834
a57da43f 58352009-08-28 Colin Watson <cjwatson@ubuntu.com>
5836
5837 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
5838 the first argument to grub_printf.
5839
4cbe67e5 58402009-08-28 Colin Watson <cjwatson@ubuntu.com>
58412009-08-28 Robert Millan <rmh.grub@aybabtu.com>
5842
5843 Add `getkeystatus' terminal method. Add a new `keystatus' command
5844 to query it.
5845
5846 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
5847 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
5848 modifier key bitmasks.
5849 (struct grub_term_input): Add `getkeystatus' member.
5850 (grub_getkeystatus): Add prototype.
5851 * kern/term.c (grub_getkeystatus): New function.
5852
5853 * include/grub/i386/pc/memory.h
5854 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
5855 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
5856 Data Area layout.
5857 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
5858 (grub_console_term_input): Set `getkeystatus' member.
5859 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
5860 constants.
5861 (grub_usb_keyboard_getreport): Likewise.
5862 (grub_usb_keyboard_checkkey): Likewise.
5863 (grub_usb_keyboard_getkeystatus): New function.
5864 (grub_usb_keyboard_term): Set `getkeystatus' member.
5865
5866 * commands/keystatus.c: New file.
5867 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
5868 (keystatus_mod_SOURCES): New variable.
5869 (keystatus_mod_CFLAGS): Likewise.
5870 (keystatus_mod_LDFLAGS): Likewise.
5871 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
5872 commands/keystatus.c.
5873 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5874 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5875 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5877 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5878 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 5879
6e2a9085 58802009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 Split befs.mod and afs.mod into *_be.mod and *.mod
5883
5884 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
5885 (grub_fstest_SOURCES): Likewise.
5886 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
5887 (afs_be_mod_SOURCES): New variable.
5888 (afs_be_mod_CFLAGS): Likewise.
5889 (afs_be_mod_LDFLAGS): Likewise.
5890 (befs_be_mod_SOURCES): Likewise.
5891 (befs_be_mod_CFLAGS): Likewise.
5892 (befs_be_mod_LDFLAGS): Likewise.
5893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
5894 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5895 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5896 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5897 (grub_emu_SOURCES): Likewise.
5898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5899 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5900 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5901 * fs/afs_be.c: New file.
5902 * fs/befs_be.c: New file.
5903 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
5904 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
5905 (U16): Replaced with ...
5906 (grub_afs_to_cpu16): ...this. All users updated.
5907 (U32): Replaced with ...
5908 (grub_afs_to_cpu32): ...this. All users updated.
5909 (U64): Replaced with ...
5910 (grub_afs_to_cpu64): ...this. All users updated.
5911 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
5912 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 5913 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 5914 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5915 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5916 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5917 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5918 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
5919 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
5920 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
5921 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
5922
32a71655 59232009-08-26 Bean <bean123ch@gmail.com>
5924
5925 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
5926 64-bit number.
5927 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5928 (grub_xfs_inode_block): Change return type to grub_uint64_t.
5929 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
5930
552bf6c5 59312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 NetBSD memory map support.
5934
5935 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
5936 (grub_netbsd_btinfo_mmap_header): New structure.
5937 (grub_netbsd_btinfo_mmap_entry): Likewise.
5938 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
5939
1ae2078c 59402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 Enable bsd.mod on coreboot.
5943
5944 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
5945 (bsd_mod_SOURCES): New variable.
5946 (bsd_mod_CFLAGS): Likewise.
5947 (bsd_mod_LDFLAGS): Likewise.
5948 (bsd_mod_ASFLAGS): Likewise.
5949 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
5950 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
5951
beefc598 59522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 Cleanup NetBSD root support.
5955
5956 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
5957 grub_bsd_get_device.
5958 Fix typo.
5959
3b76e68b 59602009-08-25 Felix Zielcke <fzielcke@z-51.de>
5961
5962 * util/grub.d/00_header.in: Move check for the video backend of
5963 gfxterm from here ...
5964 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
5965 a suitable video backend.
5966
aea664ea 59672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 Fix breakage in grub-setup.
5970
5971 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
5972 "msdos_partition_map".
5973
ff747d50 59742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Fix breakage in normal/auth.c.
5977
5978 * normal/auth.c (grub_iswordseparator): New function.
5979
e7e1f93f 59802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 Authentication support.
5983
5984 * commands/password.c: New file.
5985 * conf/common.rmk (pkglib_MODULES): Add password.mod.
5986 (password_mod_SOURCES): New variable.
5987 (password_mod_CFLAGS): Likewise.
5988 (password_mod_LDFLAGS): Likewise.
5989 (normal_mod_SOURCES): Add normal/auth.c.
5990 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
5991 normal/auth.c.
5992 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
5993 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5994 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
5995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5996 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5997 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5998 * include/grub/auth.h: New file.
5999 * include/grub/err.h (grub_err_t): New enum value
6000 GRUB_ERR_ACCESS_DENIED.
6001 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
6002 'users'.
6003 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
6004 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
6005 users updated.
6006 * normal/auth.c: New file.
6007 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
6008 (grub_cmdline_run): Don't allow to go to command line without
6009 authentication.
6010 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
6011 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
6012 menuentry without superuser rights.
6013 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
6014 user isn't a superuser.
6015
70f1161d 60162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 Save space by inlining misc.c functions.
6019
6020 * kern/misc.c (grub_iswordseparator): Made static.
6021 * kern/misc.c (grub_strcat): Moved from here ...
6022 * include/grub/misc.h (grub_strcat): ... here. Inlined.
6023 * kern/misc.c (grub_strncat): Moved from here ...
6024 * include/grub/misc.h (grub_strncat): ... here. Inlined.
6025 * kern/misc.c (grub_strcasecmp): Moved from here ...
6026 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
6027 * kern/misc.c (grub_strncasecmp): Moved from here ...
6028 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
6029 * kern/misc.c (grub_isalpha): Moved from here ...
6030 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
6031 * kern/misc.c (grub_isdigit): Moved from here ...
6032 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
6033 * kern/misc.c (grub_isgraph): Moved from here ...
6034 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
6035 * kern/misc.c (grub_tolower): Moved from here ...
6036 * include/grub/misc.h (grub_tolower): ... here. Inlined.
6037
48e40bff 60382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * script/sh/function.c (grub_script_function_find): Cut error message
6041 not to flood terminal.
6042 * script/sh/lexer.c (grub_script_yylex): Remove command line length
6043 limit.
6044 * script/sh/script.c (grub_script_arg_add): Duplicate string.
6045
c385bfc3 60462009-08-24 Colin Watson <cjwatson@ubuntu.com>
6047
6048 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
6049 `report' grub_uint8_t *.
6050 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
6051 Use a 50-millisecond timeout rather than just repeating
6052 grub_usb_keyboard_getreport 50 times.
6053 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
6054
2d21e3e8 60552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Rename *_partition_map to part_*
6058
6059 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
6060 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
6061 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
6062 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
6063 All users updated.
6064 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
6065 All users updated.
6066 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
6067 * util/grub-probe.c (probe_partmap): Don't transform partition name
6068 to get module name.
6069
dd103c4e 60702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 Fix OpenBSD and NetBSD support.
6073
6074 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
6075 memory address conflict.
6076 (OPENBSD_MMAP_ACPI): New definition.
6077 (OPENBSD_MMAP_NVS): Likewise.
6078 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
6079 and OPENBSD_MMAP_NVS.
6080 Add memory map terminator
6081 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 6082 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 6083
16c84d74 60842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 Let user specify NetBSD root device.
6087
6088 * loader/i386/bsd.c (netbsd_root): New variable.
6089 (netbsd_opts): New option 'root'.
6090 (NETBSD_ROOT_ARG): New macro.
6091 (grub_netbsd_boot): Use 'netbsd_root'.
6092 (grub_bsd_unload): Free 'netbsd_root'.
6093 (grub_cmd_netbsd): Fill 'netbsd_root'.
6094
adb29902 60952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 Support for 64-bit NetBSD.
6098
6099 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
6100 point when booting non-FreeBSD.
6101
f5ae9f74 61022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 Support --no-smp and --no-acpi for NetBSD.
6105
6106 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
6107 (NETBSD_AB_NOACPI): Likewise.
6108 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
6109 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
6110
de74f136 61112009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
6114 errors.
6115 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
6116 errors. Call grub_error when needed.
6117
e9a925da 61182009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * commands/search.c (search_fs): Try searching without autoload first.
6121 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6122 filesystem module explicitly for faster booting.
6123
5174302b 61242009-08-23 Colin Watson <cjwatson@ubuntu.com>
6125
6126 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
6127
c8c80635 61282009-08-23 Colin Watson <cjwatson@ubuntu.com>
6129
6130 * util/grub.d/30_os-prober.in: Disable os-prober if
6131 `GRUB_DISABLE_OS_PROBER' was set to true.
6132
71acf5e5 61332009-08-23 Robert Millan <rmh.grub@aybabtu.com>
6134
6135 * partmap/pc.c: Rename to ...
6136 * partmap/msdos.c: ... this. Update all users.
6137 (grub_pc_partition_map): Rename to ...
6138 (grub_msdos_partition_map): ... this. Update all users.
6139
6140 * parttool/pcpart.c: Rename to ...
6141 * parttool/msdospart.c: ... this. Update all users.
6142
6143 * include/grub/pc_partition.h: Rename to ...
6144 * include/grub/msdos_partition.h: ... this. Update all users.
6145 (grub_pc_partition_bsd_entry): Rename to ...
6146 (grub_msdos_partition_bsd_entry): ... this. Update all users.
6147 (grub_pc_partition_disk_label): Rename to ...
6148 (grub_msdos_partition_disk_label): ... this. Update all users.
6149 (grub_pc_partition_entry): Rename to ...
6150 (grub_msdos_partition_entry): ... this. Update all users.
6151 (grub_pc_partition_mbr): Rename to ...
6152 (grub_msdos_partition_mbr): ... this. Update all users.
6153 (grub_pc_partition): Rename to ...
6154 (grub_msdos_partition): ... this. Update all users.
6155 (grub_pc_partition_is_empty): Rename to ...
6156 (grub_msdos_partition_is_empty): ... this. Update all users.
6157 (grub_pc_partition_is_extended): Rename to ...
6158 (grub_msdos_partition_is_extended): ... this. Update all users.
6159 (grub_pc_partition_is_bsd): Rename to ...
6160 (grub_msdos_partition_is_bsd): ... this. Update all users.
6161
6162 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
6163 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
6164 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
6165 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
6166 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
6167 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
6168 (gpt_mod_LDFLAGS): Rename to ...
6169 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
6170 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
6171 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
6172 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
6173 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
6174 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
6175 (part_gpt_mod_LDFLAGS): ... this.
6176 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
6177 `pcpart.mod' to `msdospart.mod'.
6178 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
6179 to ...
6180 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
6181 (msdospart_mod_LDFLAGS): ... this.
6182
c11fded5 61832009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
6186 (openbsd_opts): Likewise.
6187 (netbsd_opts): Likewise.
6188 (freebsd_flags): Added 0 terminator.
6189 (openbsd_flags): Likewise.
6190 (netbsd_flags): Likewise.
6191 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6192 (grub_cmd_freebsd): Transformed into extended command.
6193 (grub_cmd_openbsd): Likewise.
6194 (grub_cmd_netbsd): Likewise.
6195 (cmd_freebsd): Changed type to grub_extcmd_t.
6196 (cmd_openbsd): Likewise.
6197 (cmd_netbsd): Likewise.
6198 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6199 grub_cmd_openbsd as extended commands.
6200 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6201 cmd_netbsd and cmd_openbsd
6202
11d1c769 62032009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6206
7a9094e5 62072009-08-21 Pavel Roskin <proski@gnu.org>
6208
5496c37e 6209 * Makefile.in (install-local): When checking if a file is in the
6210 build directory, use "test -e" to detect symlinks.
6211
7a9094e5 6212 * Makefile.in (install-local): Remove all files in
6213 $(DESTDIR)$(pkglibdir) before installing new files there.
6214
e53cea11 62152009-08-18 Felix Zielcke <fzielcke@z-51.de>
6216
6217 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6218 grub-mkelfimage.
6219
9aced544 62202009-08-18 Felix Zielcke <fzielcke@z-51.de>
6221
6222 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6223 explicitly specified by the user.
6224
b7da6bab 62252009-08-18 Pavel Roskin <proski@gnu.org>
6226
6227 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6228 grub_uint8_t pointer for data.
6229 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6230 Likewise.
6231 * video/fb/fbutil.c: Remove unnecessary casts.
6232
19f1b335 62332009-08-17 Michal Suchanek <hramrach@centrum.cz>
6234
6235 VBE cleanup.
6236
6237 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6238 (grub_vbe_set_video_mode): Save active mode info
6239 only after setting the mode.
6240 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6241 second argument.
6242
2f467aa9 62432009-08-17 Michal Suchanek <hramrach@centrum.cz>
6244
6245 Rename variables for clarity.
6246
6247 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6248 (active_vbe_mode_info): ... this. All users updated.
6249 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6250 All users updated.
6251 (initial_mode): Rename to ...
6252 (initial_vbe_mode): ... this. All users updated.
6253 (mode_in_use): Rename to ..
6254 (vbe_mode_in_use): ... this. All users updated.
6255 (mode_list): Rename to ..
6256 (vbe_mode_list): ... this. All users updated.
6257 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6258 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6259 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6260 'mode_list_size' to 'vbe_mode_list_size'.
6261 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6262 'best_mode_info' to 'best_vbe_mode_info' and
6263 'best_mode' to 'best_vbe_mode'
6264
6025fcd7 62652009-08-17 Michal Suchanek <hramrach@centrum.cz>
6266
6267 Remove duplicate grub_video_fb_get_video_ptr.
6268
6269 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6270 (grub_video_fb_get_video_ptr): ... this.
6271 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6272 * video/fb/fbutil.c: Add comment about addressing.
6273 (get_data_ptr): Rename to ...
6274 (grub_video_fb_get_video_ptr): ... this. All users updated.
6275 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6276
cc8c6faf 62772009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6278
6279 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6280 grub_dprintf() that was just added.
6281
08aa61f0 62822009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6283
6284 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6285 (DEFAULT_VIDEO_MODE): Remove macros.
6286 (grub_linux_boot): Remove assumption that Linux has FB support,
6287 and use "text" as default video mode.
6288
7cef4f75 62892009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6292 grub_dprintf.
6293 * fs/fat.c (grub_fat_read_data): Likewise.
6294
e1f39873 62952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6298 payload.
6299 (grub_module): Likewise.
6300
c166d79e 63012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6304 mbi->cmdline but free playground.
6305
c60cee8e 63062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 Handle group offset on UFS1.
6309
6310 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6311 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6312
c0d8b5d4 63132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 Split ufs.mod into ufs1.mod and ufs2.mod.
6316
6317 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6318 (grub_fstest_SOURCES): Likewise.
6319 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6320 (ufs_mod_SOURCES): Remove.
6321 (ufs_mod_CFLAGS): Likewise.
6322 (ufs_mod_LDFLAGS): Likewise.
6323 (ufs1_mod_SOURCES): New variable.
6324 (ufs1_mod_CFLAGS): Likewise.
6325 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6326 (ufs2_mod_SOURCES): New variable.
6327 (ufs2_mod_CFLAGS): Likewise.
6328 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6329 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6330 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6331 Likewise.
6332 (grub_emu_SOURCES): Likewise.
6333 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6334 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6335 (grub_setup_SOURCES): Likewise.
6336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6337 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6338 (grub_setup_SOURCES): Likewise.
6339 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6340 Likewise.
6341 * fs/ufs2.c: New file.
6342 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6343
d3539132 63442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 Framebuffer split.
6347
6348 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6349 subsystem at the end.
6350 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6351 (video_fb_mod_SOURCES): New variable.
6352 (video_fb_mod_CFLAGS): Likewise.
6353 (video_fb_mod_LDFLAGS): Likewise.
6354 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6355 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6356 * video/i386/pc/vbeblit.c: Moved from here ...
6357 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6358 * video/i386/pc/vbefill.c: Moved from here ...
6359 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6360 * video/i386/pc/vbeutil.c: Moved from here ...
6361 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6362 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6363 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6364 * include/grub/i386/pc/vbefill.h: Moved from here ...
6365 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6366 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6367 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6368 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6369 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6370 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6371 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6372 (grub_video_adapter): Added 'get_info_and_fini'.
6373 (grub_video_get_info_and_fini): New prototype.
6374 (grub_video_set_mode): make modestring const char *.
6375 * loader/i386/linux.c (grub_linux_setup_video): Use
6376 grub_video_get_info_and_fini.
6377 (grub_linux_boot): Move modesetting just before booting.
6378 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6379 grub_video_get_info_and_fini.
6380 * video/i386/pc/vbe.c: Moved framebuffer part ...
6381 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6382 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6383 grub_video_fbstd_colors and grub_video_fb_set_palette.
6384 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6385 grub_video_fb_init.
6386 (grub_video_vbe_fini): Use grub_video_fb_fini.
6387 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6388 render_target and use grub_video_fb_set_active_render_target and
6389 grub_video_fb_set_palette.
6390 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6391 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6392 (grub_video_vbe_adapter): Use framebuffer.
6393 * video/video.c (grub_video_get_info_and_fini): New function.
6394 (grub_video_set_mode): Make modestring const char *.
6395 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6396 values are already initialised.
6397
d404ee56 63982009-08-14 Pavel Roskin <proski@gnu.org>
6399
6400 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6401 ABS and APPLE_CC.
6402 * boot/i386/pc/diskboot.S: Likewise.
6403 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6404 sectors allow compilation on MacOSX.
6405 * conf/i386-pc.rmk: Enable unconditional compilation of
6406 lnxboot.img.
6407
9a10df16 64082009-08-13 Colin Watson <cjwatson@ubuntu.com>
6409
6410 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6411 * util/grub.d/00_header.in: Enter interruptible sleep if
6412 GRUB_HIDDEN_TIMEOUT is set.
6413
be3c9ca7 64142009-08-13 Yves Blusseau <blusseau@zetam.org>
6415
6416 * include/grub/symbol.h: Add the LOCAL macro.
6417 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6418 starting with "L_".
6419
1f9e557e 64202009-08-13 Pavel Roskin <proski@gnu.org>
6421
9ca62843 6422 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6423 any modern compilers we support.
6424
1f9e557e 6425 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6426 Use local labels starting with "L_" so that Apple assembler
6427 knows they are local.
6428
81623db6 64292009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6430
6431 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6432 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6433 (bsd_kernel_types): ... this enum.
6434
6435 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6436 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6437 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6438
6439 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6440 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6441 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6442 messages.
6443
f5d35e7a 64442009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6445
6446 * util/grub-dumpdevtree: Moved from here ...
6447 * util/i386/efi/grub-dumpdevtree: ... to here.
6448 (hexify): New function. Converts a string to its hex version.
6449 Generate hex versions of "efi" and "device-properties" by calling
6450 hexify() on the ASCII strings rather than by hardcoding numbers.
6451
d1e1d527 64522009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6453
6454 * fs/jfs.c: Update copyright year.
6455
1ebbe064 64562009-08-08 Felix Zielcke <fzielcke@z-51.de>
6457
6458 * util/grub.d/00_header.in: Fix a comment.
6459 * util/grub.d/10_linux.in: Likewise.
6460 * util/grub.d/10_windows.in: Likewise.
6461 * util/grub.d/10_hurd.in: Likewise.
6462
a78c8d24 64632009-08-08 Felix Zielcke <fzielcke@z-51.de>
6464
6465 * util/grub-mkconfig.in: Allow the user to specify the used font
6466 with GRUB_FONT.
6467
29a6b9e8 64682009-08-08 Pavel Roskin <proski@gnu.org>
6469
b5f16cc4 6470 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6471 available, xfs.mod needs it now.
6472
2f5cb827 6473 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6474 the "g" modifier in sed when the intention is to strip something
6475 once. This fixes comparison of kernels with multiple dashes.
6476
29a6b9e8 6477 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6478 on it. Add missing space before closing bracket. Fix
6479 misleading formatting.
6480
892a3d98 64812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6482
6483 * docs/grub.texi: Major overhaul. Remove all sections that are
6484 specific to GRUB Legacy, or mostly composed of Legacy-specific
6485 information.
6486
ed94253f 64872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6488
6489 * docs/version.texi: New file. Provides version information for
6490 grub.texi.
6491
126d6628 64922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6493
6494 * docs/grub.texi: Update CVS information to SVN.
6495 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6496
998b5aa9 64972009-08-07 Felix Zielcke <fzielcke@z-51.de>
6498
6499 * util/grub-mkconfig.in: Remove a wrong `fi'.
6500
818e094a 65012009-08-07 Felix Zielcke <fzielcke@z-51.de>
6502
6503 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6504 (grub_jfs_uuid): New function.
6505 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6506
b969c52f 65072009-08-07 Felix Zielcke <fzielcke@z-51.de>
6508
6509 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6510 of it to ...
6511 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6512 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6513
7a4894cc 65142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6515
6516 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6517 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6518 Update all users.
6519
6520 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6521 not just "vmlinu[zx]".
6522 Moved from here ...
6523 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6524 all users.
6525
6526 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6527 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6528 all users.
6529
4e2171f8 65302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6531
6532 * util/grub.d/10_freebsd.in: Use an absolute device path for
6533 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6534
6dcfcb32 65352009-08-06 Felix Zielcke <fzielcke@z-51.de>
6536
6537 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6538 handling of multiple abstraction modules.
6539
f56a8756 65402009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6541
6542 Fix a bug resulting in black screen when loading Linux using a
6543 packed video mode.
6544
6545 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6546 function.
6547
6548 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6549 (grub_vbe_bios_getset_dac_palette_width): New function.
6550 (grub_vbe_bios_get_dac_palette_width)
6551 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6552 grub_vbe_bios_getset_dac_palette_width()).
6553
6554 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6555 check for return status.
6556 (grub_vbe_get_video_mode_info): When getting information for a packed
6557 mode (<= 8 bpp), obtain DAC palette width using
6558 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6559 {red,green,blue}_mark_size.
6560
222671b2 65612009-08-04 Felix Zielcke <fzielcke@z-51.de>
6562
ecb1a6d9 6563 * commands/search.c (options): Fix help output to match actual code.
222671b2 6564
f84114f5 65652009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6568 of homegrown code.
6569
bd288a20 65702009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6571
6572 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6573 on XFS or ReiserFS.
6574
8aab5e25 65752009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 Support Apple partition map with sector size different from 512 bytes.
6578
6579 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6580 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6581 and 'apart.partmap_size'.
6582
6ad6258a 65832009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
65842009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6585
6586 Fix cpuid command.
6587
6588 * commands/i386/cpuid.c (options): New variable.
6589 (grub_cmd_cpuid): Return real error.
6590 (GRUB_MOD_INIT(cpuid)): Declare options.
6591
67459bc6 65922009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6595 valid.
6596
fbc6ab54 65972009-07-31 Bean <bean123ch@gmail.com>
6598
6599 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6600 log2_inode.
6601 (grub_fshelp_node): Move inode field to the end.
6602 (grub_xfs_data): Remove inode field.
6603 (grub_xfs_inode_block): Calculate inode size using sblock.
6604 (grub_xfs_inode_offset): Likewise.
6605 (grub_xfs_read_inode): Calculate inode size using sblock.
6606 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6607 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6608 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6609 to match inode size.
6610 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6611 not accessible when data is null.
6612 (grub_xfs_open): Likewise.
6613
f45d6cfc 66142009-07-31 Bean <bean123ch@gmail.com>
6615
6616 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6617 Don't change pv->disk if it's already set.
6618
6619 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6620 (grub_raid_register): ... here.
6621 (grub_raid_rescan): Removed.
6622
6623 * include/grub/raid.h (grub_raid_rescan): Removed.
6624
6625 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6626 (fstest): Replace grub_raid_rescan with module fini function followed
6627 by init function.
6628
6629 * util/grub-probe.c: Add include file <grub/raid.h>.
6630 (probe_raid_level): New function.
6631 (probe): Detect abstraction by walking the disk device, support two
6632 level of abstraction (LVM on RAID) when detecting partition map.
6633
24443b5a 66342009-07-31 Pavel Roskin <proski@gnu.org>
6635
6636 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
6637 to grub_zalloc(), it was erroneous.
6638 Reported by Bean <bean123ch@gmail.com>
6639
a275d9e7 66402009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 6643 embedding zone, not only the first one.
a275d9e7 6644
56c5a47f 66452009-07-29 Joe Auricchio <jauricchio@gmail.com>
6646
6647 * term/gfxterm.c (clear_char): New function.
6648 (grub_virtual_screen_setup): Use clear_char.
6649 (scroll_up): Likewise.
6650 (grub_virtual_screen_cls): Likewise.
6651
67bb323a 66522009-07-29 Felix Zielcke <fzielcke@z-51.de>
6653
6654 * util/deviceiter.c (get_acceleraid_disk_name): New static
6655 function.
6656 (grub_util_iterate_devices): Handle Accelraid devices.
6657 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
6658
388a7c75 66592009-07-28 Robert Millan <rmh.grub@aybabtu.com>
6660
6661 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
6662 separator for the suggested gfxpayload string (';' collides with the
6663 parser and needs escaping).
6664
3bb7abcf 66652009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
6668 Clear direction flag before jumping to OS.
6669 (grub_multiboot2_real_boot): Likewise.
6670
2ddd36d7 66712009-07-28 Felix Zielcke <fzielcke@z-51.de>
6672
6673 * util/i386/pc/grub-install: Fix parsing of --disk-module
6674 option.
6675
c521b62b 66762009-07-28 Felix Zielcke <fzielcke@z-51.de>
6677
6678 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
6679 when embedding.
6680
880e0a0c 66812009-07-26 Felix Zielcke <fzielcke@z-51.de>
6682
6683 * util/grub-mkconfig.in (package_version): New variable.
6684 Use it do display the version.
6685
2366e356 66862009-07-25 Felix Zielcke <fzielcke@z-51.de>
6687
6688 * kern/file.c (grub_file_open): Revert to previous check with
6689 grub_errno.
6690
7ad8c80e 66912009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
6694 from help line. It's out of sync with code.
6695
72b9658b 66962009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
6699 entries on failed boot.
6700
77435277 67012009-07-25 Felix Zielcke <fzielcke@z-51.de>
6702
6703 * kern/file.c (grub_file_open): Fix an error check.
6704
fcaa8b21 67052009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
6706
35d16c74 6707 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
6708 partition map couldn't be identified.
fcaa8b21 6709
48904cd1 67102009-07-23 Pavel Roskin <proski@gnu.org>
6711
ef3c317f 6712 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
6713 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
6714 case of little endian words becomes just an optimization.
6715 Respect const modifier.
ad8ea1f4 6716 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 6717
48904cd1 6718 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
6719 to avoid loss of upper bits if align is unsigned and shorter
6720 than addr.
6721
260c9a89 67222009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 UUID support for UFS
6725
6726 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
6727 (grub_ufs_uuid): New function.
6728 (grub_ufs_fs): add .uuid
6729
f76ce889 67302009-07-21 Pavel Roskin <proski@gnu.org>
6731
6732 * kern/dl.c (grub_dl_check_header): Make static.
6733
6a6cbcaf 67342009-07-21 Felix Zielcke <fzielcke@z-51.de>
6735
6736 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
6737 add drivemap for Vista. It breaks Windows 7.
6738
cffcddb2 67392009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
6742 128 bytes
6743
1ef44b80 67442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 Add BFS support
6747
6748 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
6749 (grub_fstest_SOURCES): Likewise.
6750 (pkglib_MODULES): Add befs.mod.
6751 (befs_mod_SOURCES): New variable.
6752 (befs_mod_CFLAGS): Likewise.
6753 (befs_mod_LDFLAGS): Likewise.
6754 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6755 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6756 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6757 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6758 (grub_setup_SOURCES): Likewise.
6759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6761 (grub_setup_SOURCES): Likewise.
6762 * fs/befs.c: New file.
6763 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
6764 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
6765 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
6766 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
6767 (B_KEY_INDEX_ALIGN): New declaration.
6768 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
6769 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
6770 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
6771 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
6772 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
6773 (grub_afs_mount) [MODE_BFS]: Likewise.
6774 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
6775 (grub_afs_fs): Use GRUB_AFS_FSNAME
6776 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
6777 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
6778 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
6779 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
6780
4f253044 67812009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
6782
6783 * util/getroot.c (find_root_device): Add support for MacOSX.
6784 * util/hostdisk.c: Likewise.
6785
57a55913 67862009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * font/font.c (find_glyph): Check whether a font is present to avoid
6789 segmentation fault.
75421ca9 6790
67912009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 6792
6793 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
6794
e98cd0c2 67952009-07-20 Pavel Roskin <proski@gnu.org>
6796
6797 * configure.ac: Trim excessively wordy excuses.
6798
1d2d169a 67992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 Add symlink, mtime and label support to AtheFS.
6802
6803 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
6804 (grub_afs_iterate_dir): Handle symlinks.
6805 (grub_afs_open): Use grub_afs_read_symlink.
6806 (grub_afs_dir): Likewise.
6807 Pass mtime.
6808 (grub_afs_label): New function.
6809 (grub_afs_fs): Add grub_afs_label.
6810 (grub_afs_read_symlink): New function.
6811
186f3189 68122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 Fix AtheFS support.
6815
6816 * fs/afs.c: Fix comments style.
6817 (grub_afs_blockrun): Declare as packed.
6818 (grub_afs_datastream): Likewise.
6819 (grub_afs_bnode): Likewise.
6820 (grub_afs_btree): Likewise.
6821 (grub_afs_sblock): Likewise.
6822 Declare `name' as char.
6823 (grub_afs_inode): Declare as packed.
6824 Change void *vnode to grub_uint32_t unused.
6825 (grub_afs_iterate_dir): Check that key_size is positive.
6826 (grub_afs_mount): Don't read superblock twice.
75421ca9 6827 (grub_afs_dir): Don't free node in case of error,
186f3189 6828 grub_fshelp_find_file already handles this.
6829 (grub_afs_open): Likewise.
6830
5680109e 68312009-07-19 Pavel Roskin <proski@gnu.org>
6832
6833 * Makefile.in: Remove LIBLZO and enable_lzo.
6834 * conf/i386-pc.rmk: Remove lzo support.
6835 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
6836 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
6837 support.
6838 * kern/i386/pc/lzo1x.S: Remove.
6839 * kern/i386/pc/startup.S: Remove lzo support.
6840 * util/i386/pc/grub-mkimage.c: Likewise.
6841
ac70fa32 68422009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
6845 * fs/xfs.c (grub_xfs_dir): Likewise.
6846 * fs/afs.c (grub_afs_dir): Likewise.
6847 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6848 (grub_iso9660_open): Likewise.
6849 * fs/jfs.c (grub_jfs_open): Likewise.
6850 * fs/ext2.c (grub_ext2_dir): Likewise.
6851 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
6852 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 6853
eab58da2 68542009-07-16 Pavel Roskin <proski@gnu.org>
6855
d2838156 6856 * configure.ac: Never add "-c" to CFLAGS.
6857
55c70904 6858 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
6859
43e6200c 6860 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
6861 grub_cv_cc_efiemu should be used.
6862
ce7a733d 6863 * configure.ac: Typo fixes.
6864
eab58da2 6865 * kern/mm.c (grub_zalloc): New function.
6866 (grub_debug_zalloc): Likewise.
6867 * include/grub/mm.h: Declare grub_zalloc() and
6868 grub_debug_zalloc().
6869 * util/misc.c (grub_zalloc): New function.
6870 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
6871 instead of grub_malloc(), remove unneeded initializations.
6872 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
6873 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
6874 * commands/parttool.c (grub_cmd_parttool): Likewise.
6875 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6876 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
6877 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
6878 * disk/usbms.c (grub_usbms_finddevs): Likewise.
6879 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
6880 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
6881 (grub_cmd_efiemu_pnvram): Likewise.
6882 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
6883 * fs/iso9660.c (grub_iso9660_mount): Likewise.
6884 (grub_iso9660_iterate_dir): Likewise.
6885 * fs/jfs.c (grub_jfs_opendir): Likewise.
6886 * fs/ntfs.c (list_file): Likewise.
6887 (grub_ntfs_mount): Likewise.
6888 * kern/disk.c (grub_disk_open): Likewise.
6889 * kern/dl.c (grub_dl_load_core): Likewise.
6890 * kern/elf.c (grub_elf_file): Likewise.
6891 * kern/env.c (grub_env_context_open): Likewise.
6892 (grub_env_set): Likewise.
6893 (grub_env_set_data_slot): Likewise.
6894 * kern/file.c (grub_file_open): Likewise.
6895 * kern/fs.c (grub_fs_blocklist_open): Likewise.
6896 * loader/i386/multiboot.c (grub_module): Likewise.
6897 * loader/xnu.c (grub_xnu_create_key): Likewise.
6898 (grub_xnu_create_value): Likewise.
6899 * normal/main.c (grub_normal_add_menu_entry): Likewise.
6900 (read_config_file): Likewise.
6901 * normal/menu_entry.c (make_screen): Likewise.
6902 * partmap/sun.c (sun_partition_map_iterate): Likewise.
6903 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
6904 * script/sh/script.c (grub_script_parse): Likewise.
6905 * video/bitmap.c (grub_video_bitmap_create): Likewise.
6906 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6907 * video/readers/png.c (grub_png_output_byte): Likewise.
6908 (grub_video_reader_png): Likewise.
6909
830afef7 69102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 6911
6912 Enable all targets that can be built by default
6913
830afef7 6914 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 6915 grub-mkfont and grub-fstest if they can be built
6916
ee293aee 69172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 Fix hang and segmentation fault in grub-emu-usb
6920
6921 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
6922 * util/usb.c (grub_libusb_devices): likewise
6923 (grub_libusb_init): rename to ...
6924 (GRUB_MOD_INIT (libusb)):...this
6925 (grub_libusb_fini): rename to ..
6926 (GRUB_MOD_FINI (libusb)):...this
6927 * disk/usbms.c (grub_usbms_transfer): fix retry logic
6928 * include/grub/disk.h (grub_raid_init): removed, it's useless
6929 (grub_raid_fini): likewise
6930 (grub_lvm_init): likewise
6931 (grub_lvm_fini): likewise
6932 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
6933 by grub_init_all
6934
94414221 69352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Fix libusb
6938
6939 * Makefile.in (LIBUSB): new macro
6940 * genmk.rb (Utility/print_tail): new method
6941 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
6942 (top level): call util.print_tail at the end.
6943
59ade63d 69442009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 Make FreeBSD accept zpool.cache
6947
6948 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
6949 type is /boot/zfs/zpool.cache
6950
a58da8c7 69512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 Fix 64-bit efiemu
6954
6955 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
6956 correct wrong typedef
6957 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
6958
20591577 69592009-07-15 Pavel Roskin <proski@gnu.org>
6960
560ca572 6961 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
6962 * kern/disk.c (struct grub_disk_cache): Likewise.
6963
e8e8e4fd 6964 * commands/probe.c (options): Typo fix.
6965
fde24e10 6966 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
6967 Increase to 0x5a to accommodate FAT32. Adjust other offsets
6968 accordingly.
6969 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
6970
379c54c1 6971 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
6972 the end of "Error" to make the message more readable.
6973
7bd8f5bf 6974 * boot/i386/pc/boot.S (kernel_segment): Remove.
6975 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
6976 for destination.
6977
40b132c5 6978 * boot/i386/pc/boot.S (boot_version): Remove.
6979 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6980 Remove.
6981
20591577 6982 * include/grub/i386/pc/boot.h: Sort all offsets.
6983 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
6984 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
6985 * boot/i386/pc/boot.S: Assert location of every offset listed in
6986 include/grub/i386/pc/boot.h.
6987
2df32b2c 69882009-07-13 Pavel Roskin <proski@gnu.org>
6989
44b5d879 6990 * include/grub/i386/coreboot/machine.h: Rename
6991 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
6992 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
6993 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
6994
17dc3751 6995 * kern/dl.c: Force native word size to suppress warnings when
6996 compiling grub-emu.
6997
2df32b2c 6998 * kern/device.c (grub_device_iterate): Change struct part_ent to
6999 hold the name, not a pointer to it. Use one grub_malloc() per
7000 partition, not two. Free partition_name if grub_malloc() fails.
7001 Set ents to NULL only before grub_partition_iterate() is called.
7002
75c59f59 70032009-07-11 Bean <bean123ch@gmail.com>
7004
7005 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
7006 childname.
7007
0ae1bf88 70082009-07-10 Bean <bean123ch@gmail.com>
70092009-07-10 Robert Millan <rmh.grub@aybabtu.com>
7010
7011 * kern/ieee1275/openfw.c (grub_children_iterate)
7012 (grub_devalias_iterate): Fix size evaluation for property or path
7013 strings, which was broken since r2132.
7014
8279cade 70152009-07-07 Pavel Roskin <proski@gnu.org>
7016
7d8a52d3 7017 * commands/search.c (search_file): Merge into ...
7018 (search_fs): ... this. Accept search type as argument.
7019 (grub_cmd_search): Pass search type to search_fs().
7020
25f9a05a 7021 * include/grub/util/console.h: New file.
7022 * util/console.c: Use it instead of grub/machine/console.h.
7023 * util/grub-emu.c: Likewise.
7024
8279cade 7025 * lib/arg.c (find_long_option): Remove.
7026 (find_long): Add `len' argument, make `s' const char *.
7027 (grub_arg_parse): Parse long options in place, not in a
7028 temporary buffer.
7029
4a11b60f 70302009-07-06 Pavel Roskin <proski@gnu.org>
7031
99f68041 7032 * commands/search.c (search_fs): Fix potential NULL pointer
7033 dereference.
7034
4a11b60f 7035 * commands/search.c (search_fs): Replace QUID macro with quid_fn
7036 function pointer.
7037
e110f4de 70382009-07-06 Daniel Mierswa <impulze@impulze.org>
7039
7040 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
7041 comparison.
7042
46eeb6a2 70432009-07-05 Pavel Roskin <proski@gnu.org>
7044
bab74958 7045 * include/grub/i386/linux.h (struct linux_kernel_params):
7046 Restore padding3, it's still needed.
7047
46eeb6a2 7048 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
7049 FreeBSD.
7050 * util/osdetect.lua: Likewise.
7051
b4a1dc79 70522009-07-05 Bean <bean123ch@gmail.com>
7053
7054 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
7055
7056 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
7057 (grub_lua_getenv): Likewise.
7058 (grub_lua_setenv): Likewise.
7059 (save_errno): New function.
7060 (push_result): Likewise.
7061 (grub_lua_enum_device): Likewise.
7062 (grub_lua_enum_file): Likewise.
7063 (grub_lua_file_open): Likewise.
7064 (grub_lua_file_close): Likewise.
7065 (grub_lua_file_seek): Likewise.
7066 (grub_lua_file_read): Likewise.
7067 (grub_lua_file_getline): Likewise.
7068 (grub_lua_file_getsize): Likewise.
7069 (grub_lua_file_getpos): Likewise.
7070 (grub_lua_file_eof): Likewise.
7071 (grub_lua_file_exist): Likewise.
7072 (grub_lua_add_menu): Likewise.
7073
7074 * script/lua/grub_lua.h (isupper): New inline function.
7075 (islower): Likewise.
7076 (ispunct): Likewise.
7077 (isxdigit): Likewise.
7078 (strcspn): Change to normal function.
7079 (strpbkr): New function declaration.
7080 (memchr): Likewise.
7081
7082 * script/lua/grub_main.c (scan_str): New function.
7083 (strcspn): Likewise.
7084 (strpbrk): Likewise.
7085 (memchr): Likewise.
7086
7087 * script/lua/linit.c (lualibs): Enable the string library.
7088
7089 * util/osdetect.lua: New file.
7090
2da92295 70912009-07-04 Robert Millan <rmh.grub@aybabtu.com>
7092
7093 * include/grub/i386/linux.h (struct linux_kernel_params): Add
7094 `capabilities' member.
7095
b2582ec9 70962009-07-02 Pavel Roskin <proski@gnu.org>
7097
7098 * genparttoollist.sh: Add missing newline at the end.
7099
32622956 71002009-07-01 Pavel Roskin <proski@gnu.org>
7101
87a7339e 7102 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
7103
d23af54e 7104 * util/hostdisk.c (open_device): Remove `const' from
7105 `sysctl_size', as sysctlbyname() can change it (in this case it
7106 doesn't actually happen).
7107
c94b18a9 7108 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
7109 using signed long int constants.
7110
c6cd3ef0 7111 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
7112 constant to avoid a warning on FreeBSD.
7113
0df63420 7114 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
7115 where it's needed.
7116
999577f1 7117 * Makefile.in: Install include/grub/machine symlink.
7118
6f41557f 7119 * Makefile.in: When installing symlinks, use "cp -fR", which
7120 works on FreeBSD and MacOSX.
7121 From Yves Blusseau <cl7m42e02@sneakemail.com>
7122
c8d22988 7123 * kern/dl.c (grub_dl_resolve_symbol): Make static.
7124 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
7125
1b96e952 7126 * util/misc.c: Move grub_reboot() and grub_halt() ...
7127 * util/grub-emu.c: ... here. Make main_env static.
7128 * include/grub/util/misc.h: Remove main_env.
7129
2ef0084d 7130 * kern/mm.c: Use correct format to print size_t.
7131
32622956 7132 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
7133 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
7134 * kern/powerpc/dl.c: Likewise.
7135 * kern/sparc64/dl.c: Likewise.
7136 * kern/x86_64/dl.c: Likewise.
7137
3f7f0cd0 71382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7139
7140 Fix grub-emu build on sparc64-ieee1275.
7141
75421ca9 7142 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 7143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
7144
211d06b5 71452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7146
7147 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
7148 (grub_reboot, grub_halt): New functions.
7149
7150 * util/i386/pc/misc.c: Delete. Update all users.
7151 * util/sparc64/ieee1275/misc.c: Likewise.
7152 * util/powerpc/ieee1275/misc.c: Likewise.
7153
aaf53e3c 71542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7155
7156 * conf/i386.rmk (setjmp_mod_SOURCES)
7157 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
7158 * conf/common.rmk (setjmp_mod_SOURCES)
7159 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
7160 to use $(target_cpu).
7161 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
7162 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
7163 * conf/powerpc-ieee1275.rmk: Likewise.
7164 * conf/sparc64-ieee1275.rmk: Likewise.
7165
7166 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
7167 $(target_cpu) for kern/$(target_cpu)/dl.c.
7168 * conf/i386-efi.rmk: Likewise.
7169 * conf/i386-ieee1275.rmk: Likewise.
7170 * conf/x86_64-efi.rmk: Likewise.
7171 * conf/i386-coreboot.rmk: Likewise.
7172 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
7173 $(target_cpu) for kern/$(target_cpu)/dl.c and for
7174 kern/$(target_cpu)/cache.S.
7175 * conf/sparc64-ieee1275.rmk: Likewise.
7176
a337130b 71772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7178
7179 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
7180 type to `grub_uint8_t', and adjust `padding9' accordingly.
7181
c6fe4d53 71822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7183
b09db61d 7184 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
7185
c6fe4d53 7186 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
7187 assembly in final jump, using register constraints.
7188
b09db61d 7189 (grub_linux_boot): For text mode, initialize `have_vga' using
7190 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7191
7192 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7193 right before the final jump.
7194
7195 Set `video_mode' to 0x3.
7196
7197 Document initialization of `video_page', `video_mode' and
7198 `video_ega_bx'.
7199
28333ad0 72002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7201
7202 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7203 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 7204 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 7205
02164e1b 72062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7207
7208 Fix build on Debian / sparc.
7209
7210 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7211
18b6c557 72122009-06-28 Pavel Roskin <proski@gnu.org>
7213
85f2aab6 7214 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7215 fix a warning.
7216
18b6c557 7217 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7218
ad760f81 72192009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7220
7221 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7222 `err'.
7223
87a4623b 72242009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7225
7226 Revert r2338.
7227
7228 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7229 file can't be opened. grub_file_open() is already supposed to set
75421ca9 7230 grub_errno / grub_errmsg appropriately.
87a4623b 7231 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7232
8231fb77 72332009-06-27 Pavel Roskin <proski@gnu.org>
72342009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7235
7236 * include/grub/dl.h: Include grub/elf.h.
7237 (struct grub_dl): Add symtab field.
7238 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7239 GRUB_MODULES_MACHINE_READONLY.
7240 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7241 of the header for read-only modules.
7242 (grub_dl_unload): Free mod->symtab for read-only modules.
7243 * kern/i386/dl.c: Use mod->symtab.
7244 * kern/powerpc/dl.c: Likewise.
7245 * kern/sparc64/dl.c: Likewise.
7246 * kern/x86_64/dl.c: Likewise.
7247
7248 * conf/i386-qemu.rmk: New file.
7249 * kern/i386/qemu/startup.S: Likewise.
7250 * kern/i386/qemu/mmap.c: Likewise.
7251 * boot/i386/qemu/boot.S: Likewise.
7252 * include/grub/i386/qemu/time.h: Likewise.
7253 * include/grub/i386/qemu/serial.h: Likewise.
7254 * include/grub/i386/qemu/kernel.h: Likewise.
7255 * include/grub/i386/qemu/console.h: Likewise.
7256 * include/grub/i386/qemu/boot.h: Likewise.
7257 * include/grub/i386/qemu/init.h: Likewise.
7258 * include/grub/i386/qemu/machine.h: Likewise.
7259 * include/grub/i386/qemu/loader.h: Likewise.
7260 * include/grub/i386/qemu/memory.h: Likewise.
7261
7262 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7263 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7264 [qemu] (pkglib_IMAGES): Add `boot.img'.
7265 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7266 [qemu] (boot_img_FORMAT): New variables.
7267 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7268 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7269 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7270 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7271 [qemu] (kernel_img_FORMAT): New variables.
7272
7273 * configure.ac: Recognise `i386-qemu'.
7274
7275 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7276 (for no compression).
7277 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7278 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7279 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7280 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7281 ifdefs).
7282
97fe384e 72832009-06-27 Pavel Roskin <proski@gnu.org>
7284
7285 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7286 read.
7287 * efiemu/prepare32.c: Likewise.
7288 * efiemu/prepare64.c: Likewise.
7289
c402ab17 72902009-06-26 Pavel Roskin <proski@gnu.org>
7291
7292 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7293 * include/grub/elf.h: Define symbols without "32" or "64" based
7294 on GRUB_TARGET_WORDSIZE.
7295 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7296 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7297 ELF definitions.
7298 * efiemu/loadcore64.c: Likewise.
7299 * loader/i386/bsd32.c: Likewise.
7300 * loader/i386/bsd64.c: Likewise.
7301 * kern/dl.c: Remove own ELF definitions.
7302 * util/i386/efi/grub-mkimage.c: Likewise.
7303
9bbdfd4d 73042009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7305
7306 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7307 segment 0x0 unconditionally, because the reference generated by
7308 GAS is an absolute address.
7309
a42ce6e9 73102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7311
7312 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7313 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7314
c952cf92 73152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7316
7317 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7318 indexes. Check for -f explicitly.
cc3752ad 7319 (search_file): Improve error message.
7320 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7321
132a0a59 73222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7323
7324 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7325 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7326
387a140c 73272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7328
7329 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7330 * conf/i386-ieee1275.rmk: Likewise.
7331 * conf/i386-coreboot.rmk: Likewise.
7332
7333 * kern/i386/pc/startup.S (grub_stop): Remove function.
7334 * kern/i386/ieee1275/startup.S: Likewise.
7335 * kern/i386/coreboot/startup.S: Likewise.
7336 * kern/i386/misc.S (grub_stop): New function.
7337
41da9665 73382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7339
7340 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7341 * kern/i386/realmode.S (real_to_prot): ... to here.
7342
bf337234 73432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7344
7345 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7346 with `kernel.img'.
7347 (kernel_elf_SOURCES): Rename to ...
7348 (kernel_img_SOURCES): ... this.
7349 (kernel_elf_HEADERS): Rename to ...
7350 (kernel_img_HEADERS): ... this. Update all users.
7351 (kernel_elf_ASFLAGS): Rename to ...
7352 (kernel_img_ASFLAGS): ... this.
7353 (kernel_elf_CFLAGS): Rename to ...
7354 (kernel_img_CFLAGS): ... this.
7355 (kernel_elf_LDFLAGS): Rename to ...
7356 (kernel_img_LDFLAGS): ... this.
7357 * conf/i386-coreboot.rmk: Likewise.
7358 * conf/powerpc-ieee1275.rmk: Likewise.
7359
7360 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7361 with "kernel.img".
7362
f52196ff 73632009-06-21 Pavel Roskin <proski@gnu.org>
7364
c3cee413 7365 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7366 to match nested functions.
7367 * loader/sparc64/ieee1275/linux.c: Likewise.
7368
f52196ff 7369 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7370
58750afc 73712009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7372
7373 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7374 all i386 platforms.
7375
15355c7d 73762009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7377
7378 Fix asm file handling on ELF, and remove workarounds.
7379
7380 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7381 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7382 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7383 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7384
3f3ec72b 73852009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 Load BSD ELF modules
7388
7389 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7390 and loader/i386/bsd64.c
7391 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7392 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7393 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7394 (grub_freebsd_load_elfmodule32): New declaration
7395 (grub_freebsd_load_elfmoduleobj64): Likewise
7396 (grub_freebsd_load_elf_meta32): Likewise
7397 (grub_freebsd_load_elf_meta64): Likewise
7398 (grub_freebsd_add_meta): Likewise
7399 (grub_freebsd_add_meta_module): Likewise
7400 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7401 (grub_freebsd_add_meta_module): Likewise and move module-specific
7402 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7403 (grub_cmd_freebsd): Add elf-kernel specific parts
7404 based on grub_freebsd_add_meta_module
7405 (grub_cmd_freebsd_module): Add type parsing moved from
7406 grub_freebsd_add_meta_module
7407 (grub_cmd_freebsd_module_elf): New function
7408 (cmd_freebsd_module_elf): New variable
7409 (GRUB_MOD_INIT): Register freebsd_module_elf
7410 * loader/i386/bsd32.c: New file
7411 * loader/i386/bsd64.c: Likewise
7412 * loader/i386/bsdXX.c: Likewise
7413 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7414 (grub_elf64_load): Likewise
7415 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7416 All users updated
7417 (grub_elf64_load_hook_t): Likewise
7418
0db15301 74192009-06-21 Colin Watson <cjwatson@ubuntu.com>
7420
7421 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7422 variable.
7423 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7424 don't write a menu entry for recovery mode.
7425
546796c1 74262009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7427
7428 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7429 after it's no longer needed.
7430
cd7310d5 74312009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7432
7433 * include/grub/i386/loader.h (grub_linux_prot_size)
7434 (grub_linux_tmp_addr, grub_linux_real_addr)
7435 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7436 GRUB_MACHINE_PCBIOS.
7437 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7438 common grub_util_info() call to ...
7439 (generate_image): ... here.
7440 Fix use of uninitialized memory, comparison of signed with
7441 unsigned integers and memory leak.
7442 Remove bogus module address message.
7443
ab32d3b5 74442009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7447 grub_raid_register
7448 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7449
024ef597 74502009-06-19 Pavel Roskin <proski@gnu.org>
7451
7452 * configure.ac: Remove stray AC_MSG_CHECKING.
7453
3ac72b51 74542009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7457
e14cd814 74582009-06-18 Pavel Roskin <proski@gnu.org>
7459
7460 * conf/common.rmk: Add fs_file.mod.
7461 * disk/fs_file.c: New file.
7462 * include/grub/disk.h (enum grub_disk_dev_id): Add
7463 GRUB_DISK_DEVICE_FILE_ID.
7464
26586d98 74652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 Fix build with Apple's toolchain. Part 2
7468
7469 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7470 a fake start
7471
26de2bcd 74722009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 Fix build with Apple's toolchain. Part 1
7475
7476 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7477 for long calls
7478 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7479 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7480 Apple's toolchain
7481
09b3490b 74822009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 Fix warnings
7485
7486 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7487 (decomp_block): initialize ch
7488 use grub_memcpy instead of memcpy
7489
c22a006a 74902009-06-17 Pavel Roskin <proski@gnu.org>
7491
d3638678 7492 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7493 version, use declarations needed to use vga_text as the startup
7494 console.
7495
c22a006a 7496 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7497 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7498 the kernel.
7499 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7500 and grub_at_keyboard_fini(), it's done on module load and
7501 unload.
7502
05b129e0 75032009-06-17 Felix Zielcke <fzielcke@z-51.de>
7504
7505 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7506 file can't be found.
7507 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7508
cf24ed9e 75092009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 Fix newline handling
7512
7513 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7514 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7515 (grub_script_yylex): don't segfault on unterminated script
7516 newline terminates command and variable
7517
74aa8e4b 75182009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 avoid double grub_adjust_range call. Bug reported by David Simner
7521
7522 * kern/disk.c (grub_disk_write): change to raw disk access before
7523 calling disk_read
7524
1bd265f3 75252009-06-17 Colin Watson <cjwatson@ubuntu.com>
7526
7527 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7528 spaces, for the benefit of help2man.
7529 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7530
a2d08c06 75312009-06-16 Pavel Roskin <proski@gnu.org>
7532
7533 * kern/i386/halt.c: Include grub/machine/init.h.
7534 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7535
b97bcb19 75362009-06-16 Felix Zielcke <fzielcke@z-51.de>
7537
7538 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7539 drivemap menuentry.
7540
0644f96c 75412009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7542
7543 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7544 `echo' command.
7545
3ef17a2e 75462009-06-16 Pavel Roskin <proski@gnu.org>
7547
7548 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7549 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7550 save %dx, we only need %dl and we never change it.
7551 * boot/i386/pc/cdboot.S: Don't set the root drive.
7552 * boot/i386/pc/pxeboot.S: Likewise.
7553 * include/grub/i386/pc/boot.h: Remove
7554 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7555 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7556 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7557 * kern/i386/pc/init.c (make_install_device): Remove references
7558 to grub_root_drive.
7559 * kern/i386/pc/startup.S: Likewise.
7560 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7561
693fe637 75622009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 xnu_uuid command
7565
7566 * commands/xnu_uuid.c: new file
7567 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7568 (xnu_uuid_mod_SOURCES): new variable
7569 (xnu_uuid_mod_CFLAGS): likewise
7570 (xnu_uuid_mod_LDFLAGS): likewise
7571 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7572 * conf/i386-ieee1275.rmk: likewise
7573 * conf/i386-pc.rmk: likewise
7574 * conf/powerpc-ieee1275.rmk: likewise
7575 * conf/sparc64-ieee1275.rmk: likewise
7576 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7577
c9da87d0 75782009-06-16 Pavel Roskin <proski@gnu.org>
7579
7580 * configure.ac: Avoid '==' in test command, it's not portable.
7581
9c6f4596 75822009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 Probe command
7585
7586 * commands/probe.c: new file
7587 * conf/common.rmk (pkglib_MODULES): add probe.mod
7588 (probe_mod_SOURCES): new variable
7589 (probe_mod_CFLAGS): likewise
7590 (probe_mod_LDFLAGS): likewise
7591 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7592 * conf/i386-ieee1275.rmk: likewise
7593 * conf/i386-pc.rmk: likewise
7594 * conf/powerpc-ieee1275.rmk: likewise
7595 * conf/sparc64-ieee1275.rmk: likewise
7596
70b7f9fd 75972009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 Fix handling of string like \"hello\" and "a
7600 b"
7601
7602 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7603 (grub_script_yylex): fix parsing of quoting, escaping and newline
7604
71c79a6b 76052009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7606
dd74360c 7607 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 7608 handling
dd74360c 7609
0644f96c 76102009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 7611
7612 * util/grub-mkconfig.in: Fix parsing of --output option.
7613
e40893c3 76142009-06-12 Pavel Roskin <proski@gnu.org>
7615
7616 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7617 genmk.rb don't need to be generated or installed.
7618
3a1acfe2 76192009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * commands/i386/pc/drivemap_int13h.S: add more comments
7622
3a4575d4 76232009-06-11 Pavel Roskin <proski@gnu.org>
7624
0658e928 7625 * Makefile.in (uninstall): Uninstall manuals.
7626
ca0388f0 7627 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7628 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7629 and update-grub_lib in two places.
7630 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7631
e3b27c39 7632 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
7633 a compiler warning.
7634
3a4575d4 7635 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
7636 `entry_lo' to fix variable shadowing.
7637
af1f4f55 76382009-06-11 Christian Franke <franke@computer.org>
7639
7640 * kern/misc.c (__enable_execute_stack): Add missing return type
7641 to prevent gcc warning.
7642
5225e649 76432009-06-11 Felix Zielcke <fzielcke@z-51.de>
7644
7645 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
7646
7d83bd47 76472009-06-11 Pavel Roskin <proski@gnu.org>
7648
c1cb63ba 7649 * Makefile.in: Don't rely on any scripts being executable.
7650 Always use $(SHELL) to run shell scripts.
7651
7d83bd47 7652 * configure.ac: Always define ___main if using -nostdlib. This
7653 fixes tests on Cygwin.
7654
948f48e7 76552009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
7656
7657 UDF fix
7658
7d83bd47 7659 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 7660 is in bytes and not in blocks
7d83bd47 7661
8ada9bc1 76622009-06-11 Pavel Roskin <proski@gnu.org>
7663
7664 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
7665 warning.
7666
25ad2323 76672009-06-11 Felix Zielcke <fzielcke@z-51.de>
7668
7669 * util/grub.d/30_os-prober.in: Fix a comment. Source
7670 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
7671 to set the root device. Place drivemap command in the generated
7672 chain entry.
7673
e65acb0c 76742009-06-11 Pavel Roskin <proski@gnu.org>
7675
7676 * configure.ac: Remove host_m32. Issues with 64-bit utilities
7677 have long been resolved.
7678
f285fe2d 76792009-06-11 Colin Watson <cjwatson@ubuntu.com>
7680
bd47b0b5 7681 * util/grub.d/10_linux.in: Capitalise "Linux".
7682
f285fe2d 7683 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
7684
a0c62e4e 76852009-06-11 Pavel Roskin <proski@gnu.org>
7686
b6783cb2 7687 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
7688 fix a gcc warning and ensure that the function won't ever exit.
7689
dde032e8 7690 * kern/i386/ieee1275/init.c: Add missing prototype for
7691 grub_stop_floppy().
7692
22cd079d 7693 * loader/ieee1275/multiboot2.c [__i386__]: Include
7694 grub/cpu/multiboot.h.
7695
a0c62e4e 7696 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
7697 casts to short - they are not portable and cause warnings. Fix
7698 use of uninitialized values in input_buf. Use ARRAY_SIZE.
7699
63963d17 77002009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 Drivemap fixes
7703
7704 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
7705 new function
7706 (grub_get_root_biosnumber_saved): new variable
7707 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
7708 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 7709 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 7710 %dx after the call if necessary
7711 * conf/common.rmk (pkglib_MODULES): remove boot.mod
7712 (boot_mod_SOURCES): remove
7713 (boot_mod_CFLAGS): remove
7714 (boot_mod_LDFLAGS): remove
7715 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
7716 (boot_mod_SOURCES): new variable
7717 (boot_mod_CFLAGS): likewise
7718 (boot_mod_LDFLAGS): likewise
7719 * conf/i386-efi.rmk: likewise
7720 * conf/i386-ieee1275.rmk: likewise
7721 * conf/i386-pc.rmk: likewise
7722 * conf/powerpc-ieee1275.rmk: likewise
7723 * conf/sparc64-ieee1275.rmk: likewise
7724 * conf/x86_64-efi.rmk: likewise
7725 * include/grub/i386/pc/biosnum.h: new file
7726 * lib/i386/pc/biosnum.c: likewise
7727 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
7728 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
7729 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 7730
33abf7ae 77312009-06-10 Pavel Roskin <proski@gnu.org>
7732
5ac35b35 7733 * io/gzio.c (test_header): Don't reuse one buffer for all data.
7734 Use separate variables. Read only the file size at the end, but
7735 not the checksum that we don't use.
7736
5c5215d5 7737 * kern/file.c (grub_file_read): Use void pointer for the buffer.
7738 Adjust all callers.
7739
27d5fef7 7740 * kern/ieee1275/openfw.c: Remove libc includes.
7741 * kern/ieee1275/cmain.c: Likewise.
7742 * include/grub/ieee1275/ieee1275.h: Likewise.
7743
33abf7ae 7744 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
7745 compiler warnings.
7746
19d50c2b 77472009-06-10 Felix Zielcke <fzielcke@z-51.de>
7748
7749 * Makefile.in: Remove all trailing whitespace.
7750 * conf/i386-pc.rmk: Likewise.
7751 * conf/powerpc-ieee1275.rmk: Likewise.
7752 * conf/sparc64-ieee1275.rmk: Likewise.
7753 * docs/grub.texi: Likewise.
7754 * docs/texinfo.tex: Likewise.
7755 * disk/fs_uuid.c: Likewise.
7756 * disk/lvm.c: Likewise.
7757 * disk/scsi.c: Likewise.
7758 * disk/ata.c: Likewise.
7759 * disk/ieee1275/ofdisk.c: Likewise.
7760 * disk/i386/pc/biosdisk.c: Likewise.
7761 * disk/host.c: Likewise.
7762 * disk/raid.c: Likewise.
7763 * disk/efi/efidisk.c: Likewise.
7764 * disk/usbms.c: Likewise.
7765 * disk/memdisk.c: Likewise.
7766 * disk/loopback.c: Likewise.
7767 * kern/powerpc/dl.c: Likewise.
7768 * kern/device.c: Likewise.
7769 * kern/dl.c: Likewise.
7770 * kern/sparc64/dl.c: Likewise.
7771 * kern/ieee1275/ieee1275.c: Likewise.
7772 * kern/term.c: Likewise.
7773 * kern/fs.c: Likewise.
7774 * kern/i386/dl.c: Likewise.
7775 * kern/i386/pc/startup.S: Likewise.
7776 * kern/i386/pc/init.c: Likewise.
7777 * kern/i386/pc/mmap.c: Likewise.
7778 * kern/i386/pc/lzo1x.S: Likewise.
7779 * kern/i386/ieee1275/init.c: Likewise.
7780 * kern/i386/realmode.S: Likewise.
7781 * kern/i386/tsc.c: Likewise.
7782 * kern/partition.c: Likewise.
7783 * kern/corecmd.c: Likewise.
7784 * kern/file.c: Likewise.
7785 * kern/efi/efi.c: Likewise.
7786 * kern/efi/init.c: Likewise.
7787 * kern/efi/mm.c: Likewise.
7788 * kern/main.c: Likewise.
7789 * kern/err.c: Likewise.
7790 * kern/env.c: Likewise.
7791 * kern/disk.c: Likewise.
7792 * kern/generic/millisleep.c: Likewise.
7793 * kern/generic/rtc_get_time_ms.c: Likewise.
7794 * kern/misc.c: Likewise.
7795 * kern/parser.c: Likewise.
7796 * genmk.rb: Likewise.
7797 * configure.ac: Likewise.
7798 * boot/i386/pc/diskboot.S: Likewise.
7799 * boot/i386/pc/pxeboot.S: Likewise.
7800 * boot/i386/pc/boot.S: Likewise.
7801 * boot/i386/pc/lnxboot.S: Likewise.
7802 * boot/i386/pc/cdboot.S: Likewise.
7803 * parttool/pcpart.c: Likewise.
7804 * video/readers/tga.c: Likewise.
7805 * video/video.c: Likewise.
7806 * video/bitmap.c: Likewise.
7807 * lib/envblk.c: Likewise.
7808 * lib/i386/setjmp.S: Likewise.
7809 * fs/xfs.c: Likewise.
7810 * fs/afs.c: Likewise.
7811 * fs/fat.c: Likewise.
7812 * fs/ntfs.c: Likewise.
7813 * fs/udf.c: Likewise.
7814 * fs/affs.c: Likewise.
7815 * fs/iso9660.c: Likewise.
7816 * fs/hfs.c: Likewise.
7817 * fs/fshelp.c: Likewise.
7818 * fs/ext2.c: Likewise.
7819 * fs/jfs.c: Likewise.
7820 * fs/reiserfs.c: Likewise.
7821 * fs/hfsplus.c: Likewise.
7822 * fs/minix.c: Likewise.
7823 * fs/cpio.c: Likewise.
7824 * fs/sfs.c: Likewise.
7825 * fs/ufs.c: Likewise.
7826 * efiemu/prepare.c: Likewise.
7827 * efiemu/loadcore_common.c: Likewise.
7828 * efiemu/runtime/efiemu.sh: Likewise.
7829 * efiemu/runtime/efiemu.S: Likewise.
7830 * efiemu/runtime/efiemu.c: Likewise.
7831 * efiemu/pnvram.c: Likewise.
7832 * efiemu/main.c: Likewise.
7833 * efiemu/i386/pc/cfgtables.c: Likewise.
7834 * efiemu/i386/loadcore64.c: Likewise.
7835 * efiemu/i386/loadcore32.c: Likewise.
7836 * efiemu/loadcore.c: Likewise.
7837 * efiemu/symbols.c: Likewise.
7838 * efiemu/mm.c: Likewise.
7839 * include/grub/autoefi.h: Likewise.
7840 * include/grub/datetime.h: Likewise.
7841 * include/grub/term.h: Likewise.
7842 * include/grub/hfs.h: Likewise.
7843 * include/grub/lvm.h: Likewise.
7844 * include/grub/i386/tsc.h: Likewise.
7845 * include/grub/i386/linux.h: Likewise.
7846 * include/grub/i386/xnu.h: Likewise.
7847 * include/grub/i386/efiemu.h: Likewise.
7848 * include/grub/i386/pc/biosdisk.h: Likewise.
7849 * include/grub/i386/pc/memory.h: Likewise.
7850 * include/grub/i386/pc/vbe.h: Likewise.
7851 * include/grub/parttool.h: Likewise.
7852 * include/grub/video.h: Likewise.
7853 * include/grub/memory.h: Likewise.
7854 * include/grub/fs.h: Likewise.
7855 * include/grub/partition.h: Likewise.
7856 * include/grub/xnu.h: Likewise.
7857 * include/grub/efi/api.h: Likewise.
7858 * include/grub/efi/pe32.h: Likewise.
7859 * include/grub/efi/memory.h: Likewise.
7860 * include/grub/multiboot.h: Likewise.
7861 * include/grub/usbdesc.h: Likewise.
7862 * include/grub/multiboot2.h: Likewise.
7863 * include/grub/acpi.h: Likewise.
7864 * include/grub/efiemu/efiemu.h: Likewise.
7865 * include/grub/disk.h: Likewise.
7866 * include/grub/ieee1275/ieee1275.h: Likewise.
7867 * include/grub/net.h: Likewise.
7868 * include/grub/machoload.h: Likewise.
7869 * include/grub/macho.h: Likewise.
7870 * include/multiboot.h: Likewise.
7871 * genmoddep.awk: Likewise.
7872 * normal/main.c: Likewise.
7873 * normal/menu_entry.c: Likewise.
7874 * normal/menu_viewer.c: Likewise.
7875 * normal/completion.c: Likewise.
7876 * normal/cmdline.c: Likewise.
7877 * normal/misc.c: Likewise.
7878 * normal/datetime.c: Likewise.
7879 * bus/usb/usbtrans.c: Likewise.
7880 * bus/usb/ohci.c: Likewise.
7881 * bus/usb/uhci.c: Likewise.
7882 * bus/usb/usb.c: Likewise.
7883 * mmap/efi/mmap.c: Likewise.
7884 * mmap/i386/pc/mmap_helper.S: Likewise.
7885 * mmap/i386/pc/mmap.c: Likewise.
7886 * mmap/i386/mmap.c: Likewise.
7887 * mmap/i386/uppermem.c: Likewise.
7888 * mmap/mmap.c: Likewise.
7889 * commands/acpi.c: Likewise.
7890 * commands/echo.c: Likewise.
7891 * commands/blocklist.c: Likewise.
7892 * commands/loadenv.c: Likewise.
7893 * commands/usbtest.c: Likewise.
7894 * commands/boot.c: Likewise.
7895 * commands/parttool.c: Likewise.
7896 * commands/search.c: Likewise.
7897 * commands/cat.c: Likewise.
7898 * commands/i386/pc/play.c: Likewise.
7899 * commands/i386/pc/drivemap.c: Likewise.
7900 * commands/i386/pc/vbeinfo.c: Likewise.
7901 * commands/i386/pc/acpi.c: Likewise.
7902 * commands/i386/pc/vbetest.c: Likewise.
7903 * commands/ls.c: Likewise.
7904 * commands/cmp.c: Likewise.
7905 * commands/test.c: Likewise.
7906 * commands/efi/acpi.c: Likewise.
7907 * commands/gptsync.c: Likewise.
7908 * commands/help.c: Likewise.
7909 * partmap/amiga.c: Likewise.
7910 * partmap/apple.c: Likewise.
7911 * partmap/acorn.c: Likewise.
7912 * partmap/pc.c: Likewise.
7913 * partmap/sun.c: Likewise.
7914 * partmap/gpt.c: Likewise.
7915 * script/sh/lexer.c: Likewise.
7916 * script/sh/function.c: Likewise.
7917 * font/font.c: Likewise.
7918 * font/font_cmd.c: Likewise.
7919 * loader/powerpc/ieee1275/linux.c: Likewise.
7920 * loader/efi/chainloader.c: Likewise.
7921 * loader/multiboot_loader.c: Likewise.
7922 * loader/macho.c: Likewise.
7923 * loader/i386/multiboot.c: Likewise.
7924 * loader/i386/linux.c: Likewise.
7925 * loader/i386/pc/linux.c: Likewise.
7926 * loader/i386/pc/multiboot2.c: Likewise.
7927 * loader/i386/pc/chainloader.c: Likewise.
7928 * loader/i386/pc/xnu.c: Likewise.
7929 * loader/i386/bsd_trampoline.S: Likewise.
7930 * loader/i386/efi/linux.c: Likewise.
7931 * loader/i386/multiboot_elfxx.c: Likewise.
7932 * loader/i386/bsd_helper.S: Likewise.
7933 * loader/i386/bsd.c: Likewise.
7934 * loader/i386/linux_trampoline.S: Likewise.
7935 * loader/i386/xnu_helper.S: Likewise.
7936 * loader/i386/xnu.c: Likewise.
7937 * loader/i386/bsd_pagetable.c: Likewise.
7938 * loader/i386/multiboot_helper.S: Likewise.
7939 * loader/xnu.c: Likewise.
7940 * loader/xnu_resume.c: Likewise.
7941 * io/gzio.c: Likewise.
7942 * term/efi/console.c: Likewise.
7943 * term/terminfo.c: Likewise.
7944 * term/ieee1275/ofconsole.c: Likewise.
7945 * term/i386/pc/serial.c: Likewise.
7946 * term/i386/pc/vesafb.c: Likewise.
7947 * term/i386/pc/vga.c: Likewise.
7948 * term/usb_keyboard.c: Likewise.
7949 * term/gfxterm.c: Likewise.
7950 * aclocal.m4: Likewise.
7951 * util/lvm.c: Likewise.
7952 * util/grub.d/30_os-prober.in: Likewise.
7953 * util/grub.d/10_hurd.in: Likewise.
7954 * util/console.c: Likewise.
7955 * util/grub-macho2img.c: Likewise.
7956 * util/grub-probe.c: Likewise.
7957 * util/hostfs.c: Likewise.
7958 * util/i386/pc/grub-mkimage.c: Likewise.
7959 * util/i386/pc/grub-setup.c: Likewise.
7960 * util/i386/efi/grub-mkimage.c: Likewise.
7961 * util/grub-mkconfig.in: Likewise.
7962 * util/raid.c: Likewise.
7963 * util/resolve.c: Likewise.
7964 * util/grub-mkdevicemap.c: Likewise.
7965 * util/grub-emu.c: Likewise.
7966 * util/getroot.c: Likewise.
7967 * util/hostdisk.c: Likewise.
7968 * util/usb.c: Likewise.
7969 * util/grub-editenv.c: Likewise.
7970 * util/misc.c: Likewise.
7971
d2d49665 79722009-06-10 Felix Zielcke <fzielcke@z-51.de>
7973
7974 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
7975 `genparttoollist.sh'.
7976 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
7977 Add `*.sh' to the list find searches for and change `mdate.sh'
7978 to `mdate-sh'.
7979
fe052e37 79802009-06-10 Pavel Roskin <proski@gnu.org>
7981
2763ac18 7982 * include/grub/multiboot2.h: Provide compatibility defines for
7983 multiboot2.h.
7984 * include/multiboot2.h: Include stdint.h only if needed, using
7985 angle brackets.
7986 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
7987 grub/multiboot2.h.
7988 * loader/ieee1275/multiboot2.c: Likewise.
7989 * loader/multiboot2.c: Likewise.
7990 * loader/multiboot_loader.c: Likewise.
7991
437e6adc 7992 * configure.ac: Use -nostdlib when probing for the target. It
7993 should not be required to have libc for the target.
7994
06a6836c 7995 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
7996 they fail without libc headers for the target.
7997 * include/grub/powerpc/libgcc.h: Use weak attribute for all
7998 exports.
7999 * include/grub/sparc64/libgcc.h: Likewise. Don't use
8000 preprocessor conditionals.
8001
fe052e37 8002 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
8003 build system doesn't need to be aware of the tar.c internals.
8004
afd22553 80052009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 8006
afd22553 8007 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 8008
6b787c4f 80092009-06-09 Robert Millan <rmh.grub@aybabtu.com>
8010
8011 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
8012 disk limit to 26 for IDE, Virtio, Xen and SCSI.
8013
80142009-06-09 Felix Zielcke <fzielcke@z-51.de>
8015
8016 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 8017 aren't available if ata.mod gets used.
6b787c4f 8018
473d1e45 80192009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 8020
473d1e45 8021 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 8022 initialising controller.
473d1e45 8023 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 8024
255a27d4 80252009-06-08 Felix Zielcke <fzielcke@z-51.de>
8026
8027 * util/i386/pc/grub-install.in: Add a parameter --disk-module
8028 to choose between ata and biosdisk module on i386-pc.
8029
473d1e45 80302009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 8031
d55842d8 8032 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
8033 Subclass and Programming Interface fields in terms of the 3 byte
8034 Class Code register.
8035 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8036
fa5db0b1 8037 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
8038 interface is OHCI. Add grub_dprintf for symmetry with
8039 bus/usb/uhci.c.
8040 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
8041 interface is UHCI. Add interf variable for programming
8042 interface. Print interface with class/subclass.
8043
c0947beb 8044 * bus/usb/ohci.c: Set interf with correct field.
8045
69da8877 8046 * bus/usb/uhci.c: Remove unneeded doubled lines.
8047 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
8048 Remove whitespace inside comment.
8049
9e172e30 80502009-06-08 Robert Millan <rmh.grub@aybabtu.com>
8051
8052 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
8053 as fallback an equivalent option without depth.
8054
de65ee2b 80552009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Not fail if unable to retrieve C/H/S on LBA disks
8058
473d1e45 8059 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 8060 if unable to retrieve C/H/S on LBA disks
8061
b57ea2c9 80622009-06-08 Pavel Roskin <proski@gnu.org>
8063
8064 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
8065 about aliasing.
8066
af361263 80672009-06-08 Felix Zielcke <fzielcke@z-51.de>
8068
8069 * Makefile.in (uninstall): Remove all $lib_DATA files.
8070
4c9ec6b3 80712009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Bugfix: install on partitionless device
8074
8075 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
8076 is a whole disk
8077
e76fc924 80782009-06-08 Felix Zielcke <fzielcke@z-51.de>
8079
8080 * Makefile.in (uninstall): Remove all $include_DATA files.
8081
ba5a0d05 80822009-06-08 Felix Zielcke <fzielcke@z-51.de>
8083
8084 * commands/true.c: New file. Implement the true and false commands.
8085 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
8086 (true_mod_SOURCES): New variable.
8087 (true_mod_CFLAGS): Likewise.
8088 (true_mod_LDFLAGS): Likewise.
8089
c8048e32 80902009-06-05 Colin D Bennett <colin@gibibit.com>
8091
8092 Optimized font character lookup using binary search instead of linear
8093 search. Fonts now are required to have the character index ordered by
8094 code point.
8095
8096 * font/font.c (load_font_index): Verify that fonts have ordered
8097 character indices.
8098 (find_glyph): Use binary search instead of linear search to find a
8099 character in a font.
8100
408305be 81012009-06-05 Michael Scherer <misc@mandriva.org>
8102
8103 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
8104 uses case sensitive btree.
8105 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
8106 only for case insensitive filesystems.
8107
8ee1e0d9 81082009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
8111 * conf/common.rmk (search_mod_CFLAGS): likewise
8112
a9966eb1 81132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8114
473d1e45 8115 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 8116 compensate a compiler bug
8117
9e7100fb 81182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8119
473d1e45 8120 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 8121 instead of '\b'
473d1e45 8122
ede21d71 81232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 Definitions for creating asm symbols with Apple's CC
8126
8127 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
8128 [APPLE_CC] (VARIABLE): likewise
8129
9dbf7653 81302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 Disable lnxboot.img when compiled
8133 with Apple's CC
8134
8135 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
8136 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
8137 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
8138 [! APPLE_CC] (CODE_LENG): skip
8139 [! APPLE_CC] (setup_sects): likewise
8140 [! APPLE_CC]: skip filling
473d1e45 8141
e93cdc3d 81422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 Address in trampolines based on 32-bit registers when compiled
8145 with Apple's CC
8146
473d1e45 8147 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 8148 for addresses
8149 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
8150
6c688477 81512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 Avoid aliases when compiling with Apple's CC for PCBIOS machine
8154
8155 * kern/misc.c [APPLE_CC] (memcpy): new function
8156 [APPLE_CC] (memmove): likewise
8157 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 8158 (memcpy): define alias conditionally on !APPLE_CC
6c688477 8159 (memset): likewise
8160 (abort): likewise
8161 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
8162 APPLE_CC are defined
8163 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
8164 (grub_assert_fail): make prototype conditional
8165
e37ffc5c 81662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
8169
473d1e45 8170 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
8171 grub-macho2img
e37ffc5c 8172 (CLEANFILES): add grub-macho2img
8173 (grub_macho2img_SOURCES): new variable
8174 * kern/i386/pc/startup.S (bss_start): new variable
8175 (bss_end): likewise
8176 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
8177 * util/grub-macho2img.c: new file
8178
cf00df31 81792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 Use objconv when compiling with Apple's CC
8182
8183 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
8184 (efiemu64.o): likewise
8185 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
8186 when compiling with Apple's CC
8187 (efiemu64_s.o): likewise
8188 * configure.ac: check for objconv when compiling with Apple's CC
8189 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 8190
d119a20c 81912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Define segment as well as section when compiling with
8194 Apple's CC
8195
8196 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8197 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8198 (efiemu_convert_pointer): likewise
8199 (efiemu_set_virtual_address_map): likewise
8200 (efiemu_convert_pointer): likewise
8201 (efiemu_getcrc32): likewise
8202 (init_crc32_table): likewise
8203 (reflect): likewise
8204 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8205 (GRUB_MOD_DEP): likewise
473d1e45 8206
c8600122 82072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 Allow a compilation without -mcmodel=large
8210
8211 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8212 when compiled without -mcmodel=large
473d1e45 8213 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 8214 without -mcmodel=large
473d1e45 8215 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 8216 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 8217
e8df1d4e 82182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 Remove nested functions in efiemu core
8221
8222 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 8223
cc6c3ac1 82242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8227
8228 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8229 temporary storage
473d1e45 8230 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8231 using Apple's CC
cc6c3ac1 8232 (grub_cpu_is_tsc_supported): likewise
8233 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 8234
3e325901 82352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 Absolute addressing through constant with Apple's cc
8238
8239 * kern/i386/pc/startup.S: Define necessary constants
8240 and address through it when using ABS with Apple's CC
8241 * boot/i386/pc/diskboot.S: likewise
8242 * boot/i386/pc/boot.S: likewise
8243 * boot/i386/pc/lnxboot.S: likewise
8244 * boot/i386/pc/cdboot.S: likewise
8245 * mmap/i386/pc/mmap_helper.S: likewise
8246 * commands/i386/pc/drivemap_int13h.S: likewise
8247
2b167a72 82482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 Check if compiler is apple cc
8251
8252 * Makefile.in (ASFLAGS): new variable
8253 (TARGET_ASFLAGS): likewise
8254 (TARGET_MODULE_FORMAT): likewise
8255 (TARGET_APPLE_CC): likewise
8256 (OBJCONV): likewise
8257 (TARGET_IMG_CFLAGS): likewise
8258 (TARGET_CPPFLAGS): add includedir
8259 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8260 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8261 Check for linker script only if compiler isn't Apple's CC
8262 (TARGET_MODULE_FORMAT): set
8263 (TARGET_APPLE_CC): likewise
8264 (TARGET_ASFLAGS): likewise
8265 (ASFLAGS): likewise
8266 Check for objcopy only if compiler isn't Apple's CC
8267 Check for BSS symbol only if compiler isn't Apple's CC
8268 * genmk.rb: adapt nm options if we use Apple's utils
8269 * aclocal.m4 (grub_apple_cc): new test
8270 (grub_apple_target_cc): likewise
473d1e45 8271
fb14123e 82722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 Simplify sed expressions and improve awk
8275
8276 * Makefile.in (install-local): simplify sed expression
8277 * gencmdlist.sh: likewise
8278 * genmoddep.awk: avoid adding module as a dependency of itself
8279
5b889789 82802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 Add missing start symbols
8283
8284 * boot/i386/pc/boot.S: add start
fb14123e 8285 * boot/i386/pc/pxeboot.S: likewise
473d1e45 8286
fd2bf2e3 82872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 8290
8291 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 8292 (relocate_addresses): consider both r_addend and value at offset
8293 (make_mods_section): zerofill modinfo and header
8294 (convert_elf): write prefix here
473d1e45 8295
5389763d 82962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 Use .asciz instead of .string
8299
8300 * i386/pc/diskboot.S: use .asciz instead of .string
8301 * i386/pc/boot.S: likewise
8302 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8303 (GRUB_MOD_NAME): likewise
473d1e45 8304
3eb5ed4e 83052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 gfxpayload support
8308
8309 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8310 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8311 (grub_video_setup): remove
8312 (grub_video_set_mode): new prototype
8313 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8314 (vid_mode): remove
8315 (linux_vesafb_res): compile only on PCBIOS
8316 (grub_linux_boot): support gfxpayload
8317 * loader/i386/pc/xnu.c (video_hook): new function
8318 (grub_xnu_set_video): support gfxpayload
8319 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8320 (DEFAULT_VIDEO_HEIGHT): likewise
8321 (DEFAULT_VIDEO_FLAGS): likewise
8322 (DEFAULT_VIDEO_MODE): new definition
8323 (video_hook): new function
8324 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8325 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8326 loading xnu
8327 * video/video.c (grub_video_setup): removed
473d1e45 8328 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8329 grub_video_setup
8330
4b0e1143 83312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 Avoid calling biosdisk in drivemap
8334
8335 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8336 (revparse_biosdisk): likewise
8337 (list_mappings): derive name from id directly
8338 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8339
fda6cb98 83402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 Script fixes
8343
8344 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8345 (grub_lexer_param): add tokenonhold
8346 (grub_script_create_cmdline): remove cmdline. All callers updated
8347 (grub_script_function_create): make functionname
8348 grub_script_arg. All callers updated
8349 (grub_script_execute_argument_to_string): new prototype
8350 * kern/parser.c (state_transitions): reorder
8351 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8352 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8353 make global
8354 (grub_script_execute_cmdline): use new format
8355 * script/sh/function.c (grub_script_function_create): make functionname
8356 grub_script_arg. All callers updated
473d1e45 8357 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8358 (grub_script_yylex): remove
8359 (grub_script_yylex2): renamed to ...
8360 (grub_script_yylex): ...renamed
8361 parse the expressions like a${b}c
8362 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8363 (GRUB_PARSER_TOKEN_VAR): remove
8364 (GRUB_PARSER_TOKEN_NAME): likewise
8365 ("if"): declare as typeless
8366 ("while"): likewise
8367 ("function"): likewise
8368 ("else"): likewise
8369 ("then"): likewise
8370 ("fi"): likewise
8371 (text): remove
8372 (argument): likewise
8373 (script): accept empty scripts and make exit on error
8374 (arguments): use GRUB_PARSER_TOKEN_ARG
8375 (function): likewise
8376 (command): move error handling to script
8377 (menuentry): move grub_script_lexer_ref before
473d1e45 8378 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8379 argument. All callers updated
8380
f4448a07 83812009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8382
8383 Prevent GRUB from probing floppies during boot.
8384
8385 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8386 * commands/search.c (options): Add --no-floppy.
8387 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8388 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8389 --no-floppy when searching for UUIDs.
8390
2bf5885a 83912009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8392
8393 Simplify the code duplication in commands/search.c.
8394
8395 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8396 (search_fs): ... this. Update all users.
8397
f6fd460a 83982009-06-03 Felix Zielcke <fzielcke@z-51.de>
8399
8400 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8401
cbb3c83e 84022009-05-28 Pavel Roskin <proski@gnu.org>
8403
57788cfd 8404 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8405 Remove the original symlink explicitly.
8406
cbb3c83e 8407 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8408 just one slash. That's how grub_fshelp_find_file() does it.
8409
cd0d5e30 84102009-05-26 Pavel Roskin <proski@gnu.org>
8411
f0f8bbe2 8412 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8413 to `str'.
8414
cd0d5e30 8415 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8416 possibly unused.
8417
8c2cab51 84182009-05-25 Christian Franke <franke@computer.org>
8419
8420 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8421 register.
8422 (grub_atapi_identify): Add wait after drive select.
8423 (grub_ata_identify): Do more strict status register check before
8424 calling grub_atapi_identify (). Suppress error message if status
8425 register is 0x00 after command failure. Add status register
8426 check after PIO read to avoid bogus identify due to stuck DRQ.
8427 Thanks to Pavel Roskin for testing.
8428 (grub_device_initialize): Remove unsafe status register check.
8429 Thanks to 'phcoder' for problem report and patch.
8430 Prevent sign extension in debug message.
8431
230c0ad6 84322009-05-23 Colin D Bennett <colin@gibibit.com>
8433
8434 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8435 definition file, and functions defined in `normal/menu.c' have had
8436 their prototypes moved to `include/grub/menu.h' for consistency.
8437
8438 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8439 from normal.h.
8440 (grub_menu_get_entry): Likewise.
8441 (grub_menu_get_timeout): Likewise.
8442 (grub_menu_set_timeout): Likewise.
8443 (grub_menu_execute_entry): Likewise.
8444 (grub_menu_execute_with_fallback): Likewise.
8445 (grub_menu_entry_run): Likewise.
8446
8447 * include/grub/normal.h: Re-ordered and grouped function
8448 prototypes by file that the function is defined in.
8449 (grub_menu_execute_callback): Removed; moved to menu.h.
8450 (grub_menu_get_entry): Likewise.
8451 (grub_menu_get_timeout): Likewise.
8452 (grub_menu_set_timeout): Likewise.
8453 (grub_menu_execute_entry): Likewise.
8454 (grub_menu_execute_with_fallback): Likewise.
8455 (grub_menu_entry_run): Likewise.
8456 (grub_menu_addentry): Renamed from this ...
8457 (grub_normal_add_menu_entry): ... to this.
8458
8459 * normal/main.c (grub_menu_addentry): Renamed from this ...
8460 (grub_normal_add_menu_entry): ... to this.
8461
8462 * script/sh/execute.c (grub_script_execute_menuentry): Update
8463 reference to renamed grub_menu_addentry function.
8464
861f03a5 84652009-05-23 Felix Zielcke <fzielcke@z-51.de>
8466
8467 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8468
96b1619a 84692009-05-22 Pavel Roskin <proski@gnu.org>
8470
bf6a5fb2 8471 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8472 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8473 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8474 compiling for the i386 targets, but not for the utilities.
8475
96b1619a 8476 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8477 to grub_uint8_t.
8478 (grub_root_drive): Likewise.
8479 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8480 remove alignment.
8481 (grub_root_drive): Change size to byte.
8482 (grub_start_addr): Remove.
8483 (grub_end_addr): Likewise.
8484 (grub_apm_bios_info): Likewise.
8485
b729776b 84862009-05-21 Felix Zielcke <fzielcke@z-51.de>
8487
8488 * normal/i386: Remove.
8489 * normal/powerpc: Likewise.
8490 * normal/sparc64: Likewise.
8491 * normal/x86_64: Likewise.
8492
0a15ce80 84932009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8496 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8497 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8498
33db9015 84992009-05-18 Colin D Bennett <colin@gibibit.com>
8500
d6da58e6 8501 Display error messages when parsing a Lua statement fails.
8502 Previously, executing a syntactically invalid statement like
8503 ")foo" or "bar;" would silently fail.
33db9015 8504
8505 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8506 (grub_lua_parse_line): Improved reporting of Lua parser and
8507 execution errors.
33db9015 8508
46422c89 85092009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 Remove -Werror which causes build to fail on some systems
8512
8513 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8514 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8515 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8516
22f53a96 85172009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 trampoline for linux on 64-bit platform
8520
18f547ad 8521 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8522 loader/i386/efi/linux_trampoline.S
8523 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8524 declaration
d6da58e6 8525 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8526 here
22f53a96 8527 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8528 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8529 trampoline
22f53a96 8530 (jumpvector): removed
8531 (grub_linux_trampoline_start): new declaration
8532 (grub_linux_trampoline_end): likewise
8533 (grub_linux_boot): use trampoline when on 64-bit platform
8534 * loader/i386/linux.c: likewise
8535
cb5a0f40 85362009-05-16 Pavel Roskin <proski@gnu.org>
8537
8538 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8539 const to avoid a warning.
8540 (grub_lua_setenv): Likewise.
8541 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8542 lmsg to fix a warning.
8543
334f2c28 85442009-05-16 Felix Zielcke <fzielcke@z-51.de>
8545
8546 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8547 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8548 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8549 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8550 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8551 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8552 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8553 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8554
59e5d3ec 85552009-05-16 Felix Zielcke <fzielcke@z-51.de>
8556
8557 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8558
9d87a1ba 85592009-05-16 Bean <bean123ch@gmail.com>
8560
8561 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8562 (lua_mod_SOURCES): New variable.
8563 (lua_mod_CFLAGS): Likewise.
8564 (lua_mod_LDFLAGS): Likewise.
8565
8566 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8567 (setjmp_mod_SOURCES): New variable.
8568 (setjmp_mod_CFLAGS): Likewise.
8569 (setjmp_LDFLAGS): Likewise.
8570
8571 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8572 (setjmp_mod_SOURCES): New variable.
8573 (setjmp_mod_CFLAGS): Likewise.
8574 (setjmp_LDFLAGS): Likewise.
8575
8576 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8577 (setjmp_mod_SOURCES): New variable.
8578 (setjmp_mod_CFLAGS): Likewise.
8579 (setjmp_LDFLAGS): Likewise.
8580
8581 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8582 (setjmp_mod_SOURCES): New variable.
8583 (setjmp_mod_CFLAGS): Likewise.
8584 (setjmp_LDFLAGS): Likewise.
8585
8586 * normal/i386/setjmp.S: Moved from here ...
8587 * lib/i386/setjmp.S: ... Moved here
8588 * normal/x86_64/setjmp.S: Moved from here ...
8589 * lib/x86_64/setjmp.S: ... Moved here
8590 * normal/powerpc/setjmp.S: Moved from here ...
8591 * lib/powerpc/setjmp.S: ... Moved here
8592 * normal/sparc64/setjmp.S: Moved from here ...
8593 * lib/sparc64/setjmp.S: ... Moved here
8594
8595 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8596 returns_twice in mingw.
8597
8598 * script/lua/grub_lib.c: New file.
8599 * script/lua/grub_lib.h: Likewise.
8600 * script/lua/grub_lua.h: Likewise.
8601 * script/lua/grub_main.c: Likewise.
8602 * script/lua/lapi.c: Likewise.
8603 * script/lua/lapi.h: Likewise.
8604 * script/lua/lauxlib.c: Likewise.
8605 * script/lua/lauxlib.h: Likewise.
8606 * script/lua/lbaselib.c: Likewise.
8607 * script/lua/lcode.c: Likewise.
8608 * script/lua/lcode.h: Likewise.
8609 * script/lua/ldblib.c: Likewise.
8610 * script/lua/ldebug.c: Likewise.
8611 * script/lua/ldebug.h: Likewise.
8612 * script/lua/ldo.c: Likewise.
8613 * script/lua/ldo.h: Likewise.
8614 * script/lua/ldump.c: Likewise.
8615 * script/lua/lfunc.c: Likewise.
8616 * script/lua/lfunc.h: Likewise.
8617 * script/lua/lgc.c: Likewise.
8618 * script/lua/lgc.h: Likewise.
8619 * script/lua/linit.c: Likewise.
8620 * script/lua/liolib.c: Likewise.
8621 * script/lua/llex.c: Likewise.
8622 * script/lua/llex.h: Likewise.
8623 * script/lua/llimits.h: Likewise.
8624 * script/lua/lmathlib.c: Likewise.
8625 * script/lua/lmem.c: Likewise.
8626 * script/lua/lmem.h: Likewise.
8627 * script/lua/loadlib.c: Likewise.
8628 * script/lua/lobject.c: Likewise.
8629 * script/lua/lobject.h: Likewise.
8630 * script/lua/lopcodes.c: Likewise.
8631 * script/lua/lopcodes.h: Likewise.
8632 * script/lua/loslib.c: Likewise.
8633 * script/lua/lparser.c: Likewise.
8634 * script/lua/lparser.h: Likewise.
8635 * script/lua/lstate.c: Likewise.
8636 * script/lua/lstate.h: Likewise.
8637 * script/lua/lstring.c: Likewise.
8638 * script/lua/lstring.h: Likewise.
8639 * script/lua/lstrlib.c: Likewise.
8640 * script/lua/ltable.c: Likewise.
8641 * script/lua/ltable.h: Likewise.
8642 * script/lua/ltablib.c: Likewise.
8643 * script/lua/ltm.c: Likewise.
8644 * script/lua/ltm.h: Likewise.
8645 * script/lua/lua.h: Likewise.
8646 * script/lua/luaconf.h: Likewise.
8647 * script/lua/lualib.h: Likewise.
8648 * script/lua/lundump.c: Likewise.
8649 * script/lua/lundump.h: Likewise.
8650 * script/lua/lvm.c: Likewise.
8651 * script/lua/lvm.h: Likewise.
8652 * script/lua/lzio.c: Likewise.
8653 * script/lua/lzio.h: Likewise.
8654
5e898c9d 86552009-05-16 Bean <bean123ch@gmail.com>
8656
8657 * include/grub/kernel.h (grub_module_header_types): Add type
8658 OBJ_TYPE_CONFIG.
8659
8660 * kern/main.c (grub_load_config): New function.
8661 (grub_main): Call grub_load_config to read boot config.
8662
8663 * grub-mkimage (generate_image): New parameter config_path.
8664 (options): New option --config.
8665 (main): Parse --config option, and pass it to generate_image.
8666
cf353a47 86672009-05-14 Christian Franke <franke@computer.org>
8668
8669 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
8670 This fixes build on Cygwin.
8671
3834887f 86722009-05-14 Pavel Roskin <proski@gnu.org>
8673
8674 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
8675 jump. This saves two bytes, so the typical case of 2 swapped
8676 drives would fit 32 bytes.
8677
8090fc01 86782009-05-13 Pavel Roskin <proski@gnu.org>
8679
ac963883 8680 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
8681 grub_uint32_t to avoid a warning.
8682
8090fc01 8683 * loader/i386/linux.c (allocate_pages): When assigning
8684 real_mode_mem, cast through grub_size_t to fix a warning. The
8685 code already makes sure that the value would fit a pointer.
8686 (grub_linux_setup_video): Cast render_target->data to
8687 grub_size_t to fix a warning.
8688
18f547ad 86892009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 8690
8691 * commands/i386/pc/drivemap.c: New file - implement drivemap
8692 command.
8693 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
8694 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
8695
6f6a8b28 86962009-05-13 Pavel Roskin <proski@gnu.org>
8697
8698 * util/i386/pc/grub-setup.c (setup): Remove unused variable
8699 embedding_area_exists.
8700
15fbf4c4 87012009-05-13 Robert Millan <rmh.grub@aybabtu.com>
8702
8703 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
8704 it easier to understand / work with.
59978c8a 8705 Improve warning messages for cases where there's no embedding area,
8706 or when it is too small (or core.img too large).
15fbf4c4 8707
238e871f 87082009-05-13 Pavel Roskin <proski@gnu.org>
8709
0ab3a9a4 8710 * loader/i386/pc/multiboot2.c: Add necessary includes for
8711 grub_multiboot2_real_boot().
8712
a2c8c5f8 8713 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
8714 PX record is always little-endian. We only need the lower 2
8715 bytes of the mode.
8716
faec96af 8717 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
8718 facilitate code reuse.
8719 (grub_cpio_mount): Use "struct head", not a char buffer. This
8720 fixes a warning reported by gcc 4.4.
8721
238e871f 8722 * kernel/disk.c (grub_disk_read): Use void pointer for the
8723 buffer.
8724 (grub_disk_write): Use const void pointer for the buffer.
8725 Adjust all callers. Remove unnecessary casts.
8726
901d2f0c 87272009-05-10 Robert Millan <rmh.grub@aybabtu.com>
8728
8729 * util/i386/pc/grub-install.in: Update copyright year.
8730
18f547ad 87312009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 8732
8733 gptsync
8734
8735 * commands/gptsync.c: new file
8736 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
8737 (gptsync_mod_SOURCES): new variable
8738 (gptsync_mod_CFLAGS): likewise
8739 (gptsync_mod_LDFLAGS): likewise
18f547ad 8740 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 8741 new definition
8742 (GRUB_PC_PARTITION_TYPE_HFS): likewise
8743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
8744 * conf/i386-ieee1275.rmk: likewise
8745 * conf/i386-pc.rmk: likewise
8746 * conf/powerpc-ieee1275.rmk: likewise
8747
b4ba690a 87482009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Fixed grub-emu
8751
8752 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
8753 (grub_dl_ref): likewise
8754
317e1a44 87552009-05-08 Robert Millan <rmh.grub@aybabtu.com>
8756
8757 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
8758 split in two functions (one for msdos and one for gpt).
8759
041b8094 87602009-05-08 Pavel Roskin <proski@gnu.org>
8761
752473c2 8762 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
8763 not modified.
8764
041b8094 8765 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
8766 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
8767 Initialize them with -1. Add sanity check for bad1. Eliminate
8768 nerr variable.
8769
172800ce 87702009-05-08 David S. Miller <davem@davemloft.net>
8771
8772 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
8773
29aa5e81 87742009-05-06 Robert Millan <rmh.grub@aybabtu.com>
8775
8776 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 8777 existence.
29aa5e81 8778
96613b62 87792009-05-05 Felix Zielcke <fzielcke@z-51.de>
8780
8781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 8782 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 8783
eef73c8a 87842009-05-05 David S. Miller <davem@davemloft.net>
8785
8786 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
8787
119494b5 87882009-05-05 Pavel Roskin <proski@gnu.org>
8789
8790 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
8791 of grub_dl_ref() and grub_dl_unref().
8792 * commands/parttool.c: Remove preprocessor conditionals around
8793 grub_dl_ref() and grub_dl_unref().
8794 * fs/affs.c: Likewise.
8795 * fs/afs.c: Likewise.
8796 * fs/cpio.c: Likewise.
8797 * fs/ext2.c: Likewise.
8798 * fs/fat.c: Likewise.
8799 * fs/hfs.c: Likewise.
8800 * fs/hfsplus.c: Likewise.
8801 * fs/iso9660.c: Likewise.
8802 * fs/jfs.c: Likewise.
8803 * fs/minix.c: Likewise.
8804 * fs/ntfs.c: Likewise.
8805 * fs/reiserfs.c: Likewise.
8806 * fs/sfs.c: Likewise.
8807 * fs/udf.c: Likewise.
8808 * fs/ufs.c: Likewise.
8809 * fs/xfs.c: Likewise.
8810 * include/grub/dl.h: Likewise.
8811 * loader/xnu.c: Likewise.
8812
de5fd76e 88132009-05-04 Pavel Roskin <proski@gnu.org>
8814
8815 * commands/acpi.c: Remove unused variable my_mod.
8816 * partmap/amiga.c: Likewise.
8817 * partmap/apple.c: Likewise.
8818 * partmap/gpt.c: Likewise.
8819 * partmap/pc.c: Likewise.
8820 * partmap/sun.c: Likewise.
8821 * term/gfxterm.c: Likewise.
8822 * term/i386/pc/vesafb.c: Likewise.
8823 * term/i386/pc/vga.c: Likewise.
8824
983598ad 88252009-05-04 David S. Miller <davem@davemloft.net>
8826
8827 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
8828 pointer args to grub_ieee1275_get_property().
8829
8aadec43 8830 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
8831
9554b15e 8832 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
8833 devices, and do not traverse down under controller nodes.
8834
67e23c90 8835 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
8836 (grub_ofdisk_open): Use it to un-escape "," characters.
8837 * kern/disk.c (find_part_sep): New.
8838 (grub_disk_open): Use it to find the first non-escaped ','
8839 character in the disk name.
8840 * util/ieee1275/devicemap.c (escape_of_path): New.
8841 (grub_util_emit_devicemap_entry): Use it.
8842 * util/sparc64/ieee1275/grub-install.in: Update script to
8843 strip partition specifiers properly by not triggering on
8844 '\' escaped ',' characters.
8845
74bfdd2f 88462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8847
8848 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
8849 to 0x300.
8850 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
8851 resolutions.
8852 (linux_vesafb_modes): Add a lot of additional modes to the list (based
8853 on documentation from Wikipedia).
8854
4241d2b1 88552009-05-04 Pavel Roskin <proski@gnu.org>
8856
8857 * disk/ata.c: Spelling fixes.
8858 * disk/raid.c: Likewise.
8859 * disk/usbms.c: Likewise.
8860 * disk/dmraid_nvidia.c: Likewise.
8861 * kern/ieee1275/openfw.c: Likewise.
8862 * kern/ieee1275/init.c: Likewise.
8863 * kern/ieee1275/cmain.c: Likewise.
8864 * boot/i386/pc/cdboot.S: Likewise.
8865 * video/readers/png.c: Likewise.
8866 * video/i386/pc/vbe.c: Likewise.
8867 * fs/udf.c: Likewise.
8868 * fs/hfs.c: Likewise.
8869 * fs/reiserfs.c: Likewise.
8870 * efiemu/runtime/efiemu.c: Likewise.
8871 * efiemu/main.c: Likewise.
8872 * efiemu/mm.c: Likewise.
8873 * include/grub/elf.h: Likewise.
8874 * include/grub/xnu.h: Likewise.
8875 * include/grub/usbdesc.h: Likewise.
8876 * include/grub/usb.h: Likewise.
8877 * include/grub/script_sh.h: Likewise.
8878 * include/grub/lib/LzmaEnc.h: Likewise.
8879 * include/grub/efiemu/efiemu.h: Likewise.
8880 * include/grub/command.h: Likewise.
8881 * normal/menu.c: Likewise.
8882 * normal/main.c: Likewise.
8883 * normal/datetime.c: Likewise.
8884 * bus/usb/uhci.c: Likewise.
8885 * mmap/i386/uppermem.c: Likewise.
8886 * mmap/mmap.c: Likewise.
8887 * commands/acpi.c: Likewise.
8888 * commands/test.c: Likewise.
8889 * partmap/apple.c: Likewise.
8890 * font/font.c: Likewise.
8891 * loader/sparc64/ieee1275/linux.c: Likewise.
8892 * loader/macho.c: Likewise.
8893 * loader/i386/bsd_trampoline.S: Likewise.
8894 * loader/i386/bsd.c: Likewise.
8895 * loader/xnu.c: Likewise.
8896 * term/i386/pc/vesafb.c: Likewise.
8897 * term/usb_keyboard.c: Likewise.
8898 * util/resolve.c: Likewise.
8899 * util/getroot.c: Likewise.
8900
0cfc0083 89012009-05-04 Felix Zielcke <fzielcke@z-51.de>
8902
8903 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
8904
7c1d00cd 89052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8906
8907 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
8908 build error.
8909
b01f0548 89102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8911
8912 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
8913 parameter only available on BIOS.
8914
ecc3eb22 89152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 Removed wrong semicolon in declaration
8918
8919 * grub/misc.h (grub_dprintf): remove semicolon
8920
112972a9 89212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8922
8923 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
8924 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
8925 is done by grub_cmd_linux() now).
8926 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
8927 restore video to text mode.
8928 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
8929 indicates lack of "vga=" parameter. "vga=0" is mapped to
8930 `GRUB_LINUX_VID_MODE_NORMAL'.
8931
afd5c115 89322009-05-04 Felix Zielcke <fzielcke@z-51.de>
8933
8934 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
8935 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
8936 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 8937 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 8938 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
8939 `grub_script.tab.c'.
8940
8941 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8942 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
8945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8946
faa517ce 8947 * Makefile.in: Remove duplicated 2008 in Copyright line.
8948
ae0c0bdc 89492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
8950
473d1e45 8951 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 8952 unconditionally.
8953 * include/grub/util/misc.h (grub_util_warn): New declaration.
8954
8955 * util/i386/pc/grub-install.in: Understand --force and pass it down
8956 to grub-setup.
8957
8958 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
8959 down to setup().
8960 (setup): Improve error messages and add warnings when requested to
8961 install in odd layouts. Refuse to install using blocklists unless
8962 --force was set.
8963
18f547ad 89642009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 8965
8966 * disk/raid.c (grub_raid_scan_device): Improve debug message.
8967
6d260daa 89682009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 Updated copyright year
8971
8972 * fs/hfsplus.c: updated copyright year
18f547ad 8973
69f853f8 89742009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 HFS+ UUID
8977
18f547ad 8978 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 8979 in the space previously used by unused3
8980 (grub_hfsplus_uuid): new function
8981 (grub_hfsplus_fs): added uuid field
8982
4c402e73 89832009-05-03 Pavel Roskin <proski@gnu.org>
8984
8985 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
8986 suppress warnings. It's no longer needed.
8987 * disk/host.c: Likewise.
8988 * disk/ata_pthru.c: Likewise.
8989 * disk/loopback.c: Likewise.
8990 * hook/datehook.c: Likewise.
8991 * parttool/pcpart.c: Likewise.
8992 * fs/i386/pc/pxe.c: Likewise.
8993 * fs/ntfscomp.c: Likewise.
8994 * efiemu/main.c: Likewise.
8995 * mmap/mmap.c: Likewise.
8996 * commands/crc.c: Likewise.
8997 * commands/hexdump.c: Likewise.
8998 * commands/hdparm.c: Likewise.
8999 * commands/acpi.c: Likewise.
9000 * commands/echo.c: Likewise.
9001 * commands/minicmd.c: Likewise.
9002 * commands/blocklist.c: Likewise.
9003 * commands/memrw.c: Likewise.
9004 * commands/loadenv.c: Likewise.
9005 * commands/usbtest.c: Likewise.
9006 * commands/lsmmap.c: Likewise.
9007 * commands/boot.c: Likewise.
9008 * commands/parttool.c: Likewise.
9009 * commands/configfile.c: Likewise.
9010 * commands/search.c: Likewise.
9011 * commands/ieee1275/suspend.c: Likewise.
9012 * commands/cat.c: Likewise.
9013 * commands/i386/pc/pxecmd.c: Likewise.
9014 * commands/i386/pc/play.c: Likewise.
9015 * commands/i386/pc/halt.c: Likewise.
9016 * commands/i386/pc/vbeinfo.c: Likewise.
9017 * commands/i386/pc/vbetest.c: Likewise.
9018 * commands/lspci.c: Likewise.
9019 * commands/date.c: Likewise.
9020 * commands/handler.c: Likewise.
9021 * commands/ls.c: Likewise.
9022 * commands/test.c: Likewise.
9023 * commands/cmp.c: Likewise.
9024 * commands/efi/loadbios.c: Likewise.
9025 * commands/efi/fixvideo.c: Likewise.
9026 * commands/halt.c: Likewise.
9027 * commands/help.c: Likewise.
9028 * commands/reboot.c: Likewise.
9029 * hello/hello.c: Likewise.
9030 * script/sh/main.c: Likewise.
9031 * loader/xnu.c: Likewise.
9032 * term/terminfo.c: Likewise.
9033 * term/i386/pc/serial.c: Likewise.
9034 * term/usb_keyboard.c: Likewise.
9035
515b5079 90362009-05-03 David S. Miller <davem@davemloft.net>
9037
9038 * normal/menu.c: Include grub/parser.h
9039
dfc31a22 90402009-05-03 Pavel Roskin <proski@gnu.org>
9041
2fee74f1 9042 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
9043 not char*.
9044 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
9045 Suggested by Javier Martín <lordhabbit@gmail.com>
9046
dfc31a22 9047 * util/i386/pc/grub-mkrescue.in: Allow for the case when
9048 efiemu??.o doesn't exist.
9049 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
9050 copying.
9051
18f547ad 90522009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 9053
9054 FreeBSD 64-bit support
9055
18f547ad 9056 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 9057 and loader/i386/bsd_trampoline.S
9058 (bsd_mod_ASFLAGS): new variable
9059 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
9060 (FREEBSD_MODTYPE_KERNEL64): likewise
9061 (grub_bsd64_trampoline_start): likewise
9062 (grub_bsd64_trampoline_end): likewise
9063 (grub_bsd64_trampoline_selfjump): likewise
9064 (grub_bsd64_trampoline_gdt): likewise
9065 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
9066 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
9067 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
9068 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 9069 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 9070 of "attrib" member
9071 * loader/i386/bsd_pagetable.c: new file
9072 * loader/i386/bsd_trampoline.S: likewise
9073 * loader/i386/bsd.c (ALIGN_QWORD): new macro
9074 (ALIGN_VAR): likewise
9075 (entry_hi): new variable
9076 (kern_end_mdofs): likewise
9077 (is_64bit): likewise
9078 (grub_freebsd_add_meta): use ALIGN_VAR
9079 (grub_e820_mmap): new declaration
9080 (grub_freebsd_add_mmap): new function
9081 (grub_freebsd_add_meta_module): support 64 bit kernels
9082 (grub_freebsd_list_modules): use ALIGN_VAR
9083 (gdt_descriptor): new declaration
9084 (grub_freebsd_boot): support 64 bit kernels
9085 (grub_bsd_elf64_hook): new function
9086 (grub_bsd_load_elf): support elf64
9087
038c5720 90882009-05-03 Bean <bean123ch@gmail.com>
9089
9090 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
9091 after we get the result of if statement.
9092
fc45fb58 90932009-05-03 Bean <bean123ch@gmail.com>
9094
9095 * Makefile.in (enable_efiemu): New variable.
9096
9097 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
9098 set.
9099 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
9100 path.
9101 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
9102 path, add -mno-red-zone option.
9103 (efiemu64_s.o): Likewise.
9104 (efiemu64.o): Use macro $^ for source file.
9105
9106 * configure.ac (--enable-efiemu): New option.
9107
bbee0f2b 91082009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 xnu support
9111
9112 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
9113 (pkglib_MODULES): add xnu.mod
9114 (xnu_mod_SOURCES): new variable
9115 (xnu_mod_CFLAGS): likewise
9116 (xnu_mod_LDFLAGS): likewise
9117 (xnu_mod_ASFLAGS): likewise
9118 * conf/i386-pc.rmk: likewise
9119 * conf/x86_64-efi.rmk: likewise
7dd4a573 9120 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 9121 new declaration
9122 * include/grub/i386/macho.h: new file
9123 * include/grub/i386/xnu.h: likewise
9124 * include/grub/macho.h: likewise
9125 * include/grub/machoload.h: likewise
9126 * include/grub/x86_64/macho.h: likewise
9127 * include/grub/x86_64/xnu.h: likewise
9128 * include/grub/xnu.h: likewise
9129 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
9130 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
9131 * loader/i386/efi/xnu.c: new file
9132 * loader/i386/pc/xnu.c: likewise
9133 * loader/i386/xnu.c: likewise
9134 * loader/i386/xnu_helper.S: likewise
9135 * loader/macho.c: likewise
9136 * loader/xnu.c: likewise
9137 * loader/xnu_resume.c: likewise
9138 * util/grub-dumpdevtree: likewise
9139 * include/grub/i386/pit.h: include grub/err.h
9140 (grub_pit_wait): export
9141 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 9142
5caf964d 91432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 Efiemu
7dd4a573 9146
5caf964d 9147 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 9148 _linux_efi, linux_efi.
9149 new files in grub-emu
5caf964d 9150 new targets efiemu32.o and efiemu64.o
9151 * loader/linux_normal_efiemu.c: likewise
9152 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 9153 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 9154 files to copy
9155 * include/grub/autoefi.h: new file
7dd4a573 9156 * include/grub/i386/efiemu.h: likewise
5caf964d 9157 * include/grub/i386/pc/efiemu.h: likewise
9158 * include/grub/efi/api.h: add LL suffix when necessary
9159 new definitions relating to tables
9160 * include/grub/efiemu/efiemu.h: new file
9161 * include/grub/efiemu/runtime.h: likewise
9162 * efiemu/prepare.c: likewise
9163 * efiemu/loadcore_common.c: likewise
9164 * efiemu/loadcore64.c: likewise
9165 * efiemu/runtime/efiemu.sh: likewise
9166 * efiemu/runtime/efiemu.S: likewise
9167 * efiemu/runtime/efiemu.c: likewise
9168 * efiemu/runtime/config.h: likewise
9169 * efiemu/prepare32.c: likewise
9170 * efiemu/main.c: likewise
9171 * efiemu/modules/pnvram.c: likewise
9172 * efiemu/modules/i386: likewise
9173 * efiemu/modules/i386/pc: likewise
9174 * efiemu/modules/acpi.c: likewise
9175 * efiemu/i386/pc/cfgtables.c: likewise
9176 * efiemu/i386/loadcore64.c: likewise
9177 * efiemu/i386/loadcore32.c: likewise
9178 * efiemu/prepare64.c: likewise
9179 * efiemu/loadcore.c: likewise
9180 * efiemu/symbols.c: likewise
9181 * efiemu/mm.c: likewise
9182 * efiemu/loadcore32.c: likewise
7dd4a573 9183
91842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 9185
9186 ACPI spoofing
9187
9188 * commands/acpi.c: new file
9189 * commands/i386/pc/acpi.c: likewise
9190 * commands/efi/acpi.c: likewise
9191 * include/grub/acpi.h: likewise
9192 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9193 (acpi_mod_SOURCES): new variable
9194 (acpi_mod_CFLAGS): likewise
9195 (acpi_mod_LDFLAGS): likewise
9196 * conf/i386-efi.rmk: likewise
9197 * conf/x86_64-efi.rmk: likewise
9198
7dd4a573 91992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 9200
9201 Missing part from mmap patch
9202
9203 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9204 (grub_mmap_unregister)
9205 (grub_mmap_free_and_unregister): use grub_mmap_register
9206
7dd4a573 92072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 9208
9209 Mmap services
9210
9211 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9212 * loader/i386/linux.c (find_mmap_size): likewise
9213 (allocate_pages): likewise
9214 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9215 (grub_fill_multiboot_mmap): likewise
9216 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9217 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9218 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9219 (OPENBSD_MMAP_RESERVED): likewise
9220 * include/grub/i386/pc/memory.h: include grub/memory.h
9221 (grub_lower_mem): removed
9222 (grub_upper_mem): likewise
9223 (GRUB_MACHINE_MEMORY_ACPI): new definition
9224 (GRUB_MACHINE_MEMORY_NVS): likewise
9225 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9226 (GRUB_MACHINE_MEMORY_HOLE): likewise
9227 (grub_machine_mmap_register): likewise
9228 (grub_machine_mmap_unregister): likewise
9229 (grub_machine_get_upper): likewise
9230 (grub_machine_get_lower): likewise
9231 (grub_machine_get_post64): likewise
9232 * include/grub/i386/efi/memory.h: new file
9233 * include/grub/x86_64/efi/memory.h: likewise
9234 * include/grub/efi/memory.h: likewise
9235 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9236 (mmap_mod_SOURCES): new variable
9237 (mmap_mod_LDFLAGS): likewise
9238 (mmap_mod_ASFLAGS): likewise
9239 * conf/i386-coreboot.rmk: likewise
9240 * conf/i386-ieee1275.rmk: likewise
9241 * conf/i386-efi.rmk: likewise
9242 * conf/x86_64-efi.rmk: likewise
9243 * include/grub/types.h (UINT_TO_PTR): new macro
9244 (PTR_TO_UINT32): likewise
9245 (PTR_TO_UINT64): likewise
9246 * include/grub/memory.h: new file
9247 * mmap/i386/pc/mmap.c: likewise
9248 * mmap/i386/pc/mmap_helper.S: likewise
9249 * mmap/i386/uppermem.c: likewise
9250 * mmap/mmap.c: likewise
9251 * mmap/efi/mmap.c: likewise
7dd4a573 9252 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 9253 grub_upper_mem
9254 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9255 (grub_upper_mem): likewise
9256 (grub_machine_init): don't use grub_upper_mem,
9257 make grub_lower_mem local
9258 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9259 grub_mmap_iterate and grub_mmap_get_upper
9260 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9261
d558e6b5 92622009-05-02 Bean <bean123ch@gmail.com>
9263
9264 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9265 script/sh/parser.y.
9266 (pkglib_MODULES): Add normal.mod and sh.mod.
9267 (normal_SOURCES): New variable.
9268 (normal_mod_CFLAGS): Likewise.
9269 (normal_mod_LDFLAGS): Likewise.
9270 (sh_mod_SOURCES): Likewise.
9271 (sh_mod_CFLAGS): Likewise.
9272 (sh_mod_LDFLAGS): Likewise.
9273
9274 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9275 script/sh/lexer.c_DEPENDENCIES.
9276 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9277 kern/rescue_reader.c and kern/rescue_parser.c.
9278 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9279 (grub_emu_SOURCES): Change source files.
9280 (pkglib_MODULES): Remove normal.mod.
9281 (normal_SOURCES): Removed.
9282 (normal_mod_CFLAGS): Likewise.
9283 (normal_mod_LDFLAGS): Likewise.
9284 * conf/i386-coreboot.rmk: Likewise.
9285 * conf/i386-efi.rmk: Likewise.
9286 * conf/i386-ieee1276.rmk: Likewise.
9287 * conf/powerpc-ieee1275.rmk: Likewise.
9288 * conf/sparc64-ieee1275.rmk: Likewise.
9289 * conf/x86_64-efi.rmk: Likewise.
9290
9291 * include/grub/command.h (grub_command_execute): New inline function.
9292
9293 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9294
9295 * include/grub/normal.h: Remove <grub/setjmp.h>.
9296 (grub_fs_module_list): Moved to normal/autofs.c.
9297 (grub_exit_env): Removed.
9298 (grub_command_execute): Likewise.
9299 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9300 parameter script.
9301 (read_command_list): New function declaration.
9302 (read_fs_list): Likewise.
9303
9304 * include/parser.h: Include <grub/reader.h>.
9305 (grub_parser_split_cmdline): Change type of getline parameter.
9306 (grub_parser): New structure.
9307 (grub_parser_class): New variable.
9308 (grub_parser_execute): New function declaration.
9309 (grub_register_rescue_parser): Likewise.
9310 (grub_parser_register): New inline function.
9311 (grub_parser_unregister): Likewise.
9312 (grub_parser_get_current): Likewise.
9313 (grub_parser_set_current): Likewise.
9314
9315 * include/grub/reader.h: New file.
9316 * kern/reader.c: Likewise.
9317 * kern/rescue_parser.c: Likewise.
9318 * kern/rescue_reader.c: Likewise.
9319 * normal/autofs.c: Likewise.
9320 * normal/dyncmd.c: Likewise.
9321
9322 * include/grub/rescue.h: Removed.
9323 * normal/command.h: Likewise.
9324
9325 * include/grub/script.h: Moved to ...
9326 * include/grub/script_sh.h: ... Moved here.
9327 * normal/execute.c: Moved to ...
9328 * script/sh/execute.c: ... Moved here.
9329 * normal/function.c: Moved to ...
9330 * script/sh/function.c: ... Moved here.
9331 * normal/lexer.c: Moved to ...
9332 * script/sh/lexer.c: ... Moved here.
9333 * normal/parser.y: Moved to ...
9334 * script/sh/parser.y: ... Moved here.
9335 * normal/script.c: Moved to ...
9336 * script/sh/script.c: ... Moved here.
9337
9338 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9339 <grub/reader.h>.
9340 (grub_exit_env): Removed.
9341 (fs_module_list): Moved to normal/autofs.c.
9342 (grub_file_getline): Don't handle comment here.
9343 (free_menu): Skip removed field entry->commands.
9344 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9345 script parameter.
9346 (read_config_file): Removed nested parameter, change getline function.
9347 (grub_enter_normal_mode): Removed.
9348 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9349 (read_command_list): Likewise.
9350 (autoload_fs_module): Moved to normal/autofs.c.
9351 (read_fs_list): Likewise.
9352 (reader_nested): New variable.
9353 (grub_normal_execute): Run parser.sh to switch to sh parser.
9354 (grub_cmd_rescue): Removed.
9355 (cmd_normal): Removed.
9356 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9357 rescue command.
9358 (grub_cmdline_run): New function.
9359 (grub_normal_reader_init): Likewise.
9360 (grub_normal_read_line): Likewise.
9361 (grub_env_write_pager): Likewise.
9362 (cmdline): New variable.
9363 (grub_normal_reader): Likewise.
9364 (GRUB_MOD_INIT): Register normal reader and set as current, register
9365 pager hook, register normal command with grub_register_command_prio,
9366 so that it won't show up in command.lst.
9367 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9368 grub_fs_autoload_hook.
9369
9370 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9371 (grub_menu_execute_entry): Replace grub_script_execute with
9372 grub_parser_execute, change parameter to grub_command_execute.
9373
9374 * normal/menu_text.c: Remove <grub/script.h>.
9375
9376 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9377 and <grub/parser.h>.
9378 (run): Change editor_getline to use new parser interface. Change
9379 parameter to grub_command_execute.
9380
9381 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9382 <grub/reader.h> and <grub/parser.h>.
9383 (grub_load_normal_mode): Execute normal command.
9384 (grub_main): Call grub_register_core_commands,
9385 grub_register_rescue_parser and grub_register_rescue_reader, use
9386 grub_reader_loop to enter input loop.
9387
7dd4a573 9388 * kern/parser.c (grub_parser_split_cmdline): Change type of
9389 getline parameter.
d558e6b5 9390 (grub_parser_class): New variable.
9391 (grub_parser_execute): New function.
9392
9393 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9394 * loader/multiboot2.c: Likewise.
9395 * loader/sparc64/ieee1275/linux.c: Likewise.
9396
9397 * util/grub-emu.c (read_command_list): New dummy function.
9398
18db813d 93992009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9400
9401 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9402 count to 16 for CCISS and IDA.
9403
6c67de15 94042009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9405
9406 * normal/menu_text.c (grub_wait_after_message): Print a newline
9407 after waiting for user input.
9408
9409 * loader/i386/linux.c: Include `<grub/normal.h>'.
9410 (grub_cmd_linux): Improve the error message about `ask' mode, by
9411 waiting for user input so it's not missed (we can do this, since
9412 user requested interaction).
9413
d9dc87b0 94142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 Added missing lst to grub-mkrescue
9417
9418 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9419 and ${input_dir}/parttool.lst
9420
ac8a2baa 94212009-04-30 David S. Miller <davem@davemloft.net>
9422
ad22a610 9423 * util/hostdisk.c (device_is_wholedisk): New function.
9424 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9425 zero only if device_is_wholedisk() returns true.
9426
6966215d 9427 * util/hostdisk.c (convert_system_partition_to_system_disk):
9428 Handle virtual disk devices named /dev/vdiskX as found on sparc
9429 and powerpc.
9430
ac8a2baa 9431 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9432 lettered partition specifier is found, convert to numbered.
9433
979b4fb4 94342009-04-29 David S. Miller <davem@davemloft.net>
9435
e2bf39b2 9436 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9437 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9438
3c64e104 9439 * normal/command.c: Add missing newline at end of file.
9440
979b4fb4 9441 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9442 warnings.
9443 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9444 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9445 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9446 ihandles have a 32-bit type but need to be stored in a "void *".
9447
136d9f82 94482009-04-28 Pavel Roskin <proski@gnu.org>
9449
9459c306 9450 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9451 not disk. Adjust all dependencies.
2e08a26a 9452 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 9453 grub_disk_close().
9454
136d9f82 9455 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9456 parent's partition, don't copy it by reference, as it gets freed
9457 on close.
9458
7dd4a573 94592009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9460
9461 Preboot hooks support
9462
9463 * commands/boot.c (struct grub_preboot_t): new declaration
9464 (preboots_head): new variable
9465 (preboots_tail): likewise
9466 (grub_loader_register_preboot_hook): new function
9467 (grub_loader_unregister_preboot_hook): likewise
9468 (grub_loader_set): launch preboot hooks
9469 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9470 (grub_loader_register_preboot_hook): new declaration
9471 (grub_loader_unregister_preboot_hook): likewise
9472
5af922b5 94732009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 Warning fix
9476
7dd4a573 9477 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9478 calling grub_dprintf
9479
a5562c30 94802009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 Bug and warning fixes
9483
7dd4a573 9484 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9485 declaration
9486 * commands/test.c (test_parse): fixed bug with file tests and corrected
9487 declaration of find_file
9488
4006f85c 94892009-04-26 Pavel Roskin <proski@gnu.org>
9490
9491 * Makefile.in: Don't install empty manual pages if help2man is
9492 missing. Use help2man option for output, not shell redirection.
9493
5c77c3de 94942009-04-26 David S. Miller <davem@davemloft.net>
9495
9496 * util/grub-mkdevicemap.c (make_device_map): Add missing
9497 NESTED_FUNC_ATTR to process_device().
9498
033b10a8 94992009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 Test command
9502
9503 * commands/test.c: rewritten to use bash-like test
9504
e4343593 95052009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 Parttool autoloading and improvements
9508
7dd4a573 9509 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9510 (parttool.lst): new target
9511 * genmk.rb: generate parttool-*
9512 (CLEANFILES): add #{parttool}
9513 (PARTTOOLFILES): new variable
9514 * genparttoollist.sh: new file
7dd4a573 9515 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9516 (grub_pcpart_type): likewise
9517 * commands/parttool.c (helpmsg): new variable
9518 (grub_cmd_parttool): output help if not enough arguments are supplied
9519 autoload modules
9520 (GRUB_MOD_INIT(parttool)): use helpmsg
9521
0d312500 95222009-04-24 David S. Miller <davem@davemloft.net>
9523
7dd4a573 9524 Avoiding opening same device multiple times in device iterator.
0d312500 9525
9526 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9527 and use it to build a list of partitions in iterate_disk() and
0d312500 9528 iterate_partition().
9529
ac20caff 9530 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9531 on disk->data.
9532
0dcf7495 9533 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9534 grub_devalias_iterate() result instead of unconditional 0.
9535 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9536 Also, capture hook return value, either directly or via
9537 grub_children_iterate(), and propagate to caller.
9538 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9539 grub_children_iterate): Return value is now 'int' instead of
9540 'grub_err_t'.
9541 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9542 like a proper iterator, stopping when hooks return non-zero.
9543 (grub_devalias_iterate): Likewise.
9544
c8c08833 95452009-04-23 David S. Miller <davem@davemloft.net>
9546
9547 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9548
f01005a8 95492009-04-22 David S. Miller <davem@davemloft.net>
9550
9551 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9552 is larger than address_cells, use that value for address_cells too.
9553
4e8269da 9554 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9555 IEEE1275_MAX_PATH_LEN): Define.
9556 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9557 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9558 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9559 'devtype'. Explicitly NULL terminate devalias expansion.
9560
a1447506 9561 * util/sparc64/ieee1275/misc.c: New file.
9562 * util/sparc64/ieee1275/grub-setup.c: New file.
9563 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9564 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9565 * util/sparc64/ieee1275/grub-install.in: New file.
9566 * util/ieee1275/ofpath.c: New file.
9567 * util/ieee1275/devicemap.c: New file.
9568 * util/devicemap.c: New file.
9569 * util/deviceiter.c: New file.
9570 * kern/sparc64/ieee1275/init.c: New file.
9571 * include/grub/util/ofpath.h: New file.
9572 * include/grub/util/deviceiter.h: New file.
9573 * util/grub-mkdevicemap.c: Include deviceiter.h.
9574 Implement using grub_util_emit_devicemap_entry and
9575 grub_util_iterate_devices.
9576 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9577 util/devicemap.c into grub-mkdevicemap
9578 * conf/i386-efi.rmk: Likewise.
9579 * conf/i386-ieee1275.rmk: Likewise.
9580 * conf/i386-pc.rmk: Likewise.
9581 * conf/powerpc-ieee1275.rmk: Likewise.
9582 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9583 images and installation utilities. Build kernel as image
9584 instead of as elf binary. Use common rules as much as possible.
9585
7dd4a573 95862009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 9587
9588 Correct GPT definition
9589
7dd4a573 9590 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 9591 of "attrib" member
9592
c6c5219f 95932009-04-19 Felix Zielcke <fzielcke@z-51.de>
9594
9595 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9596
0552ff9f 95972009-04-19 David S. Miller <davem@davemloft.net>
9598
9599 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9600 (grub_rescue_cmd_linux): Rename to...
9601 (grub_cmd_linux): and fix prototype.
9602 (grub_rescue_cmd_initrd): Rename to...
9603 (grub_cmd_initrd): and fix prototype.
9604 (cmd_linux, cmd_initrd): New.
9605 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9606 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9607
d1a282fc 96082009-04-17 Pavel Roskin <proski@gnu.org>
9609
07c5039f 9610 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9611 format.
9612 (grub_ohci_transfer): Likewise.
9613
b012002d 9614 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9615
1bc09c35 9616 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9617 return without a value. Fix inconsistent indentation.
9618
e0ff9126 9619 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9620 match struct grub_fs.
9621
d1a282fc 9622 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9623 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9624 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9625 * commands/lspci.c (grub_lspci_iter): Likewise.
9626
a96df3f2 96272009-04-16 Bean <bean123ch@gmail.com>
9628
9629 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9630 value.
9631
41bb0fe9 96322009-04-15 Pavel Roskin <proski@gnu.org>
9633
9634 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
9635 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
9636 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
9637 definitions.
9638
596c6970 96392009-04-15 Felix Zielcke <fzielcke@z-51.de>
9640
9641 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 9642 that no multiple data or metadata areas are supported and `Unknown
596c6970 9643 metadata header'.
9644
7dd4a573 96452009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 9646
9647 Move loader out of the kernel
9648
9649 * kern/loader.c: moved to ...
9650 * commands/boot.c: ... moved here
9651 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9652 * commands/boot.c (grub_cmd_boot): moved here. All users updated
9653 * include/grub/kernel.h (grub_machine_fini): export
9654 * include/grub/loader.h (grub_loader_is_loaded): update declaration
9655 (grub_loader_set): likewise
9656 (grub_loader_unset): likewise
9657 (grub_loader_boot): likewise
9658 * conf/common.rmk: new module boot.mod
9659 (pkglib_MODULES): add boot.mod
9660 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
9661 (grub_emu_SOURCES): likewise
9662 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
9663 (grub_emu_SOURCES): likewise
9664 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
9665 (grub_emu_SOURCES): likewise
9666 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
9667 (grub_emu_SOURCES): likewise
9668 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
9669 (grub_emu_SOURCES): likewise
7dd4a573 9670 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
9671 (grub_emu_SOURCES): likewise
0d5d5653 9672 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 9673 (grub_emu_SOURCES): likewise
0d5d5653 9674
7dd4a573 96752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 9676
9677 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 9678
5999d619 9679 * kern/misc.c (grub_itoa): Removed function
9680 (grub_ltoa): likewise
9681 (grub_vsprintf): use grub_lltoa
9682
7dd4a573 96832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 9684
9685 Restore grub-emu
9686
9687 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
9688 * conf/i386-coreboot.rmk: likewise
9689 * conf/i386-ieee1275.rmk: likewise
9690 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 9691
20318222 96922009-04-15 Felix Zielcke <fzielcke@z-51.de>
9693
9694 * INSTALL: Add that `./autogen.sh' needs to be run before
9695 `./configure.'.
9696
d05f0df3 96972009-04-14 Bean <bean123ch@gmail.com>
9698
9699 * Makefile.in (pkglib_DATA): Add handler.lst.
9700 (handler.lst): New rule.
9701
9702 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
9703 * conf/i386-coreboot.rmk: Likewise.
9704 * conf/i386-ieee1275.rmk: Likewise.
9705 * conf/i386-efi.rmk: Likewise.
9706 * conf/x86_64-efi.rmk: Likewise.
9707 * conf/powerpc-ieee1275.rmk: Likewise.
9708 * conf/sparc64-ieee1275.rmk: Likewise.
9709
9710 * genhandlerlist.sh: New file.
9711
9712 * genmk.rb: Add rules to generate handler.lst.
9713
9714 * include/grub/normal.h (grub_file_getline): New function definition.
9715 (read_handler_list): Likewise.
9716 (free_handler_list): Likewise.
9717
9718 * include/grub/term.h (grub_term_register_input): Add name parameter
9719 for auto generation of handler.lst.
9720 (grub_term_register_output): Likewise.
9721
9722 * normal/handler.c: New file.
9723
9724 * normal/main.c (get_line): Renamed to grub_file_getline.
9725 (read_config_file): Use the newly renamed grub_file_getline.
9726 (read_command_list): Likewise.
9727 (read_fs_list): Likewise.
9728 (grub_normal_execute): Call read_handler_list to parse handler.lst.
9729 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
9730
9731 * term/efi/console.c (grub_console_init): Add name parameter for auto
9732 generation of handler.lst.
9733 * term/gfxterm.c: Likewise.
9734 * term/i386/pc/at_keyboard.c: Likewise.
9735 * term/i386/pc/console.c: Likewise.
9736 * term/i386/pc/serial.c: Likewise.
9737 * term/i386/pc/vesafb.c: Likewise.
9738 * term/i386/pc/vga.c: Likewise.
9739 * term/i386/pc/vga_text.c: Likewise.
9740 * term/ieee1275/ofconsole.c: Likewise.
9741 * term/usb_keyboard.c: Likewise.
9742
33c846be 97432009-04-14 Bean <bean123ch@gmail.com>
9744
9745 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
9746 properly with null character.
9747
4484e01e 97482009-04-14 Felix Zielcke <fzielcke@z-51.de>
9749
9750 * configure: Remove.
9751 * config.h.in: Likewise.
f93d668e 9752 * stamp-h.in: Likewise.
4484e01e 9753 * DISTLIST: Likewise.
9754 * conf/common.mk: Likewise.
9755 * conf/i386-coreboot.mk: Likewise.
9756 * conf/i386-efi.mk: Likewise.
9757 * conf/i386-ieee1275.mk: Likewise.
9758 * conf/i386.mk: Likewise.
9759 * conf/i386-pc.mk: Likewise.
9760 * conf/powerpc-ieee1275.mk: Likewise.
9761 * conf/sparc64-ieee1275.mk: Likewise.
9762 * conf/x86_64-efi.mk: Likewise.
9763
9764 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
9765 develop on GRUB.
9766
7dd4a573 97672009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 9768 David S. Miller <davem@davemloft.net>
9769
9770 * util/hostdisk.c (make_device_name): Fix buffer length
9771 calculations.
9772
e25b5a8c 97732009-04-14 Felix Zielcke <fzielcke@z-51.de>
9774
9775 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
9776 <sys/param.h> and <sys/sysctl.h>.
9777 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
9778 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
9779 opening the device and reset them afterwards.
9780
1f1f580c 97812009-04-13 Pavel Roskin <proski@gnu.org>
9782
9783 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
9784 Reported by John Stanley <jpsinthemix@verizon.net>
9785
7ebc2d6b 97862009-04-13 Robert Millan <rmh@aybabtu.com>
9787
9788 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 9789 that name for menuentries when appropriate.
7ebc2d6b 9790
d8ba3667 97912009-04-13 Felix Zielcke <fzielcke@z-51.de>
9792
9793 * util/grub.d/10_freebsd.in: Add a missing `fi'.
9794
cba416eb 97952009-04-13 Robert Millan <rmh@aybabtu.com>
9796
9797 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
9798 to Linux, simply abort telling the user it's no longer supported.
9799
a547a745 98002009-04-13 Felix Zielcke <fzielcke@z-51.de>
9801
9802 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 9803 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 9804 `freebsd_loadenv' only when devices.hints exist.
9805
232a769c 98062009-04-13 Pavel Roskin <proski@gnu.org>
9807
9808 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
9809
c3012039 98102009-04-13 Felix Zielcke <fzielcke@z-51.de>
9811
9812 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
9813 partition number.
9814 (grub_drive): Likewise.
9815
234022fe 98162009-04-13 David S. Miller <davem@davemloft.net>
9817
9818 * kern/sparc64/ieee1275/ieee1275.c: New file.
9819 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
9820 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
9821 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
9822 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
9823 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
9824 grub_ieee1275_alloc_physmem): Declare new exported functions.
9825
d8e1836c 9826 * include/grub/sparc64/ieee1275/loader.h: New file.
9827 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9828 * include/grub/sparc64/kernel.h: Likewise.
9829 * loader/sparc64/ieee1275/linux.c: Likewise.
9830
96bd81ec 9831 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
9832 (grub_fstest_SOURCES): Likewise.
9833
6a4737e5 9834 * util/hostdisk.c (make_device_name): Do not make any assumptions
9835 about the length of drive names.
9836
1d7a72fd 9837 * kern/dl.c (grub_dl_load_file): Close file immediately when
9838 we are done using it.
9839
56bc2471 98402009-04-12 David S. Miller <davem@davemloft.net>
9841
9842 * kern/misc.c (grub_ltoa): Fix cast when handling negative
9843 values. Noticed by Pavel Roskin.
9844
df38d0bb 9845 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
9846 target compiler.
7dd4a573 9847
e382e93a 9848 * genmk.rb: Add more flexible image type specification, also
9849 pass --strip-unneeded to objcopy.
9850 * conf/i386-pc.rmk: Use *_FORMAT.
9851 * conf/i386-pc.mk: Rebuilt.
9852
f5dbbca9 9853 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
9854 (OFDISK_HASH_SZ): Define.
9855 (ofdisk_hash): New hash table.
9856 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
9857 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
9858 instead of device phandle which is not unique.
9859
91c88b12 9860 * kern/sparc64/ieee1275/init.c: Delete, replace with...
9861 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
9862 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
9863 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
9864 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
9865 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
9866 GRUB_KERNEL_MACHINE_DATA_END): Define.
9867 (grub_kernel_image_size, grub_total_module_size): Declare.
9868
5b5d4aa5 98692009-04-12 Pavel Roskin <proski@gnu.org>
9870
7dd4a573 9871 * configure.ac: Change the logic when we check for target tools.
9872 Do it when the target is specified and it's different from the
9873 specified value of the host.
5b5d4aa5 9874
c91e1793 98752009-04-11 Felix Zielcke <fzielcke@z-51.de>
9876
9877 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
9878 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
9879 GNU/kFreeBSD. Check if a device is a character device. Use
9880 DIOCGMEDIASIZE to get the size.
9881 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
9882 support for GNU/kFreeBSD.
9883 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
9884 is a character device instead of a block device. Add support for
9885 FreeBSD device names.
9886
9887 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
9888 is a character device instead of a block device.
9889
9890 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
9891 is a character device instead of a block device.
9892
b1ac8644 98932009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
9894
9895 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
9896 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
9897 FreeBSD. Check if a device is a character device. Use
9898 DIOCGMEDIASIZE to get the size.
9899 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
9900 support for FreeBSD.
9901 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
9902 is a character device instead of a block device. Add support for
9903 FreeBSD device names.
9904
9905 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
9906 a character device instead of a block device.
9907 (grub_util_check_char_device): New function.
9908
9909 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
9910 a character device instead of a block device.
9911
9912 * include/grub/util/getroot.h (grub_util_check_char_device): New
9913 prototype.
9914
a3f7515a 99152009-04-11 David S. Miller <davem@davemloft.net>
9916
9917 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
9918 static libgcc.
9919 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
9920 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
9921 function, if present.
9922 (__bswapdi2): Likewise.
9923
0d44993d 9924 * include/grub/sparc64/ieee1275/boot.h: New file.
9925 * boot/sparc64/ieee1275/boot.S: Likewise.
9926 * boot/sparc64/ieee1275/diskboot.S: Likewise.
9927
ed3d2bc2 9928 * kern/misc.c (grub_ltoa): New function.
9929 (grub_vsprintf): Use it to format 'long' integers.
9930
d3bfb59c 99312009-04-10 David S. Miller <davem@davemloft.net>
9932
9933 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
9934 slots are of type grub_ieee1275_cell_t.
9935 (grub_nand_read): Likewise.
9936 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
9937 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
9938 macros are used to compare values in arg/ret block of the call.
9939 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
9940 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
9941 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
9942 grub_ieee1275_instance_to_path, grub_ieee1275_write,
9943 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
9944 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
9945 grub_ieee1275_close, grub_ieee1275_set_property,
9946 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
9947 grub_ieee1275_cell_t.
9948 * kern/ieee1275/openfw.c (grub_map): Likewise.
9949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
9950 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
9951
450e2238 9952 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
9953 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9954 (grub_devalias_iterate): Likewise.
9955
7dd4a573 99562009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 9957
9958 UFS improvements
9959
9960 * fs/ufs.c (INODE_NBLOCKS): new definition
9961 (struct grub_ufs_dirent): added fields for non-BSD dirents
9962 (grub_ufs_get_file_block): fixed double indirect handling
9963 (grub_ufs_lookup_symlink): use more robust way to determine whether
9964 symlink is inline
9965 (grub_ufs_find_file): support for non-BSD dirents
9966 (grub_ufs_dir): support for non-BSD dirents
9967
e7e6862a 99682009-04-10 Bean <bean123ch@gnail.com>
9969
9970 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
9971 attribute, otherwise the size would be wrong for i386 platform.
9972
9973 * include/grub/pci.h (grub_pci_read_word): New inline function.
9974 (grub_pci_read_byte): Likewise.
9975 (grub_pci_write): Likewise.
9976 (grub_pci_write_word): Likewise.
9977 (grub_pci_write_byte): Likewise.
9978
9979 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
9980
9981 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
9982 (find_framebuf): Scan pci to locate the frame buffer address.
9983
9984 * commands/efi/fixvideo.c: New file.
9985
9986 * commands/efi/loadbios.c: Likewise.
9987
9988 * commands/memrw.c: Likewise.
9989
9990 * util/grub-dumpbios.in: Likewise.
9991
9992 * conf/common.rmk (grub-dumpbios): New utility.
9993 (pkglib_MODULES): New module memrw.mod.
9994 (memrw_mod_SOURCE): New macro.
9995 (memrw_mod_CFLAGS): Likewise.
9996 (memrw_mod_LDFLAGS): Likewise.
9997
7dd4a573 9998 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 9999 fixvideo.mod.
10000 (loadbios_mod_SOURCE): New macro.
10001 (loadbios_mod_CFLAGS): Likewise.
10002 (loadbios_mod_LDFLAGS): Likewise.
10003 (fixvideo_mod_SOURCE): Likewise.
10004 (fixvideo_mod_CFLAGS): Likewise.
10005 (fixvideo_mod_LDFLAGS): Likewise.
10006
7dd4a573 10007 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10008 fixvideo.mod.
10009 (loadbios_mod_SOURCE): New macro.
10010 (loadbios_mod_CFLAGS): Likewise.
10011 (loadbios_mod_LDFLAGS): Likewise.
10012 (fixvideo_mod_SOURCE): Likewise.
10013 (fixvideo_mod_CFLAGS): Likewise.
10014 (fixvideo_mod_LDFLAGS): Likewise.
10015
af63ada2 100162009-04-08 Felix Zielcke <fzielcke@z-51.de>
10017
10018 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
10019
c2cdde70 100202009-04-07 David S. Miller <davem@davemloft.net>
10021
10022 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
10023 support for R_SPARC_OLO10 relocations. Fix compile warning for
10024 R_SPARC_WDISP30 case.
ea3f72cf 10025 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 10026
761319cf 100272009-04-06 Pavel Roskin <proski@gnu.org>
10028
1007d1f5 10029 * include/grub/misc.h (ARRAY_SIZE): New macro.
10030 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
10031 New macro.
10032 * loader/i386/linux.c (allocate_pages): Use free_pages().
10033 (grub_linux_unload): Don't use free_pages().
10034 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
10035 wrong index. Treat all other modes as text modes.
10036 (grub_cmd_linux): Initialize vid_mode unconditionally to
10037 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
10038
761319cf 10039 * commands/help.c (print_command_help): Use cmd->prio, not
10040 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
10041
ea761d40 100422009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 10043
ea761d40 10044 Parttool
10045
10046 * parttool/pcpart.c: new file
10047 * commands/parttool.c: likewise
10048 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
10049 (parttool_mod_SOURCES): new variable
10050 (parttool_mod_CFLAGS): likewise
10051 (parttool_mod_LDFLAGS): likewise
10052 (pcpart_mod_SOURCES): likewise
10053 (pcpart_mod_CFLAGS): likewise
10054 (pcpart_mod_LDFLAGS): likewise
7dd4a573 10055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 10056 and parttool/pcpart.c
10057 * conf/i386-efi.rmk: likewise
10058 * conf/i386-ieee1275.rmk: likewise
10059 * conf/i386-pc.rmk: likewise
10060 * conf/powerpc-ieee1275.rmk: likewise
10061 * conf/sparc64-ieee1275.rmk: likewise
10062 * conf/x86_64-ieee1275.rmk: likewise
10063
05aaebfb 100642009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 Support for mtime and further expandability of dir command
10067
10068 * include/grub/lib/datetime.h: moved to ...
7dd4a573 10069 * include/grub/datetime.h: ... moved here and added
05aaebfb 10070 declaration of grub_unixtime2datetime. All users updated
7dd4a573 10071 * include/grub/fs.h: new syntax for dir and mtime functions in
10072 struct grub_fs
05aaebfb 10073 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
10074 and GRUB_FSHELP_FLAGS_MASK
10075 * commands/ls.c (grub_ls_list_files): Write mtime in long format
10076 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
10077 (grub_ext2_mtime): new function
10078 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
10079 (grub_hfsplus_mtime): new function
10080 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
10081 (GRUB_UFS_ATTR_FILE): likewise
10082 (GRUB_UFS_ATTR_LNK): likewise
10083 (struct grub_ufs_sblock): new fields mtime
10084 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
10085 all users updated
10086 (grub_ufs_dir): mtime support
10087 (grub_ufs_mtime): new function
10088 * fs/affs.c (grub_affs_dir): use new dir syntax
10089 * fs/afs.c (grub_afs_dir): likewise
10090 * fs/cpio.c (grub_cpio_dir): likewise
10091 * fs/fat.c (grub_fat_find_dir): likewise
10092 * fs/hfs.c (grub_hfs_dir): likewise
10093 * fs/iso9660.c (grub_iso9660_dir): likewise
10094 * fs/jfs.c (grub_jfs_dir): likewise
10095 * fs/minix.c (grub_minix_dir): likewise
10096 * fs/ntfs.c (grub_ntfs_dir): likewise
10097 * fs/reiserfs.c (grub_reiserfs_dir): likewise
10098 * fs/sfs.c (grub_sfs_dir): likewise
10099 * fs/xfs.c (grub_xfs_dir): likewise
10100 * util/hostfs.c (grub_hostfs_dir): likewise
10101 * lib/datetime.c: moved to ...
10102 * normal/datetime.c: ... moved here
10103 (grub_unixtime2datetime): new function
10104 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 10105 * normal/completion.c (iterate_dir): use new dir syntax
10106 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 10107 last modification time of a volume
7dd4a573 10108 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 10109 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 10110 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 10111 (normal_mod_SOURCES): likewise
10112 (datetime_mod_SOURCES): Removed lib/datetime.c
10113 * conf/i386-efi.rmk: likewise
7dd4a573 10114 * conf/i386-ieee1275.rmk: likewise
05aaebfb 10115 * conf/i386-pc.rmk: likewise
10116 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10117 * conf/sparc64-ieee1275.rmk: likewise
10118 * conf/x86_64-efi.rmk: likewise
05aaebfb 10119
8a7e1a14 101202009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 10123
10124 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 10125 on grub_fat_find_dir
10126 (grub_fat_find_dir): use grub_fat_iterate_dir
10127 (grub_fat_label): likewise
10128
04186a9c 101292009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10130
7dd4a573 10131 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 10132 and command.h
10133 remove extraneous kernel_elf_HEADERS
10134
da4c0bb6 101352009-04-04 Bean <bean123ch@gnail.com>
10136
10137 * include/grub/util/misc.h: Add dummy function fsync for mingw.
10138
10139 * util/misc.c: Likewise.
10140
54ad9555 101412009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
10142
10143 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
10144 instead of grub_printf.
10145
7a6bf9f2 101462009-04-03 Robert Millan <rmh@aybabtu.com>
10147
10148 * loader/i386/linux.c (grub_linux_setup_video): Fill
10149 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
10150 values from `mode info' structure instead of hardcoded
10151 values.
10152
3fcc2083 101532009-04-01 Pavel Roskin <proski@gnu.org>
10154
10155 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
10156 unused now.
10157 * genmk.rb: Likewise.
10158 * configure.ac: Likewise.
10159
5ec9740b 101602009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
10161
10162 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
10163 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
10164
5270cec8 101652009-04-01 David S. Miller <davem@davemloft.net>
10166
10167 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 10168 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 10169 (grub_setjmp): Mark with 'returns_twice' attribute.
10170 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
10171 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
10172 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
10173
9c3dd854 101742009-04-01 Robert Millan <rmh@aybabtu.com>
10175
10176 Reapply fix from 2008-07-28 which was accidentally reverted; also
10177 perform the same fix to a similar check in same function.
10178
10179 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10180 with the same number are found, just use issue a warning with
10181 grub_dprintf(), as this error has been reported to be non-fatal.
10182
0d818b7e 101832009-03-31 Pavel Roskin <proski@gnu.org>
10184
10185 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
10186 for cross-compilation.
10187
95646d92 101882009-03-30 Robert Millan <rmh@aybabtu.com>
10189
10190 Fix i386-ieee1275 build.
10191
10192 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10193 Remove declaration.
10194
6a003ed1 101952009-03-30 Pavel Roskin <proski@gnu.org>
10196
10197 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10198 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10199 zero-terminated, rely only on the strlen value. Fix comparison
10200 of strings differing in length.
10201
92f33540 102022009-03-30 Robert Millan <rmh@aybabtu.com>
10203
10204 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10205 checking for abi version. Improve error messages on BIOS to notify
10206 user about `linux16' command.
10207
a8c48fd5 102082009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10209
f968172e 10210 Leak fixes
a8c48fd5 10211
f968172e 10212 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10213 in case of collision
10214 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 10215
9c323f09 102162009-03-29 Robert Millan <rmh@aybabtu.com>
10217
10218 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10219 set `vid_mode' accordingly.
10220 (grub_linux_boot): Process `vid_mode' and set video mode.
10221
ae68f423 102222009-03-29 Robert Millan <rmh@aybabtu.com>
10223
10224 * util/grub.d/10_linux.in (linux_entry): New function.
10225 Factorize generation of Linux boot entries.
10226
5709cfc4 102272009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10228
10229 Make the format of Environment Block plain text. The boot loader
10230 part is not tested well yet.
7dd4a573 10231
5709cfc4 10232 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10233 (buffer): Removed.
10234 (envblk): Likewise.
10235 (usage): Remove "info" and "clear". Add "unset". Update the
10236 description of "set", as this does not delete variables any
10237 longer.
10238 (create_envblk_file): Complete rewrite.
10239 (open_envblk_file): Likewise.
10240 (cmd_info): Removed.
10241 (cmd_list): Likewise.
10242 (cmd_set): Likewise.
10243 (cmd_clear): Likewise.
10244 (list_variables): New function.
10245 (write_envblk): Likewise.
10246 (set_variables): Likewise.
10247 (unset_variables): Likewise.
10248 (main): Complete rewrite.
10249
10250 * commands/loadenv.c (buffer): Removed.
10251 (envblk): Likewise.
10252 (open_envblk_file): New function.
10253 (read_envblk_file): Complete rewrite.
10254 (grub_cmd_load_env): Likewise.
10255 (grub_cmd_list_env): Likewise.
10256 (struct blocklist): New struct.
10257 (free_blocklists): New function.
10258 (check_blocklists): Likewise.
10259 (write_blocklists): Likewise.
10260 (grub_cmd_save_env): Complete rewrite.
10261
10262 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10263 a plain text signature.
10264 (GRUB_ENVBLK_MAXLEN): Removed.
10265 (struct grub_envblk): Complete rewrite.
10266 (grub_envblk_find): Removed.
10267 (grub_envblk_insert): Likewise.
10268 (grub_envblk_open): New prototype.
10269 (grub_envblk_set): Likewise.
10270 (grub_envblk_delete): Put const to VALUE.
10271 (grub_envblk_iterate): Put const to NAME and VALUE.
10272 (grub_envblk_close): New prototype.
10273 (grub_envblk_buffer): New inline function.
10274 (grub_envblk_size): Likewise.
10275
10276 * lib/envblk.c: Include grub/mm.h.
10277 (grub_env_find): Removed.
10278 (grub_envblk_open): New function.
10279 (grub_envblk_close): Likewise.
10280 (escaped_value_len): Likewise.
10281 (find_next_line): Likewise.
10282 (grub_envblk_insert): Removed.
10283 (grub_envblk_set): New function.
10284 (grub_envblk_delete): Complete rewrite.
10285 (grub_envblk_iterate): Likewise.
10286
a9368fd3 102872009-03-28 Robert Millan <rmh@aybabtu.com>
10288
10289 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10290 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10291 variables. Use 16-bit loader.
10292 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10293 loader.
10294 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10295 (grub_linux16_boot): ... this. Update all users.
10296 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10297 (grub_linux_boot): ... this. Update all users.
10298
10299 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10300 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10301 commands to `linux16' and `initrd16'.
10302 (GRUB_MOD_FINI(linux)): Rename to ...
10303 (GRUB_MOD_FINI(linux16)): ... this.
10304
e4dd5a7e 103052009-03-24 Pavel Roskin <proski@gnu.org>
10306
10307 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10308 not just for compilation.
10309
c04d6e05 103102009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 Move multiboot helper out of kernel
10313
10314 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10315 `loader/i386/multiboot_helper.S'.
10316 * conf/i386-coreboot.rmk: Likewise
10317 * conf/i386-ieee1275.rmk: Likewise
10318
10319 * kern/i386/loader.S: Move multiboot helpers from here...
10320 * loader/i386/multiboot_helper.S: ...moved here
10321 * include/grub/i386/loader.h: Move declarations of multiboot
10322 helpers from here...
10323 * include/grub/i386/multiboot.h: ...moved here
10324 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10325
42a5b3fc 103262009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10327
10328 * kern/env.c (grub_env_context_open): Added an argument to specify
10329 whether a new context inherits exported variables from current
10330 one. This is useful when making a sandbox to interpret a config
10331 file.
10332 All callers updated.
10333
10334 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10335
b28bbc4e 103362009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10337
10338 * kern/env.c (grub_env_context_close): Fix memory leaks.
10339
f04f02e4 103402009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10341
10342 * normal/main.c (grub_normal_execute): Added an argument
10343 BATCH to specify if an interactive interface should be provided
10344 after reading a config file.
10345 All callers updated.
10346 (read_command_list): Prevent being executed twice.
10347 (read_fs_list): Likewise.
10348
42a5b3fc 10349 * include/grub/normal.h (grub_normal_execute): Updated the
10350 prototype.
f04f02e4 10351
41473ac2 103522009-03-22 Pavel Roskin <proski@gno.org>
10353
fbc00b0c 10354 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10355 _start.
10356 * kern/i386/pc/startup.S: Likewise.
10357 * kern/i386/efi/startup.S: Likewise.
10358 * kern/i386/ieee1275/startup.S: Likewise.
10359 * kern/i386/coreboot/startup.S: Likewise.
10360 * kern/x86_64/efi/startup.S: Likewise.
10361
41473ac2 10362 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10363 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10364 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10365
2274cc8f 103662009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10369
10370 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10371 limit detection.
10372 Use vaddr of correct segment for entry_point.
10373
b1b797cb 103742009-03-21 Bean <bean123ch@gmail.com>
10375
10376 * commands/blocklist.c: Add include file <grub/command.h>, remove
10377 <grub/normal.h> and <grub/arg.h>.
10378 (grub_cmd_blocklist): Use the new command interface.
10379 (GRUB_MOD_INIT): Likewise.
10380 (GRUB_MOD_FINI): Likewise.
10381 * commands/boot.c: Likewise.
10382 * commands/cat.c: Likewise.
10383 * commands/cmp.c: Likewise.
10384 * commands/configfile.c: Likewise.
10385 * commands/crc.c: Likewise.
10386 * commands/echo.c: Likewise.
10387 * commands/halt.c: Likewise.
10388 * commands/handler.c: Likewise.
10389 * commands/hdparm.c: Likewise.
10390 * commands/help.c: Likewise.
10391 * commands/hexdump.c: Likewise.
10392 * commands/loadenv.c: Likewise.
10393 * commands/ls.c: Likewise.
10394 * commands/lsmmap.c: Likewise.
10395 * commands/lspci.c: Likewise.
10396 * commands/loadenv.c: Likewise.
10397 * commands/read.c: Likewise.
10398 * commands/reboot.c: Likewise.
10399 * commands/search.c: Likewise.
10400 * commands/sleep.c: Likewise.
10401 * commands/test.c: Likewise.
10402 * commands/usbtest.c: Likewise.
10403 * commands/videotest.c: Likewise.
10404 * commands/i386/cpuid.c: Likewise.
10405 * commands/i386/pc/halt.c: Likewise.
10406 * commands/i386/pc/play.c: Likewise.
10407 * commands/i386/pc/pxecmd.c: Likewise.
10408 * commands/i386/pc/vbeinfo.c: Likewise.
10409 * commands/i386/pc/vbetest.c: Likewise.
10410 * commands/ieee1275/suspend.c: Likewise.
10411 * disk/loopback.c: Likewise.
10412 * font/font_cmd.c: Likewise.
10413 * hello/hello.c: Likewise.
10414 * loader/efi/appleloader.c: Likewise.
10415 * loader/efi/chainloader.c: Likewise.
10416 * loader/i386/bsd.c: Likewise.
10417 * loader/i386/efi/linux.c: Likewise.
10418 * loader/i386/ieee1275/linux.c: Likewise.
10419 * loader/i386/linux.c: Likewise.
10420 * loader/i386/pc/chainloader.c: Likewise.
10421 * loader/i386/pc/linux.c: Likewise.
10422 * loader/powerpc/ieee1275/linux.c: Likewise.
10423 * loader/multiboot_loader.c: Likewise.
10424 * term/gfxterm.c: Likewise.
10425 * term/i386/pc/serial.c: Likewise.
10426 * term/terminfo.c: Likewise.
10427
10428 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10429 * term/i386/pc/vga.c: Likewise.
10430 * video/readers/jpeg.c: Likewise.
10431 * video/readers/png.c: Likewise.
10432 * video/readers/tga.c: Likewise.
10433
10434 * util/grub-fstest (cmd_loopback): Removed.
10435 (cmd_blocklist): Likewise.
10436 (cmd_ls): Likewise.
10437 (grub_register_command): Likewise.
10438 (grub_unregister_command): Likewise.
10439 (execute_command): Use grub_command_find to locate command and execute
10440 it.
10441
10442 * include/grub/efi/chainloader.h: Removed.
10443 * loader/efi/chainloader_normal.c: Likewise.
10444 * loader/i386/bsd_normal.c: Likewise.
10445 * loader/i386/pc/chainloader_normal.c: Likewise.
10446 * loader/i386/pc/multiboot_normal.c: Likewise.
10447 * loader/linux_normal.c: Likewise.
10448 * loader/multiboot_loader_normal.c: Likewise.
10449 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10450
10451 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10452 and grub_register_command_p1.
10453
10454 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10455 kern/command.c, lib/arg.c and commands/extcmd.c.
10456 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10457 (minicmd_mod_SOURCES): New variable.
10458 (minicmd_mod_CFLAGS): Likewise.
10459 (minicmd_mod_LDFLAGS): Likewise.
10460 (extcmd_mod_SOURCES): Likewise.
10461 (extcmd_mod_CFLAGS): Likewise.
10462 (extcmd_mod_LDFLAGS): Likewise.
10463 (boot_mod_SOURCES): Removed.
10464 (boot_mod_CFLAGS): Likewise.
10465 (boot_mod_LDFLAGS): Likewise.
10466
10467 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10468 kern/corecmd.c.
10469 (kernel_img_HEADERS): Add command.h.
10470 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10471 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10472 and lib/arg.c.
10473 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10474 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10475 remove the corresponding normal mode command.
10476 (normal_mod_SOURCES): Remove normal/arg.c.
10477 * conf/i386-coreboot.rmk: Likewise.
10478 * conf/i386-efi.rmk: Likewise.
10479 * conf/i386-ieee1275.rmk: Likewise.
10480 * conf/powerpc-ieee1275.rmk: Likewise.
10481 * conf/x86_64-efi.rmk: Likewise.
10482
10483 * include/grub/arg.h: Move from here ...
10484 * include/grub/lib/arg.h: ... to here.
10485
10486 * normal/arg.c: Move from here ...
10487 * lib/arg.c: ... to here.
10488
10489 * commands/extcmd.c: New file.
10490 * commands/minicmd.c: Likewise.
10491 * include/grub/command.h: Likewise.
10492 * include/grub/extcmd.h: Likewise.
10493 * kern/command.c: Likewise.
10494 * kern/corecmd.c: Likewise.
10495
10496 * kern/list.c (grub_list_iterate): Return int instead of void.
10497 (grub_list_insert): New function.
10498 (grub_prio_list_insert): Likewise.
10499
10500 * kern/rescue.c (grub_rescue_command): Removed.
10501 (grub_rescue_command_list): Likewise.
10502 (grub_rescue_register_command): Likewise.
10503 (grub_rescue_unregister_command): Likewise.
10504 (grub_rescue_cmd_boot): Move to minicmd.c
10505 (grub_rescue_cmd_help): Likewise.
10506 (grub_rescue_cmd_info): Likewise.
10507 (grub_rescue_cmd_boot): Likewise.
10508 (grub_rescue_cmd_testload): Likewise.
10509 (grub_rescue_cmd_dump): Likewise.
10510 (grub_rescue_cmd_rmmod): Likewise.
10511 (grub_rescue_cmd_lsmod): Likewise.
10512 (grub_rescue_cmd_exit): Likewise.
10513 (grub_rescue_print_devices): Moved to corecmd.c.
10514 (grub_rescue_print_files): Likewise.
10515 (grub_rescue_cmd_ls): Likewise.
10516 (grub_rescue_cmd_insmod): Likewise.
10517 (grub_rescue_cmd_set): Likewise.
10518 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10519 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10520 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10521 commands, remove grub_rescue_register_command calls.
b1b797cb 10522
7d074e3c 10523 * normal/command.c (grub_register_command): Removed.
b1b797cb 10524 (grub_unregister_command): Likewise.
10525 (grub_command_find): Likewise.
10526 (grub_iterate_commands): Likewise.
10527 (rescue_command): Likewise.
10528 (export_command): Moved to corecmd.c.
10529 (set_command): Removed.
10530 (unset_command): Likewise.
10531 (insmod_command): Likewise.
10532 (rmmod_command): Likewise.
10533 (lsmod_command): Likewise.
10534 (grub_command_init): Likewise.
10535
10536 * normal/completion.c (iterate_command): Use cmd->prio to check for
10537 active command.
10538 (complete_arguments): Use grub_extcmd_t structure to find options.
10539 (grub_normal_do_completion): Change function grub_iterate_commands to
10540 grub_command_iterate.
10541
10542 * normal/execute.c (grub_script_execute_cmd): No need to parse
10543 argument here.
10544
10545 * normal/main.c (grub_dyncmd_dispatcher): New function.
10546 (read_command_list): Register unload commands as dyncmd.
10547 (grub_cmd_normal): Use new command interface, register rescue,
10548 unregister normal at entry, register normal, unregister rescue at exit.
10549
10550 * include/grub/list.h (grub_list_test_t): New type.
10551 (grub_list_iterate): Return int instead of void.
10552 (grub_list_insert): New function.
10553 (GRUB_AS_NAMED_LIST_P): New macro.
10554 (GRUB_AS_PRIO_LIST): Likewise.
10555 (GRUB_AS_PRIO_LIST_P): Likewise.
10556 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10557 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10558 (grub_prio_list): New structure.
10559 (grub_prio_list_insert): New function.
10560 (grub_prio_list_remove): New inline function.
10561
10562 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10563 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10564 (GRUB_COMMAND_FLAG_MENU): Likewise.
10565 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10566 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10567 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10568 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10569 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10570 (grub_command): Likewise.
10571 (grub_register_command): Likewise.
10572 (grub_command_find): Likewise.
10573 (grub_iterate_commands): Likewise.
10574 (grub_command_init): Likewise.
10575 (grub_arg_parse): Likewise.
10576 (grub_arg_show_help): Likewise.
10577
10578 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10579 (grub_rescue_unregister_command): Likewise.
10580
10581 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10582 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10583 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10584
10585 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10586 grub_rescue_cmd_initrd.
10587 * include/grub/i386/loader.h: Likewise.
10588 * include/grub/x86_64/loader.h: Likewise.
10589
10590 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10591
1f4147aa 105922009-03-21 Bean <bean123ch@gmail.com>
10593
10594 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10595 instead of stat in mingw environment.
10596
10597 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10598
10599 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10600
10601 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10602 AC_CONFIG_LINKS.
10603
2156d5ba 106042009-03-21 Bean <bean123ch@gmail.com>
10605
10606 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10607 out of range error.
10608
177b82ca 106092009-03-18 Michel Dänzer <michel@daenzer.net>
10610
10611 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10612 checking inode flags for EXT4_EXTENTS_FLAG.
10613
14aad807 106142009-03-18 Robert Millan <rmh@aybabtu.com>
10615
10616 * loader/i386/linux.c: Include `<grub/video.h>' and
10617 `<grub/i386/pc/vbe.h>'..
10618 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10619 (grub_linux32_boot): Attempt to configure video settings with
10620 grub_linux_setup_video().
10621 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10622 to avoid grub_console_fini() which would step out of graphical mode
10623 unconditionally.
10624
8cf83a27 106252009-03-14 Robert Millan <rmh@aybabtu.com>
10626
10627 Fix build on powerpc.
10628 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10629
40164e75 106302009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
10633 background image command.
10634
c58bc32a 106352009-03-12 Colin D Bennett <colin@gibibit.com>
10636
10637 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
10638 (grub_gfxterm_putchar): Extract pairs of identical calls to
10639 draw_cursor out of conditional blocks.
10640
5415144a 106412009-03-11 Pavel Roskin <proski@gnu.org>
10642
10643 * fs/hfs.c (grub_hfs_strncasecmp): New function.
10644 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
10645
6394042e 106462009-03-11 Robert Millan <rmh@aybabtu.com>
10647
10648 * loader/i386/multiboot_elfxx.c
10649 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10650
b7b50e5f 106512009-03-11 Felix Zielcke <fzielcke@z-51.de>
10652
10653 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
10654 `kern/handler.c'.
10655
1ca7fc96 106562009-03-11 Robert Millan <rmh@aybabtu.com>
10657
10658 * loader/i386/multiboot.c (code_size): New variable.
10659 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 10660 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 10661 4-byte alignment to MBI and others by increasing
7d074e3c 10662 `boot_loader_name_length' appropriately.
1ca7fc96 10663
10664 * loader/i386/multiboot_elfxx.c
10665 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
10666
a83ea1d2 106672009-03-09 Felix Zielcke <fzielcke@z-51.de>
10668
10669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
10670 `fs/ext2.c'.
10671
aa9f3bff 106722009-03-08 Robert Millan <rmh@aybabtu.com>
10673
10674 Make loader/i386/linux.c usable on i386-pc again.
10675
10676 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
10677 memory to heap.
10678 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
10679 `#error' stanza.
10680
d8b3b60e 106812009-03-07 Bean <bean123ch@gmail.com>
10682
10683 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
10684 allocation.
10685
b362c9e9 106862009-03-06 Robert Millan <rmh@aybabtu.com>
10687
10688 Fix display issue on terminals with screen size other than 80x25
10689 (e.g. gfxterm with resolution higher than 640x480).
10690
10691 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 10692 position relative to the center of the terminal instead of relying
b362c9e9 10693 on a hardcoded offset.
10694
9304eef1 106952009-03-04 Robert Millan <rmh@aybabtu.com>
10696
10697 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
10698 installed.
10699
10700 * Makefile.in (host_kernel): New variable.
10701 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
10702 scripts instead of just the windows one.
10703 * configure.ac: Initialize and AC_SUBST `host_kernel'.
10704
eabc95fb 107052009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 10706
10707 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
10708 `kern/handler.c'.
10709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10711 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
10712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10714 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10715
ceb1223c 107162009-03-04 Felix Zielcke <fzielcke@z-51.de>
10717
10718 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
10719 or if there's no space for the disk label and print the partition number on a
10720 invalid magic.
10721
4910684a 107222009-03-04 Felix Zielcke <fzielcke@z-51.de>
10723
10724 * util/misc.c: Include <time.h>.
10725 (grub_millisleep): New function.
10726
7e9ca17a 107272009-03-04 Bean <bean123ch@gmail.com>
10728
10729 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
10730 another option -mno-red-zone.
10731
10732 * commands/handler.c: Change module description.
10733
10734 * kern/handler.c: Add missing space at the end of description line.
10735
10736 * kern/list.c: Likewise.
10737
f501677c 107382009-03-03 Robert Millan <rmh@aybabtu.com>
10739
10740 Move more components to the relocation area, and fix mbi pointer
10741 handling to use the destination rather than the origin (thanks to
10742 Vladimir Serbinenko for spotting).
10743
10744 * loader/i386/multiboot.c (mbi_dest): New variable.
10745 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
10746 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
10747 relocation area.
10748
9902d047 107492009-03-01 Bean <bean123ch@gmail.com>
10750
50fb7002 10751 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 10752 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
10753 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
10754 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
10755
10756 * loader/i386/efi/linux.c (acpi_guid): New variable.
10757 (acpi_guid): Likewise.
10758 (EBDA_SEG_ADDR): New constant.
10759 (LOW_MEM_ADDR): Likewise.
10760 (FAKE_EBDA_SEG): Likewise.
10761 (fake_bios_data): New function.
10762 (grub_linux_boot): Call fake_bios_data.
10763
71b9f361 107642009-03-01 Bean <bean123ch@gmail.com>
10765
10766 * commands/terminal.c: Removed.
10767
10768 * commands/handler.c: New file.
10769
10770 * include/grub/list.h: Likewise.
10771
10772 * include/grub/handler.h: Likewise.
10773
10774 * kern/list.c: Likewise.
10775
10776 * kern/handler.c: Likewise.
10777
10778 * kern/term.h: Include header file <grub/handler.h>.
10779 (grub_term_input): Move next field to the beginning.
10780 (grub_term_output): Likewise.
10781 (grub_term_input_class): New variable.
10782 (grub_term_output_class): Likewise.
10783 (grub_term_register_input): Changed to inline function.
10784 (grub_term_register_output): Likewise.
10785 (grub_term_unregister_input): Likewise.
10786 (grub_term_unregister_output): Likewise.
10787 (grub_term_set_current_input): Likewise.
10788 (grub_term_set_current_output): Likewise.
10789 (grub_term_get_current_input): Likewise.
10790 (grub_term_get_current_output): Likewise.
10791 (grub_term_iterate_input): Removed.
10792 (grub_term_iterate_output): Likewise.
10793
10794 * kern/term.c (grub_term_list_input): Removed.
10795 (grub_term_list_output): Likewise.
10796 (grub_term_input_class): New variable.
10797 (grub_term_output_class): Likewise.
50fb7002 10798 (grub_cur_term_input): Change variable as macro.
71b9f361 10799 (grub_cur_term_output): Likewise.
10800 (grub_term_register_input): Removed.
10801 (grub_term_register_output): Likewise.
10802 (grub_term_unregister_input): Likewise.
10803 (grub_term_unregister_output): Likewise.
10804 (grub_term_set_current_input): Likewise.
10805 (grub_term_set_current_output): Likewise.
10806 (grub_term_iterate_input): Likewise.
10807 (grub_term_iterate_output): Likewise.
10808 (grub_term_get_current_input): Likewise.
10809 (grub_term_get_current_output): Likewise.
10810
10811 * util/grub-editenv.c: Include header file <grub/handler.h>.
10812 (grub_term_get_current_input): Removed.
10813 (grub_term_get_current_output): Likewise.
10814 (grub_term_input_class): New variable.
50fb7002 10815 (grub_term_output_class): Likewise.
71b9f361 10816
10817 * util/grub-fstest.c (grub_term_get_current_input): Removed.
10818 (grub_term_get_current_output): Likewise.
10819 (grub_term_input_class): New variable.
50fb7002 10820 (grub_term_output_class): Likewise.
71b9f361 10821
10822 * util/grub-probe.c (grub_term_get_current_input): Removed.
10823 (grub_term_get_current_output): Likewise.
10824 (grub_term_input_class): New variable.
50fb7002 10825 (grub_term_output_class): Likewise.
71b9f361 10826
10827 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
10828 (grub_term_get_current_output): Likewise.
10829 (grub_term_input_class): New variable.
50fb7002 10830 (grub_term_output_class): Likewise.
71b9f361 10831
10832 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
10833 (terminal_mod_SOURCES): Likewise.
10834 (terminal_mod_CFLAGS): Likewise.
10835 (terminal_mod_LDFLAGS): Likewise.
10836
10837 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
10838 handler.c.
10839 (kernel_img_SOURCES): Add list.c and handler.c.
10840 (kernel_img_HEADERS): Add list.h and handler.h.
10841
10842 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10843 handler.c.
10844 (kernel_mod_SOURCES): Add list.c and handler.c.
10845 (kernel_mod_HEADERS): Add list.h and handler.h.
10846
10847 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
10848 handler.c.
10849 (kernel_elf_SOURCES): Add list.c and handler.c.
10850 (kernel_elf_HEADERS): Add list.h and handler.h.
10851
10852 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10853 handler.c.
10854 (kernel_elf_SOURCES): Add list.c and handler.c.
10855 (kernel_elf_HEADERS): Add list.h and handler.h.
10856
10857 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
10858 handler.c.
10859 (kernel_mod_SOURCES): Add list.c and handler.c.
10860 (kernel_mod_HEADERS): Add list.h and handler.h.
10861
10862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
10863 handler.c.
10864 (kernel_elf_SOURCES): Add list.c and handler.c.
10865 (kernel_elf_HEADERS): Add list.h and handler.h.
10866
8a31787f 108672009-02-27 Robert Millan <rmh@aybabtu.com>
10868
10869 Factorize elf32 / elf64 code in Multiboot loader. This will
10870 prevent it from getting out of sync again.
10871
10872 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
10873 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
10874 grub_multiboot_load_elf64): Move from here ...
10875 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
10876 grub_multiboot_load_elf): ... to here (new file).
10877
51cd3dfc 108782009-02-27 Robert Millan <rmh@aybabtu.com>
10879
10880 * util/grub.d/10_linux.in: Rename "single-user mode" to
10881 "recovery mode".
10882
6e8c9c3a 108832009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 Don't leak in SCSI code.
10886 * disk/scsi.c (grub_scsi_close): free `scsi'.
10887
4b6bf4f9 108882009-02-27 Robert Millan <rmh@aybabtu.com>
10889
10890 * loader/i386/pc/multiboot.c: Move from here ...
10891 * loader/i386/multiboot.c: ... to here. Update all users.
10892
b9413424 108932009-02-27 Robert Millan <rmh@aybabtu.com>
10894
10895 Patch from Alexandre Bique <bique.alexandre@gmail.com>
10896 * util/i386/pc/grub-setup.c (setup): Fix directory path.
10897
50fb7002 108982009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 10899
10900 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
10901 b-tree.
10902
8cc50345 109032009-02-27 Robert Millan <rmh@aybabtu.com>
10904
10905 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
10906 `0x' qualifier as 0 when base is specified as parameter).
10907
6e09b8b7 109082009-02-24 Bean <bean123ch@gmail.com>
10909
10910 * configure.ac: Check for -mcmodel=large in x86_64 target.
10911
10912 * include/grub/efi/api.h (efi_call_10): New macro.
10913 (efi_wrap_10): New function.
10914
10915 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
10916 (GRUB_PE32_REL_BASED_HIGH): Likewise.
10917 (GRUB_PE32_REL_BASED_LOW): Likewise.
10918 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
10919 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
10920 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
10921 (GRUB_PE32_REL_BASED_SECTION): Likewise.
10922 (GRUB_PE32_REL_BASED_REL): Likewise.
10923 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
10924 (GRUB_PE32_REL_BASED_DIR64): Likewise.
10925 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
10926
10927 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
10928 issue.
10929
10930 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
10931 (efi_wrap_10): New function.
10932
10933 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
10934
10935 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
10936 MB/MBP model (NV chipset).
10937 (devdata_devs): Add devpath_5 to the list.
10938
10939 * load/i386/efi/linux.c (video_base): Remove variable.
10940 (RGB_MASK): New macro.
10941 (RGB_MAGIC): Likewise.
10942 (LINE_MIN): Likewise.
10943 (LINE_MAX): Likewise.
10944 (FBTEST_STEP): Likewise.
10945 (FBTEST_COUNT): Likewise.
10946 (fb_list): New variable.
10947 (grub_find_video_card): Remove function.
10948 (find_framebuf): New function.
10949 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
10950 line length.
10951
10952 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
10953 problem for x86_64.
10954
74b21bee 109552009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
10956
10957 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
10958
10959 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
10960 coding tool name.
10961
a455f472 109622009-02-22 Robert Millan <rmh@aybabtu.com>
10963
10964 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
10965 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
10966 in our relocation, instead of using it directly from heap. Also
10967 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
10968
6374daf3 109692009-02-21 Robert Millan <rmh@aybabtu.com>
10970
10971 Implement USB keyboard support (based on patch by Marco Gerards)
10972
10973 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
10974 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
10975 (usb_keyboard_mod_LDFLAGS): New variables.
10976
10977 * term/usb_keyboard.c: New file.
10978
8fa4ea70 109792009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 Corrected wrong declaration
10982
10983 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
10984
353976ac 109852009-02-14 Christian Franke <franke@computer.org>
10986
10987 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
10988 (grub_lspci_iter): Print class code and programming interface byte.
10989
6aa1169b 109902009-02-14 Christian Franke <franke@computer.org>
10991
10992 * gendistlist.sh: Ignore `.svn' directories.
10993
265372ca 109942009-02-14 Felix Zielcke <fzielcke@z-51.de>
10995
10996 * fs/fat.c: Add 2009 to Copyright line.
10997
9ff516f3 109982009-02-14 Christian Franke <franke@computer.org>
10999
11000 * commands/hdparm.c: New file. Provides `hdparm' command
11001 which sends ATA commands via grub_disk_ata_pass_through ().
11002
11003 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
11004
11005 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
11006 and <grub/cpu/io.h> to include/grub/ata.h.
11007 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
11008 (GRUB_CDROM_SECTOR_SIZE): Remove.
11009 (GRUB_ATA_*): Move to include/grub/ata.h.
11010 (GRUB_ATAPI_*): Likewise.
11011 (enum grub_ata_commands): Likewise.
11012 (enum grub_ata_timeout_milliseconds): Likewise.
11013 (struct grub_ata_device): Likewise.
11014 (grub_ata_regset): Likewise.
11015 (grub_ata_regget): Likewise.
11016 (grub_ata_regset2): Likewise.
11017 (grub_ata_regget2): Likewise.
11018 (grub_ata_check_ready): Likewise.
11019 (grub_ata_wait_not_busy): Remove static, exported in
11020 include/grub/ata.h.
11021 (grub_ata_wait_drq): Likewise.
11022 (grub_ata_pio_read): Likewise.
11023
11024 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
11025 function for hdparm.mod.
11026
11027 * include/grub/ata.h: New file, contains declarations from
11028 disk/ata.c.
11029 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
11030
11031 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
11032 (grub_disk_ata_pass_through): New exported variable.
11033
11034 * kern/disk.c (grub_disk_ata_pass_through): New variable.
11035
772e23da 110362009-02-13 Colin D Bennett <colin@gibibit.com>
11037
11038 Support multiple fallback entries, and provide an API to support
11039 executing default+fallback menu entries. Renamed the `terminal' menu
11040 viewer to `text'.
11041
11042 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
11043 variable declaration.
11044 (grub_menu_execute_callback): New structure declaration.
11045 (grub_menu_execute_callback_t): New typedef.
11046 (grub_menu_execute_with_fallback): New function declaration.
11047 (grub_menu_get_entry): Likewise.
11048 (grub_menu_get_timeout): Likewise.
11049 (grub_menu_set_timeout): Likewise.
11050
11051 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
11052
11053 * normal/menu.c (grub_wait_after_message): Moved to
11054 `normal/menu_text.c'.
11055 (draw_border): Likewise.
11056 (print_message): Likewise.
11057 (print_entry): Likewise.
11058 (print_entries): Likewise.
11059 (grub_menu_init_page): Likewise.
11060 (get_entry_number): Likewise.
11061 (print_timeout): Likewise.
11062 (run_menu): Likewise.
11063 (grub_menu_execute_entry): Likewise.
11064 (show_text_menu): Likewise.
11065 (get_and_remove_first_entry_number): New function.
11066 (grub_menu_execute_with_fallback): Likewise.
11067 (get_entry): Renamed to ...
11068 (grub_menu_get_entry): .. this and made it global.
11069 (get_timeout): Renamed to ...
11070 (grub_menu_get_timeout): ... this and made it global.
11071 (set_timeout): Renamed to ...
11072 (grub_menu_set_timeout): ... this and made it global.
11073 (grub_normal_terminal_menu_viewer): Renamed to ...
11074 (grub_normal_text_menu_viewer): ... this.
11075
11076 * normal/menu_text.c: New file. Extracted text-menu-specific code
11077 from normal/menu.c.
11078
11079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
11080 (normal_mod_SOURCES): Likewise.
11081
11082 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11083 (normal_mod_SOURCES): Likewise.
11084
11085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11086 (normal_mod_SOURCES): Likewise.
11087
11088 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
11089 (normal_mod_SOURCES): Likewise.
11090
11091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11092 (normal_mod_SOURCES): Likewise.
11093
11094 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11095 (normal_mod_SOURCES): Likewise.
11096
11097 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11098 (normal_mod_SOURCES): Likewise.
11099
16ac430e 111002009-02-11 Robert Millan <rmh@aybabtu.com>
11101
11102 * util/grub.d/00_header.in: Update old reference to `font' command.
11103
06ff20fc 111042009-02-10 Felix Zielcke <fzielcke@z-51.de>
11105
11106 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
11107
11108 Based on patch from Javier Martín.
11109
96da9407 111102009-02-09 Felix Zielcke <fzielcke@z-51.de>
11111
11112 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 11113 to avoid false positives with FAT.
96da9407 11114 (grub_fstest_SOURCES): Likewise.
11115 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11116 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11118 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11119 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11120 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11121
6dca6fe4 111222009-02-09 Felix Zielcke <fzielcke@z-51.de>
11123
06ff20fc 11124 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 11125 bpb.version_specific.fat12_or_fat16.fstype and
11126 bpb.version_specific.fat32.fstype.
11127
2550c62f 111282009-02-08 Robert Millan <rmh@aybabtu.com>
11129
be110b30 11130 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 11131
56978920 111322009-02-08 Robert Millan <rmh@aybabtu.com>
11133
11134 * Makefile.in (host_os, host_cpu): New variables.
11135 (target_os): Remove. Update all users.
11136
d64399b5 111372009-02-08 Marco Gerards <marco@gnu.org>
11138
11139 * Makefile.in (enable_grub_emu_usb): New variable.
11140 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
11141 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
11142 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
11143 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
11144 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
11145 `usbtest.mod' and `usbms.mod'.
11146 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
11147 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
11148 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
11149 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
11150 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
11151 variables.
11152
11153 * disk/usbms.c: New file.
11154
11155 * include/grub/usb.h: Likewise.
11156
11157 * include/grub/usbtrans.h: Likewise.
11158
11159 * include/grub/usbdesc.h: Likewise.
11160
11161 * bus/usb/usbtrans.c: Likewise.
11162
11163 * bus/usb/ohci.c: Likewise.
11164
11165 * bus/usb/uhci.c: Likewise.
11166
11167 * bus/usb/usbhub.c: Likewise.
11168
11169 * bus/usb/usb.c: Likewise.
11170
11171 * commands/usbtest.c: Likewise.
11172
11173 * util/usb.c: Likewise.
50fb7002 11174
d64399b5 11175 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
11176
11177 * configure.ac: Test for libusb presence.
50fb7002 11178
d64399b5 11179 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
11180
2b40d6bb 111812009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
11182
11183 * kern/mm.c: Add more comments.
11184
73a4ce81 111852009-02-08 Robert Millan <rmh@aybabtu.com>
11186
11187 Patch from Javier Martín.
11188 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11189 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11190
f821ce59 111912009-02-08 Robert Millan <rmh@aybabtu.com>
11192
11193 * fs/cpio.c: Split tar functionality to ...
11194 * fs/tar.c: ... here (new file). Update all users.
11195
aebfc4b0 111962009-02-07 Robert Millan <rmh@aybabtu.com>
11197
11198 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11199 backward-incompatible features.
11200
11201 Based on patch from Javier Martín, with some adjustments.
11202
50fb7002 112032009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 11204
11205 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11206
0bb5115e 112072009-02-07 Robert Millan <rmh@aybabtu.com>
11208
11209 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11210 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11211 after the RAID stuff.
11212
38a0f8e7 112132009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11214
50fb7002 11215 Fixes problem when running vbetest command as reported by
38a0f8e7 11216 Vladimir Serbinenko <phcoder@gmail.com>.
11217
11218 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11219
3143cc1c 112202009-02-04 Felix Zielcke <fzielcke@z-51.de>
11221
11222 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11223 /dev/md/NpN style mdraid devices.
11224
9cba6fce 112252009-02-03 Felix Zielcke <fzielcke@z-51.de>
11226
11227 * util/unifont2pff.rb: Remove.
11228
e507a2c1 112292009-02-03 Felix Zielcke <fzielcke@z-51.de>
11230
11231 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11232 `#'.
11233
d2c2b4cd 112342009-02-03 Felix Zielcke <fzielcke@z-51.de>
11235
11236 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11237 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11238 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11241 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11243
b4315fb0 112442009-02-02 Christian Franke <franke@computer.org>
11245
11246 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11247
de3aa260 112482009-02-01 Felix Zielcke <fzielcke@z-51.de>
11249
7c3ff286 11250 * INSTALL: Note that we now require at least autoconf 2.59 and
11251 that LZO is optional.
de3aa260 11252
825a182b 112532009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11254
11255 Base on patch on bug #24154 created by Tomas Tintera
11256 <trosos@seznam.cz>.
11257
11258 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11259
a69ef770 112602009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11261
7c3ff286 11262 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 11263 <bero@arklinux.org>.
11264
11265 * normal/parser.y (script_init): Add missing semicolon.
11266
6fa42fa6 112672009-01-31 Colin D Bennett <colin@gibibit.com>
11268
7c3ff286 11269 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 11270 (free_menu_entry_classes): Added.
11271 (grub_normal_menu_addentry): Added class property handling.
11272 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11273 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11274
11275 * normal/menu_viewer.c: New file.
11276
11277 * normal/menu.c (run_menu_entry): Renamed to ...
11278 (grub_menu_execute_entry): ... this and made it as global.
11279 (grub_menu_run): Renamed to ...
11280 (show_text_menu): ... this and made it local.
11281 (show_text_menu): Adapt to new function names.
11282 (grub_normal_terminal_menu_viewer): New global variable.
11283
11284 * include/grub/menu.h: New file.
11285
11286 * include/grub/menu_viewer.h: New file.
11287
11288 * include/grub/normal.h: Added include to grub/menu.h.
11289 (grub_menu_entry): Moved to include/grub/menu.h.
11290 (grub_menu_entry_t): Likewise.
11291 (grub_menu): Likewise.
11292 (grub_menu_t): Likewise.
11293 (grub_normal_terminal_menu_viewer): Added.
11294 (grub_menu_execute_entry): Likewise.
11295 (grub_menu_run): Removed.
11296
11297 * DISTLIST: Added include/grub/menu.h.
11298 Added include/grub/menu_viewer.h.
11299 Added normal/menu_viewer.c.
11300
113012009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11302
11303 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11304 arglist for menutitle arguments.
11305
11306 * normal/main.c (grub_normal_menu_addentry): Likewise.
11307
11308 * normal/parser.y (menuentry): Likewise.
11309
11310 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11311
11312 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11313 (grub_script_create_cmdmenu): Likewise.
11314
11315 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11316
11317 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11318 changes.
11319
11320 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11321
11322 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11323
11324 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11325
11326 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11327
11328 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11329
11330 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11331
56192c23 113322009-01-30 Christian Franke <franke@computer.org>
11333
11334 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11335 in option help text.
11336
d72521b3 113372009-01-27 Pavel Roskin <proski@gnu.org>
11338
11339 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11340
994b5e84 113412009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11342
11343 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11344
11345 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11346
11347 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11348 unregister function.
11349
6a7eab2c 113502009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11351
11352 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11353
11354 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11355
11356 * util/grub-mkfont.c (usage): Fix typo.
11357
11358 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11359
1806b56e 113602009-01-26 Daniel Mierswa <impulze@impulze.org>
11361
3fb18f09 11362 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11363
336e1fb9 11364 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11365
1806b56e 11366 * kern/misc.c (grub_strcasecmp): New function.
11367 (grub_strcasecmp): Use grub_size_t instead of int for length.
11368 Fix return value.
11369 * include/grub/misc.h: Update function prototypes.
11370
580b2a0f 113712009-01-26 Robert Millan <rmh@aybabtu.com>
11372
11373 * configure.ac: Fix cross-compilation check.
ef257b36 11374
d31c24f1 113752009-01-22 Christian Franke <franke@computer.org>
11376
11377 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11378 (precision) digit string. Allow `.format2' without `format1' (width).
11379 Limit input chars for `%s' output to `format2' if specified. This is
11380 compatible with standard printf ().
11381
3138b44c 113822009-01-22 Christian Franke <franke@computer.org>
11383
11384 * disk/ata.c (grub_ata_wait_status): Replace by ...
11385 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11386 other status bits may be invalid while BSY is asserted.
11387 (grub_ata_check_ready): New function.
11388 (grub_ata_cmd): Removed.
11389 (grub_ata_wait_drq): New function.
11390 (grub_ata_strncpy): Remove inline.
11391 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11392 and error check now done by grub_ata_wait_drq ().
11393 (grub_ata_pio_write): Likewise.
11394 (grub_atapi_identify): Set DEV before check for !BSY. Use
11395 grub_ata_wait_drq () to wait for data.
11396 (grub_ata_device_initialize): Add status register check to
11397 detect missing SATA slave devices. Add debug messages.
11398 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11399 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11400 transfer loop by grub_ata_pio_write ().
11401 (grub_ata_identify): Set DEV before check for !BSY. Use
11402 grub_ata_wait_drq () to wait for data.
ef257b36 11403 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11404 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11405 read/write in one loop. Fix invalid command on write. Fix incomplete
11406 command on (size % batch) == 0. Add missing error check after write of
11407 last block. Add debug messages.
11408 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11409
59a64ef6 114102009-01-19 Christian Franke <franke@computer.org>
11411
11412 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11413 (GRUB_ATAPI_IREASON_*): Likewise.
11414 (grub_ata_pio_write): Fix timeout error return.
11415 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11416 (grub_atapi_wait_drq): New function.
11417 (grub_atapi_packet): New parameter `size'.
11418 Use grub_atapi_wait_drq () and direct write instead of
11419 grub_ata_pio_write ().
11420 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11421 reads the number of bytes requested by the device for each DRQ
11422 assertion.
11423 (grub_atapi_write): Remove old implementation, return not
11424 implemented instead.
11425
1cfe20b3 114262009-01-19 Christian Franke <franke@computer.org>
11427
11428 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11429 of 512 to calculate data size.
11430 (grub_scsi_read12): Likewise.
11431 (grub_scsi_write10): Likewise.
11432 (grub_scsi_write12): Likewise.
11433 (grub_scsi_read): Adjust size according to blocksize.
11434 Add checks for invalid blocksize and unaligned transfer.
11435
bee5fe5d 114362009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11437
11438 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11439
ef257b36 11440 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 11441 width glyphs.
11442
3e643f8c 114432009-01-19 Robert Millan <rmh@aybabtu.com>
11444
11445 * config.guess: Update to latest version from config git.
11446 * config.sub: Likewise.
11447
4fa80998 114482009-01-17 Felix Zielcke <fzielcke@z-51.de>
11449
11450 * Makefile.in: Change font compilation to use new grub-mkfont instead
11451 of java version.
11452
11453 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11454 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11455 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11456 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11457 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11458 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11459 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11460 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11461 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11462
7086085b 114632009-01-16 Christian Franke <franke@computer.org>
11464
11465 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11466 (enum grub_ata_timeout_milliseconds): New enum.
11467 (grub_ata_wait_status): Add parameter milliseconds.
11468 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11469 recovery from timed-out commands.
11470 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11471 return grub_errno instead of REG_ERROR.
11472 (grub_ata_pio_write): Add parameter milliseconds.
11473 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11474 Pass milliseconds to grub_ata_wait_status () and
11475 grub_ata_pio_read ().
11476 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11477 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11478 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11479 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11480 It is not suitable for device detection, because DEV bit is ignored,
11481 the command may run too long, and not all devices set the signature
11482 properly.
11483 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11484 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11485 Fix device selection, DEV bit must be set first to address the registers
11486 of the correct device.
11487 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11488 grub_ata_pio_read/write ().
11489 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11490 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11491
4a412913 114922009-01-13 Carles Pina i Estany <carles@pina.cat>
11493
11494 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11495
7795c55e 114962009-01-13 Bean <bean123ch@gmail.com>
d913988c 11497
11498 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11499
7795c55e 115002009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11501
11502 * Makefile.in: (enable_grub_mkfont): New variable.
11503 (freetype_cflags): Likewise.
11504 (freetype_libs): Likewise.
11505
11506 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11507 (grub_mkfont_SOURCES): New variable.
11508 (grub_mkfont_CFLAGS): Likewise.
11509 (grub_mkfont_LDFLAGS): Likewise.
11510
11511 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11512 library if `--enable-grub-mkfont' is requested.
11513 (enable_grub_mkfont): New variable.
11514 (freetype_cflags): Likewise.
11515 (freetype_libs): Likewise.
11516
11517 * util/grub-mkfont.c: New file.
11518
093af1fe 115192009-01-12 Christian Franke <franke@computer.org>
11520
11521 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11522 mode check. Fix setting of compat_use[].
11523
f36cc108 115242009-01-10 Robert Millan <rmh@aybabtu.com>
11525
11526 Update a few copyright years which we forgot to do in 2008 (only for
11527 files whose changes made in 2008 were copyright-significant)
11528
11529 * Makefile.in: Add 2008 to Copyright line.
11530 * disk/ieee1275/ofdisk.c: Likewise.
11531 * disk/efi/efidisk.c: Likewise.
11532 * kern/dl.c: Likewise.
11533 * kern/sparc64/ieee1275/init.c: Likewise.
11534 * kern/mm.c: Likewise.
11535 * kern/efi/mm.c: Likewise.
11536 * boot/i386/pc/boot.S: Likewise.
11537 * genfslist.sh: Likewise.
11538 * fs/iso9660.c: Likewise.
11539 * fs/hfs.c: Likewise.
11540 * fs/jfs.c: Likewise.
11541 * fs/minix.c: Likewise.
11542 * fs/ufs.c: Likewise.
11543 * gensymlist.sh.in: Likewise.
11544 * genkernsyms.sh.in: Likewise.
11545 * include/grub/misc.h: Likewise.
11546 * include/grub/types.h: Likewise.
11547 * include/grub/symbol.h: Likewise.
11548 * include/grub/elf.h: Likewise.
11549 * include/grub/kernel.h: Likewise.
11550 * include/grub/disk.h: Likewise.
11551 * include/grub/dl.h: Likewise.
11552 * include/grub/i386/linux.h: Likewise.
11553 * include/grub/i386/pc/biosdisk.h: Likewise.
11554 * include/grub/efi/api.h: Likewise.
11555 * include/grub/efi/pe32.h: Likewise.
11556 * include/grub/util/misc.h: Likewise.
11557 * normal/execute.c: Likewise.
11558 * normal/arg.c: Likewise.
11559 * normal/completion.c: Likewise.
11560 * normal/lexer.c: Likewise.
11561 * normal/parser.y: Likewise.
11562 * normal/misc.c: Likewise.
11563 * commands/i386/pc/vbeinfo.c: Likewise.
11564 * commands/hexdump.c: Likewise.
11565 * commands/terminal.c: Likewise.
11566 * commands/ls.c: Likewise.
11567 * commands/help.c: Likewise.
11568 * partmap/pc.c: Likewise.
11569 * loader/efi/chainloader.c: Likewise.
11570 * loader/multiboot_loader.c: Likewise.
11571 * loader/i386/pc/multiboot2.c: Likewise.
11572 * term/efi/console.c: Likewise.
11573 * term/i386/pc/serial.c: Likewise.
11574 * util/lvm.c: Likewise.
11575 * util/console.c: Likewise.
11576 * util/i386/efi/grub-mkimage.c: Likewise.
11577 * util/raid.c: Likewise.
11578
7f02114b 115792009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11580
11581 * commands/videotest.c: Removed include to grub/machine/memory.h.
11582
11583 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11584 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11585 (video_mod_SOURCES): Removed.
11586 (video_mod_CFLAGS): Likewise.
11587 (video_mod_LDFLAGS): Likewise.
11588 (gfxterm_mod_SOURCES): Likewise.
11589 (gfxterm_mod_CFLAGS): Likewise.
11590 (gfxterm_mod_LDFLAGS): Likewise.
11591 (videotest_mod_SOURCES): Likewise.
11592 (videotest_mod_CFLAGS): Likewise.
11593 (videotest_mod_LDFLAGS): Likewise.
11594 (bitmap_mod_SOURCES): Likewise.
11595 (bitmap_mod_CFLAGS): Likewise.
11596 (bitmap_mod_LDFLAGS): Likewise.
11597 (tga_mod_SOURCES): Likewise.
11598 (tga_mod_CFLAGS): Likewise.
11599 (tga_mod_LDFLAGS): Likewise.
11600 (jpeg_mod_SOURCES): Likewise.
11601 (jpeg_mod_CFLAGS): Likewise.
11602 (jpeg_mod_LDFLAGS): Likewise.
11603 (png_mod_SOURCES): Likewise.
11604 (png_mod_CFLAGS): Likewise.
11605 (png_mod_LDFLAGS): Likewise.
11606
11607 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11608 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11609 (video_mod_SOURCES): Added.
11610 (video_mod_CFLAGS): Likewise.
11611 (video_mod_LDFLAGS): Likewise.
11612 (videotest_mod_SOURCES): Likewise.
11613 (videotest_mod_CFLAGS): Likewise.
11614 (videotest_mod_LDFLAGS): Likewise.
11615 (bitmap_mod_SOURCES): Likewise.
11616 (bitmap_mod_CFLAGS): Likewise.
11617 (bitmap_mod_LDFLAGS): Likewise.
11618 (tga_mod_SOURCES): Likewise.
11619 (tga_mod_CFLAGS): Likewise.
11620 (tga_mod_LDFLAGS): Likewise.
11621 (jpeg_mod_SOURCES): Likewise.
11622 (jpeg_mod_CFLAGS): Likewise.
11623 (jpeg_mod_LDFLAGS): Likewise.
11624 (png_mod_SOURCES): Likewise.
11625 (png_mod_CFLAGS): Likewise.
11626 (png_mod_LDFLAGS): Likewise.
11627 (gfxterm_mod_SOURCES): Likewise.
11628 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 11629 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 11630
11631 * term/gfxterm.c: Removed include to grub/machine/memory.h,
11632 grub/machine/console.h.
11633
644fff97 116342009-01-04 Jerone Young <jerone@gmail.com>
11635
11636 Make on screen instructions clearer
11637
11638 Based on patch created by Jidanni <jidanni@jidanni.org>
11639
11640 * normal/menu.c: print clearer instructions on the screen
11641
1e901a75 116422009-01-02 Colin D Bennett <colin@gibibit.com>
11643
11644 New font engine.
34c44600 11645
1e901a75 11646 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
11647 build system and fixed gfxterm.c to work with different sized fonts.
11648
11649 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 11650
1e901a75 11651 * configure: Re-generated.
34c44600 11652
1e901a75 11653 * DISTLIST: Removed font/manager.c.
11654 Added font/font.c.
11655 Added font/font_cmd.c.
34c44600 11656
1e901a75 11657 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
11658 compilation.
34c44600 11659
1e901a75 11660 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 11661
11662 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 11663
11664 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 11665
1e901a75 11666 * normal/menu.c: Likewise.
34c44600 11667
1e901a75 11668 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
11669 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 11670
1e901a75 11671 * include/grub/font.h: Replaced with new file.
34c44600 11672
1e901a75 11673 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
11674 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
11675 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
11676 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
11677 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 11678 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 11679 fg_red, fg_green, fg_blue, fg_alpha.
11680 (grub_video_adapter): Removed blit_glyph.
34c44600 11681 (grub_video_blit_glyph): Removed.
11682
1e901a75 11683 * font/manager.c: Removed file.
34c44600 11684
11685 * font/font.c: New file.
11686
1e901a75 11687 * font/font_cmd.c: Likewise.
34c44600 11688
1e901a75 11689 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 11690
1e901a75 11691 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
11692 (grub_video_vbe_map_rgba): Likewise.
11693 (grub_video_vbe_unmap_color_int): Likewise.
11694 (grub_video_vbe_blit_glyph): Removed.
11695 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 11696
1e901a75 11697 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
11698 (get_pixel): Likewise.
34c44600 11699 (set_pixel): Likewise.
11700
1e901a75 11701 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 11702
1e901a75 11703 * term/gfxterm.c: Adapted to new font engine.
34c44600 11704
1e901a75 11705 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 11706
1e901a75 11707 * term/i386/pc/vga.c: Likewise.
34c44600 11708
1e901a75 11709 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 11710
1e901a75 11711 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 11712
1e901a75 11713 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11714
1e901a75 11715 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 11716
1e901a75 11717 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 11718
1e901a75 11719 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 11720
1e901a75 11721 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 11722
1e901a75 11723 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 11724
1e901a75 11725 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11726
11727 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 11728
1e901a75 11729 * util/grub-mkconfig_lib.in: Changed font extension.
11730
278922e8 117312008-12-28 Felix Zielcke <fzielcke@z-51.de>
11732
11733 * util/getroot.c (grub_util_get_grub_dev): Add support for
11734 /dev/md/dNNpNN style partitionable mdraid devices.
11735
3ced05cf 117362008-12-12 Alex Smith <alex@alex-smith.me.uk>
11737
11738 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
11739 at a time limit of the PXE TFTP API correctly.
11740 (grub_pxefs_close): Likewise.
11741
7fd0ee30 117422008-11-29 Robert Millan <rmh@aybabtu.com>
11743
34c44600 11744 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 11745 grub_ata_device_initialize() calls.
11746
34c44600 117472008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 11748
11749 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
11750 iteration failed.
11751 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
11752
89313780 117532008-11-28 Robert Millan <rmh@aybabtu.com>
11754
11755 Fix build on powerpc-ieee1275. Based on patch created by
11756 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
11757 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
11758 `kern/ieee1275/mmap.c'.
11759 * include/grub/powerpc/ieee1275/memory.h: New file.
11760
15257703 11761 Provide grub-install on coreboot.
11762 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
11763 (grub_install_SOURCES): New variable.
11764 * util/i386/pc/grub-install.in: Add a few condition checks to make it
11765 usable on coreboot.
11766
9fc5388a 117672008-11-25 Felix Zielcke <fzielcke@z-51.de>
11768
11769 * util/grub-fstest.c (grub_term_get_current_input): Change return type
11770 to `grub_term_input_t'.
11771 (grub_term_get_current_output): Change return type to
11772 `grub_term_output_t'.
11773
bc3a2f31 117742008-11-22 Robert Millan <rmh@aybabtu.com>
11775
34c44600 11776 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 11777 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
11778 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
11779 grub_vga_text_cls().
11780
80fc88f2 11781 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 11782 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 11783
cbf36fd3 11784 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
11785 to 0x200000 (avoids trouble with some OFW implementations, and matches
11786 with the one in Yaboot).
11787 Reported by Manoel Abranches
11788
73e8e268 117892008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 11790
11791 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
11792 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
11793
73e8e268 11794 * util/grub-mkconfig_lib.in (grub_warn): New function.
11795 (convert_system_path_to_grub_path): Use grub_warn() when issuing
11796 warnings, to obtain consistent formatting.
11797 * util/grub.d/00_header.in: Likewise.
11798 * util/update-grub_lib.in: Likewise.
11799
e94045a1 11800 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 11801 Move comment text to `#error' stanza.
e94045a1 11802
79d29fd7 11803 Harmonize ieee1275's grub_available_iterate() with the generic
11804 grub_machine_mmap_iterate() interface (fixes a recently-introduced
11805 build problem on i386-ieee1275):
11806 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
11807 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
11808 parameter `type'. Update all users of this function.
11809 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
11810 `kern/ieee1275/mmap.c'.
11811 * kern/ieee1275/init.c
11812 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
11813 with ...
11814 (grub_machine_mmap_iterate): ... this.
11815 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
11816 return type to `grub_err_t'. Update all implementations of this
11817 function prototype.
11818 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
11819 Likewise.
11820
60d6b16e 11821 Add `lsmmap' command (lists firmware-provided memory map):
11822 * commands/lsmmap.c: New file.
11823 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
11824 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
11825 variables.
11826 * conf/powerpc-ieee1275.rmk: Likewise.
11827 * conf/i386-coreboot.rmk: Likewise.
11828 * conf/i386-ieee1275.rmk: Likewise.
11829
ebaaf49b 118302008-11-19 Robert Millan <rmh@aybabtu.com>
11831
11832 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 11833 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
11834 constraints to initrd allocation (based on code from
11835 loader/i386/pc/linux.c). Without them, initrd was allocated too high
11836 for Linux to find it.
ebaaf49b 11837
dfab719f 118382008-11-14 Robert Millan <rmh@aybabtu.com>
11839
11840 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
11841 order to cope with duplicate slashes.
11842
10fc3eb9 118432008-11-14 Robert Millan <rmh@aybabtu.com>
11844
11845 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
11846 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
11847 don't want to mess with lower memory, because it is used in the Linux
11848 loader.
11849
11850 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 11851 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 11852 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
11853 is in our heap (probably as a result of it being corrupted during
2f2a3442 11854 decompression). Add #error instance with comment to explain why this
11855 loader isn't currently usable on PC/BIOS.
10fc3eb9 11856
e2e07847 118572008-11-14 Robert Millan <rmh@aybabtu.com>
11858
11859 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 11860 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 11861
fe8e8d69 118622008-11-12 Robert Millan <rmh@aybabtu.com>
11863
11864 Make loader/i386/linux.c buildable on i386-pc (although disabled).
11865
11866 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
11867 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
11868 from here ...
11869 * include/grub/i386/pc/memory.h: ... to here.
11870
976b07d0 118712008-11-12 Robert Millan <rmh@aybabtu.com>
11872
11873 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
11874 split).
11875
11876 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
11877 (grub_console_cur_color, grub_console_real_putchar)
11878 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11879 (grub_console_setcolorstate, grub_console_setcolor)
11880 (grub_console_getcolor): Move from here ...
11881 * include/grub/i386/vga_common.h: ... to here (new file).
11882
11883 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
11884 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
11885 `<grub/i386/io.h>'.
11886 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
11887 `<grub/i386/vga_common.h>'.
11888
76679cd3 118892008-11-12 Robert Millan <rmh@aybabtu.com>
11890
11891 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
11892 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
11893 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
11894 variables.
11895 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11896 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
11897
11898 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
11899 grub_console_init() with call to grub_vga_text_init().
11900 (grub_machine_fini): Replace call to
11901 grub_console_fini() with call to grub_vga_text_fini() and
11902 grub_at_keyboard_fini().
11903
11904 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
11905 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
11906 (grub_console_setcolorstate, grub_console_setcolor)
11907 (grub_console_getcolor): New function prototypes.
11908
11909 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
11910 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
11911 (grub_vga_text_setcursor): Static-ize.
11912 (grub_vga_text_term): New structure.
11913 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
11914
11915 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
11916 (grub_console_cur_color, grub_console_standard_color)
11917 (grub_console_normal_color, grub_console_highlight_color)
11918 (map_char, grub_console_putchar, grub_console_getcharwidth)
11919 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
11920 (grub_console_getcolor): Move from here ...
11921 * term/i386/vga_common.c: ... to here (same function names).
11922
95b841d3 119232008-11-12 Robert Millan <rmh@aybabtu.com>
11924
11925 Use newly-added Multiboot support in coreboot.
11926
11927 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
11928 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
11929
11930 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
11931 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
11932 (codestart): Store the MBI in `startup_multiboot_info' when we're
11933 being loaded using Multiboot.
11934
11935 * kern/i386/coreboot/init.c (grub_machine_init): Move
11936 grub_at_keyboard_init() call to beginning of function (useful for
11937 debugging). Call grub_machine_mmap_init() before attempting to use
11938 grub_machine_mmap_iterate().
11939 (grub_lower_mem, grub_upper_mem): Move from here ...
11940 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
11941 here (new file).
11942
11943 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
11944 function prototype.
11945
761ca975 119462008-11-12 Robert Millan <rmh@aybabtu.com>
11947
11948 Fix a regression introduced by the at_keyboard.mod split. Because
11949 some terminals are default on some platforms and non-default on
11950 others, the first terminal being registered determines which is
11951 going to be default.
11952
11953 * kern/term.c (grub_term_register_input): If this is the first
11954 terminal being registered, set it as the current one.
11955 (grub_term_register_output): Likewise.
11956
11957 * term/efi/console.c (grub_console_init): Do not call
11958 grub_term_set_current_output() or grub_term_set_current_input().
11959 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
11960 * term/i386/pc/console.c (grub_console_init): Likewise.
11961 (grub_console_fini): Do not call grub_term_set_current_input()
11962 (but leave grub_term_set_current_output() to restore text mode).
11963
6c529df7 119642008-11-10 Robert Millan <rmh@aybabtu.com>
11965
11966 * util/grub.d/00_header.in: Add backward compatibility check for
11967 versions of terminal.mod that don't understand `terminal_input' or
11968 `terminal_output'.
11969
132e4113 119702008-11-09 Robert Millan <rmh@aybabtu.com>
11971
11972 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
11973 `terminal_input' / `terminal_output', not `terminal'.
11974
ac293d50 119752008-11-08 Robert Millan <rmh@aybabtu.com>
11976
11977 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 11978 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 11979
0025933a 119802008-11-08 Robert Millan <rmh@aybabtu.com>
11981
11982 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 11983 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 11984 members. Update all users.
11985 * util/console.c (grub_ncurses_term): Split in ...
11986 (grub_ncurses_term_input): ... this, and ...
11987 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 11988 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 11989
37c86336 119902008-11-08 Robert Millan <rmh@aybabtu.com>
11991
11992 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
11993 (PKGDATA): Add $(pkgdata_SRCDIR).
11994 (pkglib_BUILDDIR): New variable.
11995 (pkgdata_SRCDIR): New variable.
11996 (build_env.mk): New target.
11997 (include_DATA): New variable.
11998 (install-local): Install $(include_DATA) files in $(includedir).
11999
b6c15a2d 120002008-11-07 Pavel Roskin <proski@gnu.org>
12001
d99d46f1 12002 * gendistlist.sh: Use C locale for sorting to ensure consistent
12003 output on all systems.
12004
b6c15a2d 12005 * util/grub.d/00_header.in: Remove incorrect space before
12006 "serial".
12007
c32ee8c9 120082008-11-07 Robert Millan <rmh@aybabtu.com>
12009
12010 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
12011 per specification.
12012 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
12013 * loader/multiboot_loader.c (find_multi_boot2_header): New function
12014 (based on find_multi_boot1_header).
12015 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
12016 using find_multi_boot2_header(), and abort if neither Multiboot or
12017 Multiboot headers were found.
12018
651c29b7 120192008-11-07 Robert Millan <rmh@aybabtu.com>
12020
12021 Modularize at_keyboard.mod:
12022
12023 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
12024 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
12025 (at_keyboard_mod_LDFLAGS): New variables.
12026
12027 Actual terminal split:
12028
12029 * include/grub/term.h (struct grub_term): Split in ...
12030 (struct grub_term_input): ... this, and ...
12031 (struct grub_term_output): ... this. Update all users.
12032 (grub_term_set_current): Split in ...
12033 (grub_term_set_current_input): ... this, and ...
12034 (grub_term_set_current_output): ... this.
12035 (grub_term_get_current): Split in ...
12036 (grub_term_get_current_input): ... this, and ...
12037 (grub_term_get_current_output): ... this.
12038 (grub_term_register): Split in ...
12039 (grub_term_register_input): ... this, and ...
12040 (grub_term_register_output): ... this.
12041 (grub_term_unregister): Split in ...
12042 (grub_term_unregister_input): ... this, and ...
12043 (grub_term_unregister_output): ... this.
12044 (grub_term_iterate): Split in ...
12045 (grub_term_iterate_input): ... this, and ...
12046 (grub_term_iterate_output): ... this.
12047
12048 * kern/term.c (grub_term_list): Split in ...
12049 (grub_term_list_input): ... this, and ...
12050 (grub_term_list_output): ... this. Update all users.
12051 (grub_cur_term): Split in ...
12052 (grub_cur_term_input): ... this, and ...
12053 (grub_cur_term_output): ... this. Update all users.
12054 (grub_term_set_current): Split in ...
12055 (grub_term_set_current_input): ... this, and ...
12056 (grub_term_set_current_output): ... this.
12057 (grub_term_get_current): Split in ...
12058 (grub_term_get_current_input): ... this, and ...
12059 (grub_term_get_current_output): ... this.
12060 (grub_term_register): Split in ...
12061 (grub_term_register_input): ... this, and ...
12062 (grub_term_register_output): ... this.
12063 (grub_term_unregister): Split in ...
12064 (grub_term_unregister_input): ... this, and ...
12065 (grub_term_unregister_output): ... this.
12066 (grub_term_iterate): Split in ...
12067 (grub_term_iterate_input): ... this, and ...
12068 (grub_term_iterate_output): ... this.
12069
12070 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
12071 a check for input and one for output (and only attempt to get keys
12072 from user when input works).
12073
12074 * util/grub-probe.c (grub_term_get_current): Split in ...
12075 (grub_term_get_current_input): ... this, and ...
12076 (grub_term_get_current_output): ... this.
12077 * util/grub-fstest.c: Likewise.
12078 * util/i386/pc/grub-setup.c: Likewise.
12079 * util/grub-editenv.c: Likewise.
12080
12081 Portability adjustments:
12082
12083 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
12084 `term/i386/pc/at_keyboard.c'.
12085 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
12086 grub_keyboard_controller_init() (now handled by terminal .init).
12087 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
12088 grub_at_keyboard_init().
12089 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
12090 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
12091 at_keyboard.mod via input terminal interface).
12092 * include/grub/i386/coreboot/console.h: Convert into a stub for
12093 `<grub/i386/pc/console.h>'.
12094
12095 Migrate full terminals to new API:
12096
12097 * term/efi/console.c (grub_console_term): Split into ...
12098 (grub_console_term_input): ... this, and ...
12099 (grub_console_term_output): ... this. Update all users.
12100 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
12101 (grub_ofconsole_init): Split into ...
12102 (grub_ofconsole_init_input): ... this, and ...
12103 (grub_ofconsole_init_output): ... this.
12104 (grub_ofconsole_term): Split into ...
12105 (grub_ofconsole_term_input): ... this, and ...
12106 (grub_ofconsole_term_output): ... this. Update all users.
12107 * term/i386/pc/serial.c (grub_serial_term): Split into ...
12108 (grub_serial_term_input): ... this, and ...
12109 (grub_serial_term_output): ... this. Update all users.
12110 * term/i386/pc/console.c (grub_console_term): Split into ...
12111 (grub_console_term_input): ... this, and ...
12112 (grub_console_term_output): ... this. Update all users.
12113 (grub_console_term_input): Only enable it on PC/BIOS platform.
12114 (grub_console_init): Remove grub_keyboard_controller_init() call.
12115
12116 Migrate input terminals to new API:
12117
12118 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
12119 `i386' and `i386/pc' to enable build on x86_64 (this driver is
12120 i386-specific anyway).
12121 (grub_console_checkkey): Rename to ...
12122 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
12123 users.
12124 (grub_keyboard_controller_orig): New variable.
12125 (grub_console_getkey): Rename to ...
12126 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
12127 users.
12128 (grub_keyboard_controller_init): Static-ize. Save original
12129 controller value so that it can be restored ...
12130 (grub_keyboard_controller_fini): ... here (new function).
12131 (grub_at_keyboard_term): New structure.
12132 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
12133 functions.
12134
12135 Migrate output terminals to new API:
12136
12137 * term/i386/pc/vga.c (grub_vga_term): Change type to
12138 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12139 members. Update all users.
12140 * term/gfxterm.c (grub_video_term): Change type to
12141 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12142 members. Update all users.
12143 * include/grub/i386/pc/console.h (grub_console_checkkey)
12144 (grub_console_getkey): Do not export (no longer needed by gfxterm,
12145 etc).
12146
12147 Migrate `terminal' command and userland tools to new API:
12148
12149 * commands/terminal.c (grub_cmd_terminal): Split into ...
12150 (grub_cmd_terminal_input): ... this, and ...
12151 (grub_cmd_terminal_output): ... this.
12152 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
12153 `terminal_input' and `terminal_output'.
12154 * util/grub.d/00_header.in: Adjust `terminal' calls to new
12155 `terminal_input' / `terminal_output' API.
12156 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
12157 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
12158 provided ${GRUB_TERMINAL}, convert it).
12159
96e5d876 121602008-11-04 Robert Millan <rmh@aybabtu.com>
12161
12162 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
12163 for FreeBSD.
12164 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
12165
556f3775 121662008-11-03 Bean <bean123ch@gmail.com>
12167
12168 * kern/elf.c (grub_elf32_load): Revert to previous code.
12169 (grub_elf64_load): Likewise.
12170
12171 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
12172
926b9823 121732008-11-01 Robert Millan <rmh@aybabtu.com>
12174
12175 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
12176 (TARGET_CPPFLAGS): Likewise.
12177 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
12178
1432e958 121792008-11-01 Carles Pina i Estany <carles@pina.cat>
12180
12181 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
12182
dba3f844 121832008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 12184
12185 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
12186 addition of objects until the code is not going to be able to fail.
12187
dba3f844 121882008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 12189
12190 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12191 (add a missing NULL check, and correct them by moving the pointer
12192 operations after the actual check).
12193
7ab28c21 121942008-10-29 Robert Millan <rmh@aybabtu.com>
12195
12196 * util/i386/pc/grub-install.in: Handle empty string as output from
12197 make_system_path_relative_to_its_root().
12198
1b7748eb 121992008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12200
12201 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12202 circular metadata worst case scenario. If the metadata is circular
12203 then copy the wrap in place.
12204 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12205 project lib/format_text/layout.h
12206 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12207
c9618ab2 122082008-10-03 Felix Zielcke <fzielcke@z-51.de>
12209
7a36edca 12210 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 12211
bf981c62 122122008-10-03 Felix Zielcke <fzielcke@z-51.de>
12213
12214 * util/update-grub_lib.in: Mention filename in warning message.
12215
6d994591 122162008-09-29 Felix Zielcke <fzielcke@z-51.de>
12217
12218 * NEWS: Update for rename of update-grub to grub-mkconfig.
12219
18ade780 122202008-09-29 Felix Zielcke <fzielcke@z-51.de>
12221
12222 * util/update-grub_lib.in: Copy to ...
12223 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 12224 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 12225 * util/update-grub.in: Rename to ...
12226 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12227 option. Add `--output' option to allow users to specify the generated
12228 configuration file. Default to stdout.
12229 (update_grub_dir): Rename to ...
12230 (grub_mkconfig_dir): ... this.
12231 (grub_cfg): Default to an empty string.
12232 * conf/common.rmk (update-grub): Rename to ...
12233 (grub-mkconfig): ... this.
12234 (update-grub_lib): Copy to ...
12235 (grub-mkconfig_lib): ... this.
12236 (update-grub_SCRIPTS): Copy to ...
12237 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12238 (update-grub_DATA): Rename to ...
12239 (grub-mkconfig_DATA): ... this.
12240
556ce6ac 122412008-09-28 Robert Millan <rmh@aybabtu.com>
12242
12243 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12244 to `modified'. Add the real `created' field.
12245 (grub_iso9660_uuid): Use `modified' rather than `created' for
12246 constructing the UUID.
12247
122482008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 12249
12250 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12251 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12252
92274e85 122532008-09-28 Bean <bean123ch@gmail.com>
12254
12255 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12256 Thanks to Christian Franke for finding this bug.
12257
add6f17a 122582008-09-25 Robert Millan <rmh@aybabtu.com>
12259
12260 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12261 instances of grub_util_get_disk_name() (see previous commit).
12262
d2a367b8 122632008-09-25 Robert Millan <rmh@aybabtu.com>
12264
12265 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12266 `util/i386/get_disk_name.c'.
12267 * conf/i386-efi.rmk: Likewise.
12268 * conf/x86_64-efi.rmk: Likewise.
12269 * conf/i386-coreboot.rmk: Likewise.
12270 * conf/i386-ieee1275.rmk: Likewise.
12271 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12272 `util/ieee1275/get_disk_name.c'.
12273 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12274 * util/ieee1275/get_disk_name.c: Remove file.
12275 * util/i386/get_disk_name.c: Remove file.
12276 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12277 "hd%d" for device.map entries, rather than using
12278 grub_util_get_disk_name().
12279
81a06771 122802008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 12281
12282 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12283 warning.
12284 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12285
5a004279 122862008-09-24 Carles Pina i Estany <carles@pina.cat>
12287
12288 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12289 Changed to 0x5100.
12290 (GRUB_TERM_PPAGE): Changed to 0x4900.
12291
397093d3 122922008-09-24 Robert Millan <rmh@aybabtu.com>
12293
12294 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12295 macros (they were i386-pc specific).
12296 * include/grub/sparc64/ieee1275/console.h: Likewise.
12297 * include/grub/efi/console.h: Likewise.
12298
a91b6c7c 122992008-09-22 Bean <bean123ch@gmail.com>
12300
12301 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12302 resident and in attribute list.
12303
12304 * include/grub/ntfs.h (BMP_LEN): Removed.
12305
c40fd116 123062008-09-22 Bean <bean123ch@gmail.com>
12307
81a06771 12308 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 12309 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12310
12311 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12312 error occurs, as grub_disk_open will call grub_disk_close, which will
12313 call p->close (scsi).
12314
81a06771 123152008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12316
12317 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12318 (AC_PREREQ): Bumped to 2.59.
12319 (AC_TRY_COMPILE): Replace obsolete macro with ...
12320 (AC_COMPILE_IFELSE): ... this.
12321 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12322 (AC_LINK_IFELSE): ... this.
12323
5dc43410 123242008-09-21 Felix Zielcke <fzielcke@z-51.de>
12325
12326 * autogen.sh: Add a call to `gendistlist.sh'.
12327
9035dce4 123282008-09-19 Christian Franke <franke@computer.org>
12329
12330 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12331 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12332 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12333 Export __enable_execute_stack() to modules.
12334 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12335 New function.
12336
7fd75377 123372008-09-09 Felix Zielcke <fzielcke@z-51.de>
12338
040030b3 12339 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12340 Sort the list.
12341
123422008-09-09 Felix Zielcke <fzielcke@z-51.de>
12343
12344 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12345 #include <grub/util/hostdisk.h>.
12346
89d5ffcf 123472008-09-08 Robert Millan <rmh@aybabtu.com>
12348
12349 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12350 segments when their filesz is zero (grub_file_read() interprets
81a06771 12351 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12352 Use `lowest_segment' rather than 0 for calculating the current
12353 segment load address.
12354
40da438f 123552008-09-08 Robert Millan <rmh@aybabtu.com>
12356
12357 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12358 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12359 clobbered useful information.
12360
ddbf5556 123612008-09-08 Robert Millan <rmh@aybabtu.com>
12362
12363 * include/grub/util/biosdisk.h: Move to ...
12364 * include/grub/util/hostdisk.h: ... here. Update all users.
12365 * util/biosdisk.c: Move to ...
12366 * util/hostdisk.c: ... here. Update all users.
12367
783d0f48 123682008-09-07 Robert Millan <rmh@aybabtu.com>
12369
12370 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12371 variables.
12372 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12373 and length can be stored directly in the `mbi->mmap_addr' and
12374 `mbi->mmap_length' struct fields.
12375
548e2ea5 123762008-09-07 Robert Millan <rmh@aybabtu.com>
12377
12378 * conf/i386.rmk: New file. Provides declaration for building
12379 `cpuid.mod'.
12380 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12381 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12382 variables.
12383 Include `conf/i386.mk'.
12384 * conf/i386-efi.rmk: Likewise.
12385 * conf/x86_64-efi.rmk: Likewise.
12386 * conf/i386-coreboot.rmk: Likewise.
12387 * conf/i386-ieee1275.rmk: Likewise.
12388
0ea85a37 123892008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12390
12391 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12392 Adds optimization support for BGR based modes.
12393
12394 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12395 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12396 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12397 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12398 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12399 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12400 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12401 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12402 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12403 (grub_video_i386_vbeblit_index_index): Likewise.
12404 (grub_video_i386_vbeblit_replace_directN): Added.
12405 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12406 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12407 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12408 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12409 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12410 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12411 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12412 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12413 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12414 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12415 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12416 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12417 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12418
12419 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12420 (grub_video_i386_vbefill_R8G8B8): Likewise.
12421 (grub_video_i386_vbefill_index): Likewise.
12422 (grub_video_i386_vbefill_direct32): Added.
12423 (grub_video_i386_vbefill_direct24): Likewise.
12424 (grub_video_i386_vbefill_direct16): Likewise.
12425 (grub_video_i386_vbefill_direct8): Likewise.
12426
81a06771 12427 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 12428 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12429 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12430 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12431 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12432 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 12433
0ea85a37 12434 * video/video.c (grub_video_get_blit_format): Updated to use new
12435 blit formats. Added handling for 16 bit color modes.
81a06771 12436
12437 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 12438 fillers.
12439 (common_blitter): Updated to use new blitters.
12440
12441 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12442 Removed.
12443 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12444 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12445 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12446 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12447 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12448 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12449 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12450 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12451 (grub_video_i386_vbeblit_index_index): Likewise.
12452 (grub_video_i386_vbeblit_replace_directN): Added.
12453 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12454 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12455 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12456 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12457 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12458 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12459 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12460 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12461 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12462 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12463 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12464 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12465 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12466
0ea85a37 12467 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12468 (grub_video_i386_vbefill_R8G8B8): Likewise.
12469 (grub_video_i386_vbefill_index): Likewise.
12470 (grub_video_i386_vbefill_direct32): Added.
12471 (grub_video_i386_vbefill_direct24): Likewise.
12472 (grub_video_i386_vbefill_direct16): Likewise.
12473 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12474
0ea85a37 12475 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12476 types.
81a06771 12477
0ea85a37 12478 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12479 types.
81a06771 12480
0ea85a37 12481 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12482 blitter types.
81a06771 12483
0ea85a37 12484 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12485 types.
12486
e8a83df6 124872008-09-06 Felix Zielcke <fzielcke@z-51.de>
12488
12489 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12490 RAID level 1.
12491
6bcd8ee5 124922008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12493
6bcd8ee5 12494 * fs/iso9660.c (grub_iso9660_date): New structure.
12495 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12496 (grub_iso9660_uuid): New function.
c375ae58 12497
59261157 124982008-09-05 Bean <bean123ch@gmail.com>
12499
12500 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12501
12502 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12503 insensitive bit for names in Win32 and Win32 & DOS namespace.
12504
12505 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12506
12507 * include/grub/types.h (LONG_MAX): Likewise.
12508
58b6645a 125092008-09-04 Felix Zielcke <fzielcke@z-51.de>
12510
4ee55921 12511 * util/getroot.c: Include <config.h>.
12512 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12513 add support for /dev/md/N devices and handle LVM double dash escaping.
12514
125152008-09-04 Felix Zielcke <fzielcke@z-51.de>
12516
12517 * config.guess: Update to latest version from config git.
12518 * config.sub: Likewise.
58b6645a 12519
9124f65d 125202008-09-03 Robert Millan <rmh@aybabtu.com>
12521
12522 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12523 `disk->total_sectors'.
12524
81a06771 125252008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12526
12527 * include/grub/normal.h: Fixed incorrect comment for
12528 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12529
81a06771 125302008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12531
12532 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12533 values with defines.
12534
12535 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12536 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12537 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12538 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12539 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12540 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12541 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12542 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12543 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12544 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12545 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12546 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12547 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12548 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12549 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12550 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12551 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12552 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12553 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12554
93d5cbf8 125552008-08-31 Robert Millan <rmh@aybabtu.com>
12556
12557 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12558 declaration.
12559 (grub_multiboot): Fix a few warnings.
12560
21751d50 125612008-08-31 Robert Millan <rmh@aybabtu.com>
12562
12563 * loader/i386/pc/multiboot.c: Update comment not to say that
12564 boot_device support is unimplemented.
12565
e27a75c5 125662008-08-31 Robert Millan <rmh@aybabtu.com>
12567
12568 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12569 or memory map support are unimplemented.
12570
81a06771 125712008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12572
12573 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12574
81a06771 125752008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12576
12577 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12578 total video memory in 'vbeinfo' output; show color format details for
12579 each video mode.
12580
7c5d8d95 125812008-08-30 Pavel Roskin <proski@gnu.org>
12582
12583 * util/genmoddep.c: Remove for real this time.
12584 * DISTLIST: Remove util/genmoddep.c.
12585
4cebd25a 125862008-08-30 Robert Millan <rmh@aybabtu.com>
12587
12588 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12589 as required by Multiboot spec (it was already 4-byte aligned, but
12590 only by chance).
12591
b497a269 125922008-08-29 Pavel Roskin <proski@gnu.org>
12593
e3925185 12594 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12595 * kern/powerpc/ieee1275/startup.S: ... this.
12596 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12597 * DISTLIST: Likewise.
12598
b497a269 12599 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12600 grub/cpu/kernel.h. Add start label for consistency with other
12601 platforms. Add grub_prefix immediately after start. Add jump
12602 to the code after grub_prefix.
12603 * include/grub/powerpc/kernel.h: Provide valid values for
12604 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12605
6e5a42fe 126062008-08-29 Bean <bean123ch@gmail.com>
12607
12608 * configure.ac: Change host_os to cygwin for mingw.
12609 (asprintf): New check for function.
12610
12611 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12612 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12613
12614 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 12615 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 12616 sync, sleep and grub_util_get_disk_size for mingw.
12617
12618 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12619 to get size in mingw.
12620 (open_device): Use flag O_BINARY if it's defined.
12621 (find_root_device): Add dummy code for mingw.
12622
12623 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12624 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12625 (get_scsi_disk_name): Return 0 for mingw.
12626
12627 * util/hostfs.c: #include <grub/util/misc.h>.
12628 (grub_hostfs_open): Use "rb" flag to open file, use
12629 grub_util_get_disk_size to get disk size for mingw.
12630
12631 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
12632 (asprintf): New function if HAVE_ASPRINTF is not set.
12633 (sync): New function for mingw.
12634 (sleep): Likewise.
12635 (grub_util_get_disk_size): Likewise.
12636
ab3f2673 126372008-08-28 Pavel Roskin <proski@gnu.org>
12638
12639 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12640 kern/time.c.
12641
1c282483 126422008-08-28 Robert Millan <rmh@aybabtu.com>
12643
12644 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
12645
678e849c 126462008-08-28 Robert Millan <rmh@aybabtu.com>
12647
12648 Change find_grub_drive() syntax so it doesn't prevent it from
12649 detecting NULL names as errors.
12650
12651 * util/biosdisk.c (find_grub_drive): Move free slot search code
12652 from here ...
12653 (find_free_slot): ... to here.
12654 (read_device_map): Use find_free_slot() to search for free slots.
12655
965c75ca 126562008-08-27 Marco Gerards <marco@gnu.org>
12657
12658 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
12659 (scsi_mod_SOURCES): New variable.
12660 (scsi_mod_CFLAGS): Likewise
12661 (scsi_mod_LDFLAGS): Likewise.
12662
12663 * disk/scsi.c: New file.
12664
12665 * include/grub/scsi.h: Likewise.
12666
12667 * include/grub/scsicmd.h: Likewise.
12668
12669 * disk/ata.c: Include <grub/scsi.h>.
12670 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
12671 instead.
12672 (grub_ata_iterate): Skip ATAPI devices.
12673 (grub_ata_open): Only handle ATAPI devices.
12674 (struct grub_atapi_read): Removed.
12675 (grub_atapi_readsector): Likewise.
12676 (grub_ata_read): No longer handle ATAPI devices.
12677 (grub_ata_write): Likewise.
12678 (grub_atapi_iterate): New function.
12679 (grub_atapi_read): Likewise.
12680 (grub_atapi_write): Likewise.
12681 (grub_atapi_open): Likewise.
12682 (grub_atapi_close): Likewise.
12683 (grub_atapi_dev): New variable.
12684 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
12685 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
12686
12687 * include/grub/disk.h (enum grub_disk_dev_id): Add
12688 `GRUB_DISK_DEVICE_SCSI_ID'.
12689
c07ae501 126902008-08-26 Robert Millan <rmh@aybabtu.com>
12691
12692 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
12693 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
12694 descriptive.
12695
5ed20adc 126962008-08-23 Bean <bean123ch@gmail.com>
12697
12698 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
12699 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12700 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
12701 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
12702 dm_nv.mod.
12703 (raid5rec_mod_SOURCES): New macro.
12704 (raid5rec_mod_CFLAGS): Likewise.
12705 (raid5rec_mod_LDFLAGS): Likewise.
12706 (raid6rec_mod_SOURCES): Likewise.
12707 (raid6rec_mod_CFLAGS): Likewise.
12708 (raid6rec_mod_LDFLAGS): Likewise.
12709 (mdraid_mod_SOURCES): Likewise.
12710 (mdraid_mod_CFLAGS): Likewise.
12711 (mdraid_mod_LDFLAGS): Likewise.
12712 (dm_nv_mod_SOURCES): Likewise.
12713 (dm_nv_mod_CFLAGS): Likewise.
12714 (dm_nv_mod_LDFLAGS): Likewise.
12715
12716 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
12717 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
12718 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12719
12720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
12721 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
12722
12723 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12724
12725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12726
12727 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12728
12729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12730
12731 * disk/raid5_recover.c: New file.
12732
12733 * disk/raid6_recover.c: Likewise.
12734
12735 * disk/mdraid_linux.c: Likewise.
12736
12737 * disk/dmraid_nvidia.c: Likewise.
12738
12739 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
12740 ULONG_MAX.
12741
12742 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
12743 calculate the size of raid device.
12744 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
12745 different layout of raid5.
12746 (grub_raid_scan_device): Remove code specific to mdraid.
12747 (grub_raid_list): New variable.
12748 (free_array): New function.
12749 (grub_raid_register): Likewise.
12750 (grub_raid_unregister): Likewise.
12751 (grub_raid_rescan): Likewise.
12752 (GRUB_MOD_INIT): Don't iterate device here.
12753 (GRUB_MOD_FINI): Use free_array to release resource.
12754
12755 * include/grub/raid.h: Remove macro and structure specific to mdraid.
12756 (grub_raid5_recover_func_t): New function variable type.
12757 (grub_raid6_recover_func_t): Likewise.
12758 (grub_raid5_recover_func): New variable.
12759 (grub_raid6_recover_func): Likewise.
12760 (grub_raid_register): New function.
12761 (grub_raid_unregister): Likewise.
12762 (grub_raid_rescan): Likewise.
12763 (grub_raid_block_xor): Likewise.
12764
12765 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
12766 (CMD_CRC): New macro.
12767 (part): Removed.
12768 (read_file): Handle device as well as file.
12769 (cmd_crc): New function.
12770 (fstest): Handle multiple disks.
12771 (options): Remove part, raw and long, add root and diskcount.
12772 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 12773 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 12774 add handling for the new options, support multiple disks.
12775
12776 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
12777
29c18915 127782008-08-23 Bean <bean123ch@gmail.com>
12779
12780 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
12781
12782 * genfslist.sh: Ignore kernel.mod.
12783
12784 * genpartmaplist.sh: Likewise.
12785
8415f261 127862008-08-23 Robert Millan <rmh@aybabtu.com>
12787
12788 * util/getroot.c (find_root_device): Skip anything that starts with
12789 a dot, not just directories. This avoids things like /dev/.tmp.md0.
12790
d5a7dc5b 127912008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 12792
d5a7dc5b 12793 * util/update-grub.in (GRUB_GFXMODE): Export variable.
12794 * util/grub.d/00_header.in: Allow the administrator to change default
12795 gfxmode via ${GRUB_GFXMODE}.
12796
380cfbb4 127972008-08-21 Felix Zielcke <fzielcke@z-51.de>
12798
12799 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
12800
c9baafe7 128012008-08-21 Robert Millan <rmh@aybabtu.com>
12802
12803 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
12804 loader.
12805 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
12806 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
12807
e290bef2 128082008-08-20 Carles Pina i Estany <carles@pina.cat>
12809
12810 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
12811 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
12812
f9dbfc96 128132008-08-19 Robert Millan <rmh@aybabtu.com>
12814
12815 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
12816 (struct grub_virtual_screen): Remove `cursor_color'.
12817 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
12818 initialization.
12819 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
12820
dd6bd6ab 128212008-08-18 Robert Millan <rmh@aybabtu.com>
12822
12823 Unify (identical) linux_normal.c files.
12824 * loader/i386/efi/linux_normal.c: Move from here ...
12825 * loader/linux_normal.c: ... to here. Update all users.
12826 * loader/i386/pc/linux_normal.c: Delete. Update all users.
12827 * loader/i386/ieee1275/linux_normal.c: Likewise.
12828
7f42f83e 128292008-08-18 Robert Millan <rmh@aybabtu.com>
12830
12831 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
12832 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
12833 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
12834 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
12835 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
12836 New macros.
12837 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
12838 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
12839 (GRUB_LINUX_CL_END_OFFSET): ... to here.
12840 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
12841 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
12842 (GRUB_EFI_CL_END_OFFSET): Rename to ...
12843 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
12844 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
12845 Initialize `params->video_cursor_x' and `params->video_cursor_y'
12846 portably using grub_getxy().
12847 Replace `-EFI' with `-bzImage' in boot message.
12848
38487ddb 128492008-08-17 Robert Millan <rmh@aybabtu.com>
12850
12851 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
12852
deceb3ec 128532008-08-17 Robert Millan <rmh@aybabtu.com>
12854
12855 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
12856
12857 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
12858 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
12859 (grub_machine_mmap_iterate): New function declaration.
12860 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
12861 structure.
12862 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
12863 macros.
12864
12865 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
12866 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
12867 Move e820 parsing from here ...
12868 * kern/i386/pc/mmap.c: New file.
12869 (grub_machine_mmap_iterate): ... to here.
12870
12871 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
12872 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
12873 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
12874 (grub_available_iterate): Redeclare to return `void', and redeclare
12875 its hook to use grub_uint64_t as addr and size parameters, and rename
12876 to ...
12877 (grub_machine_mmap_iterate): ... this. Update all users.
12878
12879 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
12880 to make it more readable. Rename to ...
12881 (grub_machine_mmap_iterate): ... this.
12882
12883 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
12884 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
12885 (grub_multiboot): Allocate an extra region after the payload, and fill
12886 it with a Multiboot memory map. Adjust a.out loader to calculate size
12887 with the extra space.
12888 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
12889 with the extra space.
12890
f8aa0f43 128912008-08-17 Carles Pina i Estany <carles@pina.cat>
12892
9807deb9 12893 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 12894
605f5bb6 128952008-08-17 Felix Zielcke <fzielcke@z-51.de>
12896
12897 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
12898 mdate-sh to the list `find' searches for.
12899 * DISTLIST: Regenerated.
12900
210db6c6 129012008-08-16 Felix Zielcke <fzielcke@z-51.de>
12902
12903 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
12904 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 12905 genmoddep.awk, gensymlist.sh.in.
12906 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 12907 * DISTLIST: Regenerated.
48cdbfd4 12908 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 12909
1082b929 129102008-08-16 Robert Millan <rmh@aybabtu.com>
12911
12912 * disk/raid.c (grub_raid_init): Handle/report errors set by
12913 grub_device_iterate().
12914 * disk/lvm.c (grub_lvm_init): Likewise.
12915
42ce5170 129162008-08-15 Bean <bean123ch@gmail.com>
12917
12918 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12919 and datehook.mod.
12920 (datetime_mod_SOURCES): New macro.
12921 (datetime_mod_CFLAGS): Likewise.
12922 (datetime_mod_LDFLAGS): Likewise.
12923 (date_mod_SOURCES): Likewise.
12924 (date_mod_CFLAGS): Likewise.
12925 (date_mod_LDFLAGS): Likewise.
12926 (datehook_mod_SOURCES): Likewise.
12927 (datehook_mod_CFLAGS): Likewise.
12928 (datehook_mod_LDFLAGS): Likewise.
12929
12930 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12931 and datehook.mod.
12932 (datetime_mod_SOURCES): New macro.
12933 (datetime_mod_CFLAGS): Likewise.
12934 (datetime_mod_LDFLAGS): Likewise.
12935 (date_mod_SOURCES): Likewise.
12936 (date_mod_CFLAGS): Likewise.
12937 (date_mod_LDFLAGS): Likewise.
12938 (datehook_mod_SOURCES): Likewise.
12939 (datehook_mod_CFLAGS): Likewise.
12940 (datehook_mod_LDFLAGS): Likewise.
12941
12942 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12943 and datehook.mod.
12944 (datetime_mod_SOURCES): New macro.
12945 (datetime_mod_CFLAGS): Likewise.
12946 (datetime_mod_LDFLAGS): Likewise.
12947 (date_mod_SOURCES): Likewise.
12948 (date_mod_CFLAGS): Likewise.
12949 (date_mod_LDFLAGS): Likewise.
12950 (datehook_mod_SOURCES): Likewise.
12951 (datehook_mod_CFLAGS): Likewise.
12952 (datehook_mod_LDFLAGS): Likewise.
12953
12954 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12955 and datehook.mod.
12956 (datetime_mod_SOURCES): New macro.
12957 (datetime_mod_CFLAGS): Likewise.
12958 (datetime_mod_LDFLAGS): Likewise.
12959 (date_mod_SOURCES): Likewise.
12960 (date_mod_CFLAGS): Likewise.
12961 (date_mod_LDFLAGS): Likewise.
12962 (datehook_mod_SOURCES): Likewise.
12963 (datehook_mod_CFLAGS): Likewise.
12964 (datehook_mod_LDFLAGS): Likewise.
12965
12966 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
12967 and datehook.mod.
12968 (datetime_mod_SOURCES): New macro.
12969 (datetime_mod_CFLAGS): Likewise.
12970 (datetime_mod_LDFLAGS): Likewise.
12971 (date_mod_SOURCES): Likewise.
12972 (date_mod_CFLAGS): Likewise.
12973 (date_mod_LDFLAGS): Likewise.
12974 (datehook_mod_SOURCES): Likewise.
12975 (datehook_mod_CFLAGS): Likewise.
12976 (datehook_mod_LDFLAGS): Likewise.
12977
12978 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
12979
12980 * commands/date.c: New file.
12981
12982 * hook/datehook.c: Likewise.
12983
12984 * include/grub/lib/datetime.h: Likewise.
12985
12986 * include/grub/i386/cmos.h: Likewise.
12987
12988 * lib/datetime.c: Likewise.
12989
12990 * lib/i386/datetime.c: Likewise.
12991
12992 * lib/efi/datetime.c: Likewise.
12993
0e9242da 129942008-08-14 Robert Millan <rmh@aybabtu.com>
12995
12996 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
12997 (grub_mkelfimage_SOURCES): New variable.
12998 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
12999
13000 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
13001 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
13002 * conf/powerpc-ieee1275.rmk: Likewise.
13003 * conf/i386-ieee1275.rmk: Likewise.
13004
13005 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
13006 * kern/i386/coreboot/init.c: Likewise.
13007
13008 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
13009 with `<grub/cpu/kernel.h>'.
13010 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
13011 to ...
13012 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
13013 * kern/i386/coreboot/startup.S: Likewise.
13014
13015 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
13016 (GRUB_MOD_GAP): Remove.
13017 * include/grub/powerpc/kernel.h: New file.
13018 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
13019 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13020 * include/grub/i386/kernel.h: New file.
13021 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
13022 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
13023 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13024
13025 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
13026 `grub-mkelfimage'.
13027 Use --directory when invoking grub_mkimage.
13028
13029 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
13030 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
13031 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
13032 and GRUB_KERNEL_CPU_PREFIX.
13033
b86408f8 130342008-08-14 Felix Zielcke <fzielcke@z-51.de>
13035
d5e619ca 13036 * include/grub/err.h (grub_err_printf): New function prototype.
13037 * util/misc.c (grub_err_printf): New function.
13038 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
13039 grub_printf.
13040 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 13041
7161f0e0 130422008-08-13 Robert Millan <rmh@aybabtu.com>
13043
13044 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
13045
a1967522 130462008-08-13 Robert Millan <rmh@aybabtu.com>
13047
13048 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
13049 boot entry.
13050
371458b5 130512008-08-12 Robert Millan <rmh@aybabtu.com>
13052
13053 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
13054 of the relocation code from here ...
13055 (grub_multiboot): ... to here.
13056 (forward_relocator, backward_relocator): Move from here ...
13057 * kern/i386/loader.S (grub_multiboot_forward_relocator)
13058 (grub_multiboot_backward_relocator): ... to here.
13059 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
13060 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
13061 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
13062 (grub_multiboot_forward_relocator_end)
13063 (grub_multiboot_backward_relocator)
13064 (grub_multiboot_backward_relocator_end): New variables.
13065
05f9452b 130662008-08-12 Bean <bean123ch@gmail.com>
13067
13068 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
13069
20024ab0 130702008-08-11 Robert Millan <rmh@aybabtu.com>
13071
13072 * kern/i386/linuxbios/startup.S: Move from here ...
13073 * kern/i386/coreboot/startup.S: ... to here.
13074
13075 * kern/i386/linuxbios/init.c: Move from here ...
13076 * kern/i386/coreboot/init.c: ... to here.
13077
13078 * kern/i386/linuxbios/table.c: Move from here ...
13079 * kern/i386/coreboot/mmap.c: ... to here.
13080
13081 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
13082
e352e9cd 130832008-08-11 Robert Millan <rmh@aybabtu.com>
13084
13085 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
13086 errors. Leave it to the upper layer to handle them.
13087
2d05bc6a 130882008-08-09 Christian Franke <franke@computer.org>
13089
13090 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
13091 * conf/common.rmk: Install `grub-pe2elf' only if requested.
13092 Install `grub.d/10_windows' only on Cygwin.
13093 * configure.ac: Add subst of `target_os'.
13094 Check `target_os' also before setting TARGET_OBJ2ELF.
13095 Add `--enable-grub-pe2elf'.
13096
042bd419 130972008-08-08 Robert Millan <rmh@aybabtu.com>
13098
13099 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13100 (grub_last_time): Change type to grub_uint64_t.
13101 (grub_disk_open): Migrate code from to using grub_get_time_ms().
13102 (grub_disk_close): Likewise.
13103
13104 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13105 (run_menu): Migrate code from to using grub_get_time_ms().
13106
13107 * util/misc.c (grub_get_time_ms): New function.
13108
7f280db5 131092008-08-08 Marco Gerards <marco@gnu.org>
13110
13111 * disk/ata.c (grub_ata_regget): Change return type to
13112 `grub_uint8_t'.
13113 (grub_ata_regget2): Likewise.
13114 (grub_ata_wait_status): New function.
13115 (grub_ata_wait_busy): Removed function, updated all users to use
13116 `grub_ata_wait_status'.
13117 (grub_ata_wait_drq): Likewise.
13118 (grub_ata_cmd): New function.
13119 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
13120 error handling.
13121 (grub_ata_pio_write): Add error handling.
13122 (grub_atapi_identify): Likewise.
13123 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
13124 handling.
13125 (grub_ata_identify): Use `grub_ata_cmd' and improve error
13126 handling. Actually use the detected registers. Reorder the
13127 detection logic such that it is easier to read.
13128 (grub_ata_pciinit): Do not assign the same ID to each controller.
13129 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
13130 handling.
13131 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
13132
13133 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
13134
1fbc5e66 131352008-08-08 Marco Gerards <marco@gnu.org>
13136
13137 * NEWS: Update.
13138
819ce6c0 131392008-08-07 Bean <bean123ch@gmail.com>
13140
13141 * include/grub/x86_64/pci.h: New file.
13142
5c41d44d 131432008-08-07 Christian Franke <franke@computer.org>
13144
13145 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
13146 (TIMER2_GATE): Likewise.
13147 (grub_pit_wait): Add enable/disable of the timer2 gate
13148 bit of port 0x61. This fixes a possible infinite loop.
13149
5ebc275d 131502008-08-07 Bean <bean123ch@gmail.com>
13151
13152 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
13153 kern/i386/tsc.c and kern/i386/pit.c.
13154
13155 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
13156 x86_64 platform.
13157
13158 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
13159 <grub/i386/tsc.h>.
13160
13161 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
13162
e383b3d0 131632008-08-07 Bean <bean123ch@gmail.com>
13164
13165 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
13166
13167 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
13168
13169 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
13170 multiple inclusion. Add #include <grub/types.h>.
13171
1cbb58ac 131722008-08-06 Christian Franke <franke@computer.org>
13173
13174 * conf/common.rmk: Build and install `10_windows'.
13175 * util/grub.d/10_windows.in: New script.
13176
337f5a1e 131772008-08-06 Pavel Roskin <proski@gnu.org>
13178
13179 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
13180
057bc4ac 131812008-08-06 Robert Millan <rmh@aybabtu.com>
13182
13183 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
13184 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
13185
2b99f123 131862008-08-06 Bean <bean123ch@gmail.com>
13187
13188 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13189 (grub_pxefs_fs_int): Remove dummy definition.
13190 (grub_pxefs_open): Use data->block_size to store the current block
13191 size setting.
13192 (grub_pxefs_read): Use block size stored in data->block_size. As the
13193 value of grub_pxe_blksize can be changed after the file is opened.
13194
9f0234cb 131952008-08-06 Bean <bean123ch@gmail.com>
13196
13197 * fs/i386/pc/pxe.c (curr_file): new variable.
13198 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13199 require the dummy internal file system anymore.
13200 (grub_pxefs_read): Removed.
13201 (grub_pxefs_close): Likewise.
13202 (grub_pxefs_fs_int): Likewise.
13203 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13204 connection when we switch file.
13205 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13206
a55d42e0 132072008-08-06 Robert Millan <rmh@aybabtu.com>
13208
13209 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13210 `halt.mod'.
13211 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13212 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13213
13214 * kern/i386/halt.c: New file.
13215 * kern/i386/reboot.c: Likewise.
13216 * include/grub/i386/reboot.h: Likewise.
13217 * include/grub/i386/halt.h: Likewise.
13218
13219 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13220 Include `<grub/cpu/halt.h>'.
13221 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13222 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13223
13224 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13225 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13226 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13227 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13228 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13229 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13230 from here ...
13231 * include/grub/i386/at_keyboard.h: ... to here.
13232
24371d26 132332008-08-05 Robert Millan <rmh@aybabtu.com>
13234
13235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13236 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13237 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13238 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13239 `kern/generic/millisleep.c'.
13240
13241 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13242 instead of grub_get_rtc().
13243 (grub_tsc_init): Initialize `tsc_boot_time'.
13244
13245 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13246 (grub_machine_init): Use grub_tsc_init() rather than
13247 installing an RTC-based handler via grub_install_get_time_ms().
13248
13249 * kern/i386/pit.c: New file.
13250 * include/grub/i386/pit.h: Likewise.
13251
9e7007b3 132522008-08-05 Bean <bean123ch@gmail.com>
13253
13254 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13255
13256 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13257 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13258 (pxe_mod_SOURCES): New macro.
13259 (pxe_mod_CFLAGS): Likewise.
13260 (pxe_mod_LDFLAGS): Likewise.
13261 (pxecmd_mod_SOURCES): Likewise.
13262 (pxecmd_mod_CFLAGS): Likewise.
13263 (pxecmd_mod_LDFLAGS): Likewise.
13264
13265 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13266 (grub_pxe_call): Likewise.
13267
13268 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13269
13270 * commands/i386/pc/pxecmd.c: New file.
13271
9f0234cb 13272 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 13273
13274 * include/grub/i386/pc/pxe.h: Likewise.
13275
6977d49f 132762008-08-05 Bean <bean123ch@gmail.com>
13277
13278 * util/console.c (grub_console_cur_color): New variable.
13279 (grub_console_standard_color): Likewise.
13280 (grub_console_normal_color): Likewise.
13281 (grub_console_highlight_color): Likewise.
13282 (color_map): Likewise.
13283 (use_color): Likewise.
13284 (NUM_COLORS): New macro.
13285 (grub_ncurses_setcolorstate): Handle color properly.
13286 (grub_ncurses_setcolor): Don't change color here, just remember the
13287 settings, color will be set in grub_ncurses_setcolorstate.
13288 (grub_ncurses_getcolor): New function.
13289 (grub_ncurses_init): Initialize color pairs.
13290 (grub_ncurses_term): New member grub_ncurses_getcolor.
13291
9c2ff3ee 132922008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 13293
9c2ff3ee 13294 High resolution timer support. Implemented for x86 CPUs using TSC.
13295 Extracted generic grub_millisleep() so it's linked in only as needed.
13296 This requires a Pentium compatible CPU; if the RDTSC instruction is
13297 not supported, then it falls back on the generic grub_get_time_ms()
13298 implementation that uses the machine's RTC.
13299
13300 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13301 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13302 `kern/generic/millisleep.c'.
13303
13304 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13305 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13306
13307 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13308 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13309
13310 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13311
13312 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13313 `kern/generic/millisleep.c'.
13314
13315 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13316
13317 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13318
13319 * kern/generic/rtc_get_time_ms.c: New file.
13320
13321 * kern/generic/millisleep.c: New file.
337f5a1e 13322
9c2ff3ee 13323 * kern/misc.c: Don't include
13324 <kern/time.h> anymore.
13325 (grub_millisleep_generic): Removed.
13326
13327 * commands/sleep.c (grub_interruptible_millisleep): Uses
13328 grub_get_time_ms() instead of grub_get_rtc().
13329
13330 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13331 function.
13332 (grub_cpu_is_cpuid_supported): New inline function.
13333 (grub_cpu_is_tsc_supported): New inline function.
13334 (grub_tsc_init): New function prototype.
13335 (grub_tsc_get_time_ms): New function prototype.
13336
13337 * kern/i386/tsc.c (grub_get_time_ms): New file.
13338
13339 * include/grub/time.h: Include <grub/types.h.
13340 (grub_millisleep_generic): Removed.
13341 (grub_get_time_ms): New prototype.
13342 (grub_install_get_time_ms): New prototype.
13343 (grub_rtc_get_time_ms): New prototype.
13344
13345 * kern/time.c (grub_get_time_ms): New function.
13346 (grub_install_get_time_ms): New function.
13347
13348 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13349 <grub/time.h> anymore.
13350 (grub_millisleep): Removed.
13351 (grub_machine_init): Call grub_tsc_init.
13352
13353 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13354 get_time_ms() implementation.
13355
13356 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13357 (ieee1275_get_time_ms): New function.
13358 (grub_machine_init): Install get_time_ms() implementation.
13359
13360 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13361 (grub_machine_init): Call grub_tsc_init().
13362 (grub_millisleep): Removed.
bf06a93f 13363
9c2ff3ee 13364 * kern/ieee1275/init.c (grub_millisleep): Removed.
13365 (grub_machine_init): Install ieee1275_get_time_ms()
13366 implementation.
13367 (ieee1275_get_time_ms): New function.
13368 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13369 real work.
13370
9ec92aaf 133712008-08-05 Marco Gerards <marco@gnu.org>
13372
13373 * disk/ata.c: Include <grub/pci.h>.
13374 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13375 (grub_ata_initialize): Rewritten.
13376 (grub_ata_device_initialize): New function.
13377
8d23f507 133782008-08-04 Pavel Roskin <proski@gnu.org>
13379
13380 * kern/main.c: Include grub/mm.h.
13381
5e15ee3d 133822008-08-04 Robert Millan <rmh@aybabtu.com>
13383
13384 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13385 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13386 corruption problem).
13387
a9053f8f 133882008-08-04 Robert Millan <rmh@aybabtu.com>
13389
13390 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13391 warnings introduced in my last commit.
13392
dd19c7d7 133932008-08-03 Robert Millan <rmh@aybabtu.com>
13394
13395 Make PCI available on all i386 architectures.
13396
13397 * include/grub/i386/pc/pci.h: Move from here ...
13398 * include/grub/i386/pci.h: ... to here.
13399
13400 * include/grub/i386/pc/pci.h: Remove.
13401 * include/grub/i386/efi/pci.h: Remove.
13402 * include/grub/x86_64/efi/pci.h: Remove.
13403
13404 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13405 `<grub/cpu/pci.h>'.
13406
13407 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13408 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13409 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13410
13411 * conf/i386-ieee1275.rmk: Likewise.
13412
e14a6184 134132008-08-03 Robert Millan <rmh@aybabtu.com>
13414
13415 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13416 (grub_console_setcursor): Make it possible to set cursor off.
13417
52768e37 134182008-08-03 Robert Millan <rmh@aybabtu.com>
13419
13420 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13421 of modules instead of assuming which platform provides what.
13422 * util/update-grub.in: Likewise.
13423
2d52f57f 134242008-08-03 Robert Millan <rmh@aybabtu.com>
13425
13426 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13427 instead of `grub_install_dos_part' to determine whether a drive needs
13428 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 13429 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 13430
2a5cd121 134312008-08-02 Robert Millan <rmh@aybabtu.com>
13432
13433 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13434
93808428 134352008-08-02 Robert Millan <rmh@aybabtu.com>
13436
13437 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13438 of informational grub_dprintf() calls.
13439
3bd0a12a 134402008-08-02 Robert Millan <rmh@aybabtu.com>
13441
13442 * disk/memdisk.c (memdisk_size): Don't initialize.
13443 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13444
13445 * include/grub/i386/pc/kernel.h
13446 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13447 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13448 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13449 (grub_arch_memdisk_size): Remove.
13450
13451 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13452 field (was only used to transfer a constant). Add `type' field to
13453 support multiple module types.
13454 (grub_module_iterate): New function.
13455
13456 * kern/device.c (grub_device_open): Do not hide error messages
13457 when grub_disk_open() fails. Use grub_print_error() instead.
13458
13459 * kern/i386/pc/init.c (grub_arch_modules_addr)
13460 (grub_arch_memdisk_size): Remove functions.
13461 (grub_arch_modules_addr): Return the module address in high memory
13462 (now that it isn't copied anymore).
13463
13464 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13465 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13466 decompression routine (grub_total_module_size already includes that
13467 now). Don't copy modules back to low memory.
13468
13469 * kern/main.c: Include `<grub/mm.h>'.
13470 (grub_load_modules): Split out (and use) ...
13471 (grub_module_iterate): ... this function, which iterates through
13472 module objects and runs a hook.
13473 Comment out grub_mm_init_region() call, as it would cause non-ELF
13474 modules to be overwritten.
13475
13476 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13477 the memdisk image in its own region, make it part of the module list.
13478 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13479 (main): Parse --memdisk|-m option, and pass user-provided path as
13480 parameter to generate_image().
13481 (add_segments): Pass `memdisk_path' down to load_modules().
13482 (load_modules): Embed memdisk image in module section when requested.
13483 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13484 `header.type' instead of `header.offset'.
13485
13486 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13487 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13488 (memdisk_mod_LDFLAGS): New variables.
13489 * conf/i386-coreboot.rmk: Likewise.
13490 * conf/i386-ieee1275.rmk: Likewise.
13491
a927cc73 134922008-08-02 Robert Millan <rmh@aybabtu.com>
13493
13494 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13495 (backward_relocator): New variables. Used to allocate and relocate
13496 the payload, respectively.
13497 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13498 address, install the appropriate relocator code in each bound of
a927cc73 13499 the payload, and set the entry point such that
13500 grub_multiboot_real_boot() will jump to one of them.
13501
13502 * kern/i386/loader.S (grub_multiboot_payload_size)
13503 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13504 (grub_multiboot_payload_entry_offset): New variables.
13505 (grub_multiboot_real_boot): Set cpu context to what the relocator
13506 expects, and jump to the relocator instead of the payload.
13507
13508 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13509 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13510 (grub_multiboot_payload_entry_offset): Export.
13511
b15d8a0c 135122008-08-01 Bean <bean123ch@gmail.com>
13513
13514 * normal/menu_entry.c (editor_getline): Don't return the original
13515 string as result, as it will be released by lexer once it has done
13516 using it.
13517
cdfb3d22 135182008-08-01 Robert Millan <rmh@aybabtu.com>
13519
13520 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13521 within menuentries, not before them.
13522 util/grub.d/10_hurd.in: Likewise.
13523
9175e93d 135242008-08-01 Bean <bean123ch@gmail.com>
13525
13526 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13527 (bufio_mod_SOURCES): New macro.
13528 (bufio_mod_CFLAGS): Likewise.
13529 (bufio_mod_LDFLAGS): Likewise.
13530
13531 * include/grub/bufio.h: New file.
13532
13533 * io/bufio.c: Likewise.
13534
13535 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13536 (grub_video_reader_png): Use grub_buffile_open to open file.
13537
13538 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13539 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13540
13541 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13542 (grub_video_reader_tga): Use grub_buffile_open to open file.
13543
13544 * font/manager.c: Include <grub/bufio.h>.
13545 (add_font): Use grub_buffile_open to open file.
13546
3d8383e7 135472008-07-31 Robert Millan <rmh@aybabtu.com>
13548
13549 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13550 ELF segments, use a macro for arbitrarily accessing any of them instead
13551 of preparing a pointer that allows access to one at a time.
13552 (grub_multiboot_load_elf64): Likewise.
13553
16e641b6 135542008-07-31 Bean <bean123ch@gmail.com>
13555
13556 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13557 GRUB_KERNEL_MACHINE_DATA_END.
13558
59198b72 135592008-07-30 Robert Millan <rmh@aybabtu.com>
13560
13561 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13562 Increase from 0x50 to 0x60.
13563 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13564 use UUIDs to identify the root drive for them. If that's not
13565 possible, abort.
13566 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13567 check, for cross-disk installs.
13568
ae88bca3 135692008-07-30 Robert Millan <rmh@aybabtu.com>
13570
13571 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13572 is non-empty, use it to set the `prefix' environment variable instead
13573 of the usual approach.
13574 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13575 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13576 environment variable instead of dummy make_install_device().
13577
13578 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13579 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13580 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13581
13582 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13583 New variable reference.
13584 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13585 New macro. Defines offset of `grub_prefix' within startup.S (relative
13586 to `start').
13587 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13588 section within startup.S (relative to `start').
13589 * include/grub/i386/coreboot/kernel.h: Likewise.
13590
13591 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13592 Overwrite grub_prefix with its contents, at the beginning of the
13593 first segment.
13594 (main): Understand -p|--prefix.
13595
14f41dd1 135962008-07-30 Robert Millan <rmh@aybabtu.com>
13597
13598 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13599
4ca049a3 136002008-07-30 Robert Millan <rmh@aybabtu.com>
13601
13602 * term/i386/pc/vga_text.c (grub_console_cls): Use
13603 grub_console_gotoxy() to go back to beginning of the screen.
13604 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13605
2921d337 136062008-07-29 Christian Franke <franke@computer.org>
13607
13608 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13609 Add conversion of emulated mount points on Cygwin.
13610
b609876d 136112008-07-29 Christian Franke <franke@computer.org>
13612
13613 * util/update-grub.in: Add a check for admin
13614 group on Cygwin.
13615 Remove old `grub.cfg.new' before creation.
13616 Add `-f' to `mv' to handle the different filesystem
13617 semantics of Windows.
13618
e93e4679 136192008-07-29 Bean <bean123ch@gmail.com>
13620
13621 * normal/main.c (get_line): Fix buffer overflow bug.
13622
41694fd0 136232008-07-28 Robert Millan <rmh@aybabtu.com>
13624
13625 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13626 (struct grub_apple_header): New struct. Describes the layout of
13627 the partmap header.
13628 (apple_partition_map_iterate): Check the header magic as well as the
13629 partition magic (which was already being checked).
13630
cfd0b4e6 136312008-07-28 Pavel Roskin <proski@gnu.org>
13632
13633 * genmk.rb: Add a warning to the beginning of the output that
13634 it's a generated file and should not be edited.
13635
93cce016 136362008-07-28 Robert Millan <rmh@aybabtu.com>
13637
13638 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13639 with the same number are found, just use issue a warning with
13640 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 13641
cd1df915 136422008-07-27 Robert Millan <rmh@aybabtu.com>
13643
13644 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
13645 information.
13646
b70a8427 136472008-07-27 Bean <bean123ch@gmail.com>
13648
13649 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13650 (grub_fat_find_dir): Ignore case when comparing filename.
13651
8f5e379f 136522008-07-27 Bean <bean123ch@gmail.com>
13653
13654 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
13655 smallino, as it's more descriptive, and i8count can be confused with
13656 the other field count.
13657 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
13658 inode type.
13659
a85cd5a0 136602008-07-27 Bean <bean123ch@gmail.com>
13661
13662 * commands/crc.c: New file.
13663
13664 * lib/crc.c: Likewise.
13665
13666 * include/grub/lib/crc.h: Likewise.
13667
13668 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
13669
13670 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
13671 (hexdump): Move this function to ...
13672
13673 * lib/hexdump.c: ... here.
13674
13675 * include/grub/hexdump.h: Renamed to ...
13676
13677 * include/grub/lib/hexdump.h: ... this.
13678
13679 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
13680
13681 * util/grub-editenv.c: Likewise.
13682
13683 * include/envblk.h: Renamed to ...
13684
13685 * include/lib/envblk.h: ... this.
13686
13687 * util/envblk.c: Renamed to ...
13688
13689 * lib/envblk.c: ... this.
13690
13691 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
13692 lib/hexdump.c.
13693 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
13694 (pkglib_MODULES): Add crc.mod.
13695 (hexdump_mod_SOURCES): Add lib/hexdump.c.
13696 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
13697 (crc_mod_SOURCES): New macro.
13698 (crc_mod_CFLAGS): Likewise.
13699 (crc_mod_LDFLAGS): Likewise.
13700
13701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
13702
13703 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13704
13705 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13706
13707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13708
13709 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13710
c298def0 137112008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 13712
13713 * commands/help.c: Include <grub/term.h>.
13714 (TERM_WIDTH): Removed. Updated all users.
13715
cc349fb3 137162008-07-27 Pavel Roskin <proski@gnu.org>
13717
13718 * util/getroot.c (find_root_device): Rephrase a comment to avoid
13719 spurious warnings about a comment within a comment.
13720
9051607e 137212008-07-25 Robert Millan <rmh@aybabtu.com>
13722
13723 * util/getroot.c (find_root_device): Skip devices that match
13724 /dev/dm-[0-9]. This lets the real device be found for any type of
13725 abstraction (LVM, EVMS, RAID..).
13726 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
13727 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
13728 device is found first, find_root_device() will now skip it.
13729
01453bfc 137302008-07-24 Pavel Roskin <proski@gnu.org>
13731
13732 * include/grub/types.h: Use __builtin_bswap32() and
13733 __builtin_bswap64() with gcc 4.3 and newer.
13734
6af9849f 137352008-07-24 Christian Franke <franke@computer.org>
13736
3a0fa256 13737 * util/i386/pc/grub-install.in: If `--debug' is specified,
13738 pass `--verbose' to grub-setup.
13739 Abort script if make_system_path_relative_to_its_root() fails.
13740
7810e747 137412008-07-24 Bean <bean123ch@gmail.com>
13742
13743 * configure.ac: Fixed a bug caused by the previous cygwin patch,
13744 variable `target_platform' should be `platform'.
13745
42290e17 137462008-07-24 Bean <bean123ch@gmail.com>
13747
51cc5193 13748 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 13749 (grub_png_init_fixed_block): New function.
13750 (grub_png_decode_image_data): Handle fixed huffman code compression.
13751
2a8a80e4 137522008-07-24 Bean <bean123ch@gmail.com>
13753
13754 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
13755 (grub_pe2elf_SOURCES): New macro.
13756 (CLEANFILES): Add grub-pe2elf.
13757
13758 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
13759 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
13760 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
13761 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
13762 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
13763 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
13764 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
13765 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
13766 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
13767 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
13768 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
13769 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
13770 (GRUB_PE32_DT_FUNCTION): Likewise.
13771 (GRUB_PE32_REL_I386_DIR32): Likewise.
13772 (GRUB_PE32_REL_I386_REL32): Likewise.
13773 (grub_pe32_symbol): New structure.
13774 (grub_pe32_reloc): Likewise.
13775
13776 * util/grub-pe2elf.c: New file.
13777
13778 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
13779 start symbol in non pc platform.
13780
13781 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
13782
13783 The following patches are from Christian Franke.
13784
13785 * include/grub/dl.h: Remove .previous, gas supports this only
13786 for ELF format.
13787
13788 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
13789 Remove .type, gas supports this only for ELF format.
13790
13791 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
13792 nullbytes in symbol table. This fixes an infinite loop if table is
13793 zero filled.
13794
13795 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
13796 TARGET_IMG_LDFLAGS and EXEEXT.
13797
13798 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
13799 TARGET_IMG_LDFLAGS_AC.
13800 (grub_CHECK_STACK_ARG_PROBE): New function.
13801
13802 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
13803
13804 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
13805
13806 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
13807 to set TARGET_IMG_LD* accordingly.
13808 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
13809 Add call to grub_CHECK_STACK_ARG_PROBE.
13810 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
13811
13812 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
13813
13814 * genmk.rb: Add EXEEXT to CLEANFILES.
13815
12ccdb75 138162008-07-23 Robert Millan <rmh@aybabtu.com>
13817
13818 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
13819 define the codes for arrows and lines used for the menu).
13820 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
13821 as well.
13822
13823 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
13824 fonts, because the latter are too slow.
13825
18eeaf04 138262008-07-21 Bean <bean123ch@gmail.com>
13827
13828 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
13829 a20. Run keyboard test last, as it will cause macbook to halt.
13830
b095e2ad 138312008-07-18 Pavel Roskin <proski@gnu.org>
13832
13833 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
13834 load foreign architecture modules correctly anyway. Keep
13835 support for loading host architecture modules, whether we
13836 compile them or not.
13837
737feb35 138382008-07-17 Pavel Roskin <proski@gnu.org>
13839
3f4ce737 13840 * configure.ac: Use -m32 or -m64 regardless of whether we had to
13841 change target_cpu. The compiler default can mismatch target_cpu
13842 in any case.
13843
4ad2d049 13844 * disk/efi/efidisk.c: Fix format warnings on x86_64.
13845 * kern/efi/efi.c: Likewise.
13846
f6130a12 13847 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
13848 target compiler is functional.
13849 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
13850 are set up.
13851
58393a2d 13852 * configure.ac: Default to efi platform for x86_64-apple. Allow
13853 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
13854 adjustments from the rest, only do them if target is not
13855 explicitly given. Merge other adjustments with the final sanity
13856 check. Remove an extraneous check for supported CPU. Be
13857 specific which CPU and which platform is not supported.
13858
737feb35 13859 * configure.ac: Default to pc platform for x86_64.
13860
546f966a 138612008-07-17 Robert Millan <rmh@aybabtu.com>
13862
13863 Partial LinuxBIOS -> Coreboot rename.
13864
13865 * conf/i386-linuxbios.rmk: Renamed to ...
13866 * conf/i386-coreboot.rmk: ... this.
13867 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
13868 * configure.ac: Accept "coreboot" as input platform (but maintain
13869 compatibility with "linuxbios").
13870 * include/grub/i386/linuxbios: Renamed to ...
13871 * include/grub/i386/coreboot: ... this.
13872
20011694 138732008-07-17 Bean <bean123ch@gmail.com>
13874
13875 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 13876 (appleldr_mod_SOURCE): New variable.
20011694 13877 (appleldr_mod_CFLAGS): Likewise.
13878 (appleldr_mod_LDFLAGS): Likewise.
13879 (pci_mod_SOURCES): Likewise.
13880 (pci_mod_CFLAGS): Likewise.
13881 (pci_mod_LDFLAGS): Likewise.
13882 (lspci_mod_SOURCES): Likewise.
13883 (lspci_mod_CFLAGS): Likewise.
13884 (lspci_mod_LDFLAGS): Likewise.
13885
13886 * conf/x86_64-efi.rmk: New file.
13887
13888 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
13889 macro.
13890 (grub_efidisk_write): Likewise.
13891
13892 * include/efi/api.h (efi_call_0): New macro.
13893 (efi_call_1): Likewise.
13894 (efi_call_2): Likewise.
13895 (efi_call_3): Likewise.
13896 (efi_call_4): Likewise.
13897 (efi_call_5): Likewise.
13898 (efi_call_6): Likewise.
13899
13900 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
13901 grub_rescue_cmd_chainloader.
13902
13903 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
13904 (grub_pe32_optional_header): Change some fields based on i386 or
13905 x86_64 platform.
13906 (GRUB_PE32_PE32_MAGIC): Likewise.
13907
13908 * include/grub/efi/uga_draw.h: New file.
13909
13910 * include/grub/elf.h (STN_ABS): New constant.
13911 (R_X86_64_NONE): Relocation constant for x86_64.
13912 (R_X86_64_64): Likewise.
13913 (R_X86_64_PC32): Likewise.
13914 (R_X86_64_GOT32): Likewise.
13915 (R_X86_64_PLT32): Likewise.
13916 (R_X86_64_COPY): Likewise.
13917 (R_X86_64_GLOB_DAT): Likewise.
13918 (R_X86_64_JUMP_SLOT): Likewise.
13919 (R_X86_64_RELATIVE): Likewise.
13920 (R_X86_64_GOTPCREL): Likewise.
13921 (R_X86_64_32): Likewise.
13922 (R_X86_64_32S): Likewise.
13923 (R_X86_64_16): Likewise.
13924 (R_X86_64_PC16): Likewise.
13925 (R_X86_64_8): Likewise.
13926 (R_X86_64_PC8): Likewise.
13927
13928 * include/grub/i386/efi/pci.h: New file.
13929
13930 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
13931 Change it value based on platform.
13932 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
13933 (GRUB_E820_RAM): Likewise.
13934 (GRUB_E820_RESERVED): Likewise.
13935 (GRUB_E820_ACPI): Likewise.
13936 (GRUB_E820_NVS): Likewise.
13937 (GRUB_E820_EXEC_CODE): Likewise.
13938 (GRUB_E820_MAX_ENTRY): Likewise.
13939 (grub_e820_mmap): New structure.
13940 (linux_kernel_header): Change the efi field according to different
13941 kernel version, also field from linux_kernel_header.
13942
13943 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
13944
13945 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
13946 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
13947 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
13948 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
13949 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
13950 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
13951 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
13952 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
13953 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
13954 (GRUB_PCI_ADDR_IO_MASK): Likewise.
13955
13956 * include/grub/x86_64/efi/kernel.h: New file.
13957
13958 * include/grub/x86_64/efi/loader.h: Likewise.
13959
13960 * include/grub/x86_64/efi/machine.h: Likewise.
13961
13962 * include/grub/x86_64/efi/pci.h: Likewise.
13963
13964 * include/grub/x86_64/efi/time.h: Likewise.
13965
13966 * include/grub/x86_64/linux.h: Likewise.
13967
13968 * include/grub/x86_64/setjmp.h: Likewise.
13969
13970 * include/grub/x86_64/time.h: Likewise.
13971
13972 * include/grub/x86_64/types.h: Likewise.
13973
13974 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
13975 GRUB_TARGET_SIZEOF_VOID_P.
13976
13977 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
13978 (grub_efi_locate_handle): Likewise.
13979 (grub_efi_open_protocol): Likewise.
13980 (grub_efi_set_text_mode): Likewise.
13981 (grub_efi_stall): Likewise.
13982 (grub_exit): Likewise.
13983 (grub_reboot): Likewise.
13984 (grub_halt): Likewise.
13985 (grub_efi_exit_boot_services): Likewise.
13986 (grub_get_rtc): Likewise.
13987
13988 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
13989 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
13990 (grub_efi_allocate_pages): Wrap efi calls.
13991 (grub_efi_free_pages): Wrap efi calls.
13992 (grub_efi_get_memory_map): Wrap efi calls.
13993
13994 * kern/x86_64/dl.c: New file.
13995
13996 * kern/x86_64/efi/callwrap.S: Likewise.
13997
13998 * kern/x86_64/efi/startup.S: Likewise.
13999
14000 * loader/efi/appleloader.c: Likewise.
14001
14002 * loader/efi/chainloader.c (cmdline): New variable.
14003 (grub_chainloader_unload): Wrap efi calls.
14004 (grub_chainloader_boot): Likewise.
14005 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
14006 command line.
14007
14008 * loader/efi/chainloader_normal.c (chainloader_command):
14009 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
14010 command line.
14011
14012 * loader/i386/efi/linux.c (allocate_pages): Change allocation
14013 method.
14014 (grub_e820_add_region): New function.
14015 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
14016 booting.
14017 (grub_find_video_card): New function.
14018 (grub_linux_setup_video): New function.
14019 (grub_rescue_cmd_linux): Probe for video information.
14020
14021 * normal/x86_64/setjmp.S: New file.
14022
14023 * term/efi/console.c (map_char): New function.
14024 (grub_console_putchar): Map unicode char.
14025 (grub_console_checkkey): Wrap efi calls.
14026 (grub_console_getkey): Likewise.
14027 (grub_console_getwh): Likewise.
14028 (grub_console_gotoxy): Likewise.
14029 (grub_console_cls): Likewise.
14030 (grub_console_setcolorstate): Likewise.
14031 (grub_console_setcursor): Likewise.
14032
14033 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
14034
59652a20 140352008-07-16 Pavel Roskin <proski@gnu.org>
14036
ef294055 14037 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
14038 format strings.
14039
59652a20 14040 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
14041 pointer, not an integer. This fixes a warning and prevents
14042 precision loss on 64-bit systems.
14043 (relocate_addresses): Remove unneeded cast.
14044
afc3b5d7 140452008-07-15 Pavel Roskin <proski@gnu.org>
14046
506b2b3e 14047 * kern/i386/ieee1275/init.c: Include grub/cache.h.
14048
62ead89c 14049 * term/ieee1275/ofconsole.c: Disable code unused on i386.
14050
c4cd51d7 14051 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
14052 Fix comparison between signed and unsigned.
14053
0d3d8f28 14054 * include/grub/i386/ieee1275/console.h: Declare
14055 grub_console_init() and grub_console_fini().
14056
8804b286 14057 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
14058 It's empty and unused.
14059
ee01cf35 14060 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
14061 beginning to avoid warnings with some compilers.
14062
afc3b5d7 14063 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
14064 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
14065
e4e8eaa5 140662008-07-14 Pavel Roskin <proski@gnu.org>
14067
407aceb4 14068 * kern/env.c (grub_register_variable_hook): Don't copy empty
14069 string, it leaks memory. Pass "" to grub_env_set(), it should
14070 handle constant strings.
14071
e4e8eaa5 14072 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
14073 * commands/cmp.c (grub_cmd_cmp): Likewise.
14074 * kern/dl.c (grub_dl_flush_cache): Likewise.
14075 (grub_dl_load_core): Likewise.
14076 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
14077 (grub_elf64_load_phdrs): Likewise.
14078
d4e2dad3 140792008-07-13 Pavel Roskin <proski@gnu.org>
14080
14081 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
14082 between signed and unsigned.
14083 (LzmaEnc_Finish): Fix warning about an unused parameter.
14084
aa24b516 140852008-07-13 Bean <bean123ch@gmail.com>
14086
14087 * Makefile.in (enable_lzo): New rule.
14088
14089 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
14090
14091 * configure.ac (ENABLE_LZO): New option --enable-lzo.
14092
14093 * boot/i386/pc/lnxboot.S: #include <config.h>.
14094
14095 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 14096 its value according to the compression algorithm used, lzo or lzma.
aa24b516 14097
14098 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
14099 compression algorithm according to configure macro.
14100
14101 * kern/i386/pc/startup.S (codestart): Likewise.
14102
14103 * kern/i386/pc/lzma_decode.S: New file.
14104
14105 * include/grub/lib/LzFind.h: Likewise.
14106
14107 * include/grub/lib/LzHash.h: Likewise.
14108
14109 * include/grub/lib/LzmaDec.h: Likewise.
14110
14111 * include/grub/lib/LzmaEnc.h: Likewise.
14112
14113 * include/grub/lib/LzmaTypes.h: Likewise.
14114
14115 * lib/LzFind.c: Likewise.
14116
14117 * lib/LzmaDec.c: Likewise.
14118
14119 * lib/LzmaEnc.c: Likewise.
14120
4ae821ac 141212008-07-13 Bean <bean123ch@gmail.com>
14122
14123 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
14124 (grub_ext4_extent_header): New structure.
14125 (grub_ext4_extent): Likewise.
14126 (grub_ext4_extent_idx): Likewise.
14127 (grub_ext4_find_leaf): New function.
14128 (grub_ext2_read_block): Handle extents.
14129
9a745147 141302008-07-12 Robert Millan <rmh@aybabtu.com>
14131
14132 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
14133
d49a4cf6 141342008-07-11 Robert Millan <rmh@aybabtu.com>
14135
14136 * util/grub.d/40_custom.in: New file. Example on how to add custom
14137 entries to /etc/grub.d.
14138 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
14139 40_custom (implicitly, by merging all the grub.d rules).
14140
947414b4 141412008-07-11 Pavel Roskin <proski@gnu.org>
14142
0059cf6f 14143 * commands/read.c (grub_getline): Fix invalid memory access.
14144 Don't add newline to the variable value.
14145
947414b4 14146 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
14147 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
14148 (serial_hw_get_port): Check validity of the port number.
14149 (grub_cmd_serial): Check return value of serial_hw_get_port().
14150
62a02d00 141512008-07-07 Pavel Roskin <proski@gnu.org>
14152
14153 * boot/i386/pc/diskboot.S (notification_string): Replace
14154 "Loading kernel" with just "loading". This is shorter, less
14155 confusing and saves a few bytes for possible future changes.
14156
3e5581b0 141572008-07-05 Pavel Roskin <proski@gnu.org>
14158
ea387a48 14159 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
14160 size for ATAPI devices, they are undefined. Output sector
14161 number in decimal form.
14162
3e5581b0 14163 * disk/ata.c: Use named constants for status bits.
14164
fdecb8fd 141652008-07-04 Pavel Roskin <proski@gnu.org>
14166
bcd35b90 14167 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
14168 grub_addr_t before casting it to the void pointer to fix a
14169 warning. Non-addressable regions are discarded earlier.
14170 (grub_arch_modules_addr): Cast _end to grub_addr_t.
14171 * kern/i386/linuxbios/table.c: Include grub/misc.h.
14172 (check_signature): Don't shadow table_header.
14173 (grub_linuxbios_table_iterate): Cast numeric constants to
14174 grub_linuxbios_table_header_t.
14175 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
14176 grub_stop().
14177
af58ab3d 14178 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
14179 prevent warnings.
14180
1759aa57 14181 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
14182 pointer, which can cause warnings. Support 64-bit addresses.
14183
fdecb8fd 14184 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
14185 of sizeof(long). This fixes PowerPC image generation on x86_64.
14186
8516d2a8 141872008-07-04 Robert Millan <rmh@aybabtu.com>
14188
14189 This fixes a performance issue when pc & gpt partmap iterators
14190 didn't abort iteration even after our hook found what it was
fe987087 14191 looking for (often causing expensive probes of non-existent drives).
8516d2a8 14192
14193 Some callers relied on previous buggy behaviour, since they would
34c44600 14194 raise an error when their own hooks caused early abortion of its
8516d2a8 14195 iteration.
14196
14197 * kern/device.c (grub_device_open): Improve error message.
14198 * disk/lvm.c (grub_lvm_open): Likewise.
14199 * disk/raid.c (grub_raid_open): Likewise.
14200
14201 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14202 when hook requests it, independently of grub_errno.
14203 (pc_partition_map_probe): Do not fail when find_func() caused
14204 early abortion of pc_partition_map_iterate().
14205
14206 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14207 when hook requests it, independently of grub_errno.
14208 (gpt_partition_map_probe): Do not fail when find_func() caused
14209 early abortion of gpt_partition_map_iterate().
14210
14211 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14212 when hook requests it, independently of grub_errno. Do not fail when
14213 part_map_iterate_hook() caused early abortion of p->iterate().
14214
14215 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14216 when grub_partition_iterate() returned with non-zero.
14217
277d0de9 142182008-07-03 Pavel Roskin <proski@gnu.org>
14219
14220 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14221 like we do in grub_ata_pio_read().
14222 (grub_ata_readwrite): Always write individual sectors. Fix the
14223 sector count for the remainder.
14224 (grub_ata_write): Enable writing to ATA devices. Correctly
14225 report error for ATAPI devices.
14226
d4c9b428 142272008-07-02 Pavel Roskin <proski@gnu.org>
14228
e43fc690 14229 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14230 warning.
14231
f707af42 14232 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14233 for every read sector, we already increment it for the whole
14234 batch. This fixes reading more than 256 sectors at once.
14235
11e16b15 14236 * util/grub-editenv.c (cmd_info): Cast argument to long
14237 explicitly. ptrdiff_t reduces to int on i386.
14238
cbabfdd4 14239 * util/grub-editenv.c (main): Be specific which parameter is
14240 missing.
14241
b8fbce0a 14242 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14243 (memdisk): Make memdisk_orig_addr a pointer.
14244
c9c8e606 14245 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14246 for file offsets, use grub_off_t instead. Fix printf format
14247 warnings.
14248
ca62e598 14249 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14250 there. Real unexpected warnings should not drown in the noise
14251 about known problems.
14252
ce8d1766 14253 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14254 grub_disk_addr_t for memory addresses.
14255
00c7a56a 14256 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14257 explicitly to fix a warning.
14258
08d3ef09 14259 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14260
cb71ba20 14261 * Makefile.in (MODULE_LDFLAGS): New variable.
14262 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14263 the linker accepts --build-id=none.
14264 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14265 MODULE_LDFLAGS.
14266 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14267
d4c9b428 14268 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14269 those in Linux XFS code. Provide a way to access 64-bit parent
14270 inode.
14271 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14272 the end of struct grub_xfs_dir_header.
14273
d4156eee 142742008-07-02 Bean <bean123ch@gmail.com>
14275
14276 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14277 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14278 and GRUB_IEEE1275_FLAG_NO_ANSI.
14279
14280 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14281 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14282 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14283
14284 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14285 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14286
14287 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14288 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14289
14290 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14291 esc sequence on non ANSI terminal.
14292 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14293
14294 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14295 beginning of file.
14296
2270f77b 142972008-07-02 Bean <bean123ch@gmail.com>
14298
14299 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14300 (grub_editenv_SOURCES): New variable.
14301 (pkglib_MODULES): Add loadenv.mod.
14302 (loadenv_mod_SOURCES): New variable.
14303 (loadenv_mod_CFLAGS): Likewise.
14304 (loadenv_mod_LDFLAGS): Likewise.
14305
14306 * include/grub/envblk.h: New file.
14307
14308 * util/envblk.c: New file.
14309
14310 * util/grub-editenv.c: New file.
14311
14312 * commands/loadenv.c: New file.
14313
0e9e51ec 143142008-07-01 Pavel Roskin <proski@gnu.org>
14315
d89b7634 14316 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14317 not unsigned char. This fixes warnings and is consistent with
14318 other tags.
14319
bf1835b1 14320 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14321
8222a04b 14322 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14323
6a42d99d 14324 * term/tparm.c (analyze): Always set *popcount.
14325
10b159d1 14326 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14327 cast to fix a warning.
14328
b8789f6c 14329 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14330 cast to suppress a warning.
14331
29d7e38a 14332 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14333 grub_fshelp_read_file() expects.
14334
f341f669 14335 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14336 write uuid as a 32-bit value in CPU byte order, so declare and
14337 use it as such.
14338
0e9e51ec 14339 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14340 long if the format specifier expects it.
14341 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14342 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14343 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14344 long to fix a warning.
14345 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14346 grub_dprintf() arguments to fix warnings.
14347
3aefa857 143482008-06-30 Pavel Roskin <proski@gnu.org>
14349
56c7668b 14350 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14351 install_bsd_part immediately before core.img is embedded or
14352 modified on disk. This fixes core.img verification if core.img
14353 cannot be embedded.
14354
3aefa857 14355 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14356 core_path to calculate the blocklist.
14357 Patch from Javier Martín <lordhabbit@gmail.com>
14358
5444088d 143592008-06-29 Robert Millan <rmh@aybabtu.com>
14360
14361 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14362 block to disk block.
14363 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14364 Patch from Niels Böhm <bitbucket@arcor.de>
14365
674835c8 143662008-06-29 Robert Millan <rmh@aybabtu.com>
14367
14368 * util/update-grub_lib.in (font_path): Search for fonts in
14369 /boot/grub first, which is more likely to be readable (we aren't
14370 deciding where fonts live, just looking for them).
14371
f527dbc8 143722008-06-26 Pavel Roskin <proski@gnu.org>
14373
6c2d8df6 14374 * util/biosdisk.c (read_device_map): Don't leave dead map
14375 entries for devices failing stat() check.
14376
f527dbc8 14377 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14378 core_path_dev for the core.img path on the target device.
14379
aebe3d13 143802008-06-26 Robert Millan <rmh@aybabtu.com>
14381
14382 * disk/fs_uuid.c: New file.
14383 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14384 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14385 (fs_uuid_mod_LDFLAGS): New variables.
14386 * include/grub/disk.h (grub_disk_dev_id): Add
14387 `GRUB_DISK_DEVICE_UUID_ID'.
14388 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14389 implement iterate().
14390
37aaf354 143912008-06-26 Robert Millan <rmh@aybabtu.com>
14392
14393 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14394 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14395 Linux image includes no initrd.
14396
25ff262a 143972008-06-21 Javier Martín <lordhabbit@gmail.com>
14398
14399 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14400 call to resolve the core image location that effectively appended the
14401 name twice.
14402
76a2bd44 144032008-06-21 Robert Millan <rmh@aybabtu.com>
14404
14405 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14406 call from here ...
14407
14408 * util/grub.d/10_hurd.in: ... to here ...
14409 * util/grub.d/10_linux.in: ... and here.
14410
650e1c79 144112008-06-19 Robert Millan <rmh@aybabtu.com>
14412
fe987087 14413 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14414 after it has been set by grub_machine_set_prefix().
14415
6ce63911 144162008-06-19 Robert Millan <rmh@aybabtu.com>
14417
14418 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14419 search result when not saving to variable, not the other way around.
14420 When saving to variable, abort iteration as soon as a match is found.
14421
73940cec 144222008-06-19 Robert Millan <rmh@aybabtu.com>
14423
14424 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14425 check for partition that provides /boot/grub. Its logic is flawed,
14426 as it prevents prepare_grub_to_access_device() from being called
14427 multiple times.
14428
3c62a39d 144292008-06-19 Robert Millan <rmh@aybabtu.com>
14430
14431 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14432 "insmod" command directly when abstraction modules are needed,
fe987087 14433 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 14434 since it had already been processed).
14435
47395a42 144362008-06-19 Pavel Roskin <proski@gnu.org>
14437
14438 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14439 changed. This is needed in case GRUB_LIBDIR changes.
14440 * conf/i386-ieee1275.rmk: Likewise.
14441 * conf/i386-linuxbios.rmk: Likewise.
14442 * conf/i386-pc.rmk: Likewise.
14443 * conf/powerpc-ieee1275.rmk: Likewise.
14444
a145ac2d 144452008-06-18 Pavel Roskin <proski@gnu.org>
14446
14447 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14448 kernel_elf_symlist.c to symlist.c for consistency with other
14449 architectures. Update all users.
14450 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14451
7847c51e 144522008-06-18 Robert Millan <rmh@aybabtu.com>
14453
14454 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14455 it in prefix.
14456
14457 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14458 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14459 a RAID device, run setup() for all members independently on whether
14460 LVM abstraction is being used.
14461 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14462 If grub-mkimage has set `*install_dos_part == -2', don't override this
14463 value.
14464 Perform *install_dos_part adjustments independently on whether
14465 we're embedding or not.
14466 Clarify error message when image is too big for embedding.
14467 Remove duplicate *install_dos_part stanza.
14468
b23e5644 144692008-06-17 Robert Millan <rmh@aybabtu.com>
14470
14471 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14472 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14473 variables.
14474 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14475 values in grub_ofconsole_normal_color and
14476 grub_ofconsole_highlight_color (they're not directly related to
14477 background and foreground).
14478 (grub_ofconsole_setcolorstate): Extract background and foreground
14479 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14480
0aac2f79 144812008-06-17 Robert Millan <rmh@aybabtu.com>
14482
14483 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14484 /boot/grub for the check in last commit, not /boot (they could be
14485 different partitions).
14486
3cca7ef3 144872008-06-16 Robert Millan <rmh@aybabtu.com>
14488
14489 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14490 asked to setup access for the same partition that provides /boot,
14491 don't bother using UUIDs since our root already has the value we
14492 want.
14493
347396d8 144942008-06-16 Robert Millan <rmh@aybabtu.com>
14495
14496 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14497 I2O devices.
14498 Patch from Sven Mueller <sven@debian.org>.
14499
991477f8 145002008-06-16 Robert Millan <rmh@aybabtu.com>
14501
14502 * util/update-grub.in: Check for $EUID instead of $UID.
14503 Reported by Vincent Zweije.
14504
d31a32a1 145052008-06-16 Bean <bean123ch@gmail.com>
14506
fe987087 14507 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14508 (grub_ext2_read_block): Likewise.
14509 (grub_ext2_read_inode): Likewise.
14510 (grub_ext2_mount): Likewise.
14511 (grub_ext2_close): Likewise.
14512 (grub_ext3_get_journal): Removed.
14513
fe987087 14514 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14515 (grub_reiserfs_read_symlink): Likewise.
14516 (grub_reiserfs_mount): Likewise.
14517 (grub_reiserfs_open): Likewise.
14518 (grub_reiserfs_read): Likewise.
14519 (grub_reiserfs_close): Likewise.
14520 (grub_reiserfs_get_journal): Removed.
14521
14522 * fs/fshelp.c (grub_fshelp_read): Removed.
14523 (grub_fshelp_map_block): Likewise.
14524
14525 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14526 (grub_fshelp_journal): Likewise.
14527 (grub_fshelp_read): Likewise.
14528 (grub_fshelp_map_block): Likewise.
14529
3540a760 145302008-06-16 Pavel Roskin <proski@gnu.org>
14531
14532 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14533 floating point anymore.
14534 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14535
95614c84 145362008-06-15 Pavel Roskin <proski@gnu.org>
14537
14538 * commands/ls.c (grub_ls_list_files): Use integer calculations
14539 for human readable format, avoid floating point use.
14540 * kern/misc.c (grub_ftoa): Remove.
14541 (grub_vsprintf): Remove floating point support.
14542
50465dd6 145432008-06-15 Robert Millan <rmh@aybabtu.com>
14544
fe6b695a 14545 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14546 devices.
14547 Reported by Max Vozeler.
14548
a9207284 145492008-06-15 Robert Millan <rmh@aybabtu.com>
14550
14551 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14552 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14553 skipped later.
14554 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14555 the beginning of the prefix.
14556
14557 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14558 It is assumed that if we have a memdisk, grub-mkimage has set
14559 grub_prefix to include the "(memdisk)" drive in it.
14560
a7cbd45a 145612008-06-15 Robert Millan <rmh@aybabtu.com>
14562
14563 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14564 Initialize keyboard controller after registering the terminal, so that
14565 grub_printf() can be called from grub_keyboard_controller_init().
14566
21cf716a 145672008-06-15 Robert Millan <rmh@aybabtu.com>
14568
14569 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14570 extent-btree which is written as big endian on disk.
14571 Reported by Alain Greppin <al@chilibi.org>.
14572
23a64d8e 145732008-06-14 Robert Millan <rmh@aybabtu.com>
14574
14575 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14576 * util/i386/pc/grub-install.in (modules): Likewise.
14577
d687651c 145782008-06-13 Pavel Roskin <proski@gnu.org>
14579
14580 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14581
dfe9ddd4 145822008-06-13 Bean <bean123ch@gmail.com>
14583
14584 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14585
14586 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14587
14588 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14589 to indicate sparse block.
14590
16ae7781 145912008-06-12 Pavel Roskin <proski@gnu.org>
14592
e6d1a308 14593 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14594 number, grub_fshelp_read() does it for us.
14595
16ae7781 14596 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14597 linear disk read with journal translation.
14598 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14599 * include/grub/fshelp.h: Declare grub_fshelp_read().
14600
40fd3a2b 146012008-06-09 Pavel Roskin <proski@gnu.org>
14602
14603 * fs/minix.c (grub_minix_mount): Handle error reading
14604 superblock.
14605
f5679726 146062008-06-08 Robert Millan <rmh@aybabtu.com>
14607
14608 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14609 don't append the RAID prefix afterwards.
14610 Reported by Clint Adams.
14611
ce525529 146122008-06-08 Robert Millan <rmh@aybabtu.com>
14613
14614 Based on description from Pavel:
14615 * kern/disk.c (grub_disk_check_range): Rename to ...
14616 (grub_disk_adjust_range): ... this. Add a comment explaining the
14617 tasks performed by this function.
14618
ad4936a0 146192008-06-08 Robert Millan <rmh@aybabtu.com>
14620
14621 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14622 `num_serial' (for consistency with other variables).
14623 (struct grub_ntfs_data): Add `uuid' member.
14624 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14625 (grub_ntfs_uuid): New function.
14626 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14627
dc20b0f9 146282008-06-07 Pavel Roskin <proski@gnu.org>
14629
14630 * util/biosdisk.c (open_device): Revert last change to the
14631 function, it broke installation. The sector needs to be
14632 different dependent on which device is opened.
14633
c5e3cfba 146342008-06-06 Robert Millan <rmh@aybabtu.com>
14635
14636 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
14637 rest of GRUB, and breakage doesn't happen if its value were modified.
14638
14639 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14640 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
14641 a constant (same value).
14642 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
14643 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
14644
26a1f8c4 146452008-06-06 Robert Millan <rmh@aybabtu.com>
14646
14647 * util/biosdisk.c (open_device): Do not modify sector offset when
14648 accessing a partition. kern/disk.c already handles this for us.
14649
25d6b327 146502008-06-06 Robert Millan <rmh@aybabtu.com>
14651
14652 * util/grub-emu.c (grub_machine_init): Move code in this function from
14653 here ...
14654 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
14655 segfault in case grub_printf() is called).
14656
14657 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
14658 grub_probe. Update all users not to explicitly add it again.
14659 (grub_device): New variable; contains corresponding device for grubdir.
14660 (fs_module, partmap_module, devabstraction_module): Pass
14661 `--device ${grub_device}' to grub_probe to avoid traversing /dev
14662 every time.
14663
9ece62fb 146642008-06-05 Robert Millan <rmh@aybabtu.com>
14665
14666 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
14667 is found, print it (same layout as with labels).
14668
1ad36d37 146692008-06-04 Robert Millan <rmh@aybabtu.com>
14670
14671 * util/biosdisk.c (get_drive): Rename to ...
14672 (find_grub_drive): ... this. Update all users.
14673
14674 (get_os_disk): Rename to ...
14675 (convert_system_partition_to_system_disk): ... this. Update all users.
14676
14677 (find_drive): Rename to ...
14678 (find_system_device): ... this. Update all users.
14679
e6a30859 146802008-06-04 Robert Millan <rmh@aybabtu.com>
14681
14682 * util/biosdisk.c (get_os_disk): Handle IDA devices.
14683 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14684 (make_device_map): Likewise.
14685
00c108a4 146862008-06-01 Robert Millan <rmh@aybabtu.com>
14687
14688 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
14689 before dereferencing it.
14690
14691 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
14692 union with fat12/fat16-specific ones. Add some new fields, including
14693 `num_serial' for both versions.
14694 (struct grub_fat_data): Add `uuid' member.
14695 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
14696 names. Initialize `data->uuid' using `num_serial'.
14697 (grub_fat_uuid): New function.
14698 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
14699
14700 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
14701 (grub_reiserfs_uuid): New function.
14702 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
14703 member.
14704
14705 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
14706 (grub_xfs_uuid): New function.
14707 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
14708
1385c5bb 147092008-06-01 Robert Millan <rmh@aybabtu.com>
14710
14711 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
14712 code that is backward compatible with pre-uuid search command.
14713
c682dfd7 147142008-05-31 Robert Millan <rmh@aybabtu.com>
14715
14716 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
14717 floppies after everything else, to ensure floppy drive isn't accessed
14718 unnecessarily (patch from Bean).
14719
b7db5d47 147202008-05-31 Robert Millan <rmh@aybabtu.com>
14721
14722 * commands/search.c (search_label, search_fs_uuid, search_file): Do
14723 not print device names when we were asked to set a variable.
14724
6e037aa9 147252008-05-31 Robert Millan <rmh@aybabtu.com>
14726
14727 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
14728 using "cursor-on" and "cursor-off" commands (understood at least by
14729 the Open Firmware flavour on OLPC).
14730
41305bc8 147312008-05-31 Michael Gorven <michael@gorven.za.net>
14732
14733 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
14734 on and off sequences.
14735
69ba137e 147362008-05-31 Robert Millan <rmh@aybabtu.com>
14737
14738 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
14739 * util/update-grub.in: Likewise.
14740
520ae21b 147412008-05-30 Pavel Roskin <proski@gnu.org>
14742
14743 * util/biosdisk.c (linux_find_partition): Simplify logic and
14744 make the code more universal. Keep special processing for
14745 devfs, but use a simple rule for all other devices. If the
14746 device ends with a number, append 'p' and the partition number.
14747 Otherwise, append only the partition number.
14748
5786569b 147492008-05-30 Robert Millan <rmh@aybabtu.com>
14750
14751 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
14752 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
14753 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
14754 the `root' parameter to Linux.
14755
51500452 147562008-05-30 Robert Millan <rmh@aybabtu.com>
14757
14758 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
14759 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
14760 --fs_uuid with --fs-uuid.
14761 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
14762 all filesystems support them).
14763
811d3878 147642008-05-30 Robert Millan <rmh@aybabtu.com>
14765
14766 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 14767 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 14768
cab63c95 147692008-05-30 Robert Millan <rmh@aybabtu.com>
14770
14771 * util/grub.d/00_header.in: Remove obsolete comment referencing
14772 convert_system_path_to_grub_path().
14773 * util/update-grub.in: Likewise.
14774 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
14775 (convert_system_path_to_grub_path): Add a warning message explaining
14776 that this function is deprecated. Rely on is_path_readable_by_grub()
14777 for the readability checks.
14778 (font_path): Use is_path_readable_by_grub() for the readability
14779 check rather than convert_system_path_to_grub_path().
14780
972e2f7a 147812008-05-30 Robert Millan <rmh@aybabtu.com>
14782
14783 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
14784 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
14785 converting it first.
14786 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
14787 grub.cfg for access to font file, and afterwards call it again to set
14788 the root device.
14789
62191274 147902008-05-30 Robert Millan <rmh@aybabtu.com>
14791
14792 * commands/search.c (options): Add --fs_uuid option.
14793 (search_fs_uuid): New function.
14794 (grub_cmd_search): Fix --set argument passing.
14795 Use search_fs_uuid() when requested via --fs_uuid.
14796 (grub_search_init): Update help message.
14797 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
14798 and redeclare it as an array of 16-bit words.
14799 (grub_ext2_uuid): New function.
14800 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
14801 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
14802 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
14803 (GRUB_DEVICE_BOOT_UUID): New variables.
14804 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
14805 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
14806 whenever possible.
14807 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
14808 just assume `root' variable has the right value.
14809 * util/grub.d/10_linux.in: Likewise.
14810 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
14811 via PRINT_FS_UUID.
14812 (main): Recognise `-t fs_uuid' argument.
14813
01b73ec8 148142008-05-30 Robert Millan <rmh@aybabtu.com>
14815
14816 * util/biosdisk.c (map): Redefine structure to hold information
14817 about GRUB drive name.
fe6b695a 14818 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 14819 drive names.
14820 (call_hook): Remove.
14821 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
14822 member. Assume drive has partitions.
14823 (grub_util_biosdisk_open): Access device names via `.device' struct
14824 member.
14825 (open_device): Likewise.
14826 (find_drive): Likewise.
14827 (read_device_map): Adjust map[] usage to match the new struct
14828 definition. Don't check for duplicates (still possible, but not cheap
14829 anymore).
14830 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
14831 (make_device_name): Remove assumption of BIOS-like drive names.
14832
22f16596 148332008-05-30 Pavel Roskin <proski@gnu.org>
14834
14835 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
14836 compiling execute.c doesn't need grub_script.tab.h anymore.
14837 (normal/command.c_DEPENDENCIES): Likewise.
14838 (normal/function.c_DEPENDENCIES): Likewise.
14839 * conf/i386-ieee1275.rmk: Likewise.
14840 * conf/i386-linuxbios.rmk: Likewise.
14841 * conf/i386-pc.rmk: Likewise.
14842 * conf/powerpc-ieee1275.rmk: Likewise.
14843 * conf/sparc64-ieee1275.rmk: Likewise.
14844
528ad8f2 148452008-05-29 Pavel Roskin <proski@gnu.org>
14846
d1dff95d 14847 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
14848 when scanning metadata for volume group name.
14849
528ad8f2 14850 * include/grub/script.h: Don't include grub_script.tab.h. It's
14851 a generated file, which may only be included from the files with
14852 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
14853 use union YYSTYPE, as the later allows forward declaration.
14854 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
14855
47248e08 148562008-05-29 Robert Millan <rmh@aybabtu.com>
14857
14858 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
14859 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
14860 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
14861 (grub_console_checkkey): Add grub_dprintf() call to report unknown
14862 scan codes.
14863
ee632529 148642008-05-29 Robert Millan <rmh@aybabtu.com>
14865
14866 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
14867 control key combinations.
14868
eee96e08 148692008-05-29 Robert Millan <rmh@aybabtu.com>
14870
14871 * util/powerpc/ieee1275/grub-install.in: Move from here ...
14872 * util/ieee1275/grub-install.in: ... to here.
14873 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
14874 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
14875 (grub_install_SOURCES): Likewise.
14876
da9a6a94 148772008-05-29 Robert Millan <rmh@aybabtu.com>
14878
14879 * fs/affs.c: Update copyright year.
14880 * fs/ext2.c: Likewise.
14881 * fs/fshelp.c: Likewise.
14882 * fs/hfsplus.c: Likewise.
14883 * fs/ntfs.c: Likewise.
14884 * fs/xfs.c: Likewise.
14885 * include/grub/fshelp.h: Likewise.
14886 * util/grub-mkdevicemap.c: Likewise.
14887
12e65f3a 148882008-05-28 Robert Millan <rmh@aybabtu.com>
14889
14890 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
14891 might need to be fatfs to support some firmware implementations
14892 (e.g. OFW or EFI).
14893
23023641 148942008-05-28 Robert Millan <rmh@aybabtu.com>
14895
14896 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
14897 devices.
14898 * util/grub-mkdevicemap.c (get_mmc_disk_name)
14899 (make_device_map): Likewise.
14900
887d2619 149012008-05-20 Bean <bean123ch@gmail.com>
14902
14903 * fs/fshelp.c (grub_fshelp_map_block): New function.
14904 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
14905 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
14906
14907 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
14908 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
14909 (grub_fshelp_journal): New structure.
14910 (grub_fshelp_map_block): New function prototype.
14911 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
14912 (grub_fshelp_map_block): Likewise.
14913
14914 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
14915 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
14916 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
14917 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
14918 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
14919 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
14920 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
14921 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
14922 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
14923 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
14924 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
14925 (grub_ext2_sblock): New members for journal support.
14926 (grub_ext3_journal_header): New structure.
14927 (grub_ext3_journal_revoke_header): Likewise.
14928 (grub_ext3_journal_block_tag): Likewise.
14929 (grub_ext3_journal_sblock): Likewise.
14930 (grub_fshelp_node): New members logfile and journal.
14931 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
14932 grub_fshelp_map_block to get real block number.
14933 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
14934 number.
14935 (grub_ext2_read_inode): Likewise.
14936 (grub_ext3_get_journal): New function.
14937 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
14938 (grub_ext2_close): Release memory used by journal.
14939
14940 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
14941 (REISERFS_MAGIC_DESC_BLOCK): New macro.
14942 (grub_reiserfs_transaction_header): Renamed to
14943 grub_reiserfs_description_block, replace field data with real_blocks.
14944 (grub_reiserfs_commit_block): New structure.
14945 (grub_reiserfs_data): New member journal.
14946 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
14947 number.
14948 (grub_reiserfs_read_symlink): Likewise.
14949 (grub_reiserfs_iterate_dir): Likewise.
14950 (grub_reiserfs_open): Likewise.
14951 (grub_reiserfs_read): Likewise.
14952 (grub_reiserfs_get_journal): New function.
14953 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
14954 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
14955 using grub_reiserfs_get_journal.
14956 (grub_reiserfs_close): Release memory used by journal.
14957
14958 * fs/affs.c (grub_affs_read_block): Change block type to
14959 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
14960
14961 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
14962
14963 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
14964
14965 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
14966
14967 * fs/udf.c (grub_udf_read_block): Change block type to
14968 grub_disk_addr_t. Use type cast to avoid warning.
14969
14970 * fs/xfs.c (grub_xfs_read_block): Likewise.
14971
b7c6bed5 149722008-05-16 Christian Franke <franke@computer.org>
14973
14974 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
14975 to ensure that break with ESC will always work.
14976 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
14977 Remove ESC from keyboard queue.
14978
eedf167f 149792008-05-16 Christian Franke <franke@computer.org>
14980
14981 * util/biosdisk.c: [__CYGWIN__] Add includes.
14982 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
14983 (get_os_disk): Move variable declarations to OS specific
14984 parts to avoid warning.
14985 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
14986 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
14987 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
14988 Cygwin.
14989 * util/getroot.c: [__CYGWIN__] Add includes.
14990 (strip_extra_slashes): Fix "/" case.
14991 [__CYGWIN__] (get_win32_path): New function.
14992 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
14993 [__CYGWIN__] (find_root_device): Disable.
14994 [__CYGWIN__] (get_bootsec_serial): New function.
14995 [__CYGWIN__] (find_cygwin_root_device): Likewise.
14996 [__linux__] (grub_guess_root_device): Add early returns to simplify
14997 structure.
14998 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
14999 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
15000 check for Linux only.
15001
a079699e 150022008-05-15 Bean <bean123ch@gmail.com>
15003
15004 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
15005 keyboard hang problem in apple's intel mac.
15006
1cf4059a 150072008-05-09 Robert Millan <rmh@aybabtu.com>
15008
15009 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
15010 devices.
15011 * util/grub-mkdevicemap.c (get_virtio_disk_name)
15012 (make_device_map): Likewise.
15013 Reported by Aurelien Jarno <aurel32@debian.org>
15014
ed759390 150152008-05-07 Ian Campbell <ijc@hellion.org.uk>
15016
15017 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
15018 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
15019 (make_device_map): Output entries for xvd type disks.
15020
b56c4eaa 150212008-05-07 Robert Millan <rmh@aybabtu.com>
15022
15023 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
15024 devices.
15025 * util/grub-mkdevicemap.c (get_cciss_disk_name)
15026 (make_device_map): Likewise.
15027 Reported by Roland Dreier <rdreier@cisco.com>
15028
7f8866ed 150292008-05-07 Robert Millan <rmh@aybabtu.com>
15030
15031 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
15032 grub_strstr() call. Correct a few mistakes in failure path handling.
15033
b0346e0f 150342008-05-06 Robert Millan <rmh@aybabtu.com>
15035
15036 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15037 Do not print a trailing slash (therefore, the root directory is an
15038 empty string).
15039 (convert_system_path_to_grub_path): Do not remove trailing slash
15040 from make_system_path_relative_to_its_root() output.
15041
15042 * util/i386/pc/grub-install.in: Add trailing slash to output from
15043 make_system_path_relative_to_its_root().
15044
6cf12cbd 150452008-05-06 Robert Millan <rmh@aybabtu.com>
15046
15047 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
15048 ensures that output lines aren't intermangled with those sent to
15049 stderr (via grub_util_info()).
15050 * util/grub-probe.c (grub_refresh): Likewise.
15051 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
15052
0fbb3117 150532008-05-05 Christian Franke <franke@computer.org>
15054
15055 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
15056 Add Cygwin device names.
15057 (get_ide_disk_name) [__CYGWIN__]: Likewise.
15058 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
15059 (check_device): Return error instead of success on empty name.
15060 (make_device_map): Move label inside linux specific code to
15061 prevent compiler warning.
15062
8124cdb7 150632008-04-30 Robert Millan <rmh@aybabtu.com>
15064
15065 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
15066 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
15067 first boot option.
15068 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
15069
094c01d0 150702008-04-29 Robert Millan <rmh@aybabtu.com>
15071
15072 * docs/grub.cfg: New file (example GRUB configuration).
15073
f4b1fc02 150742008-04-26 Robert Millan <rmh@aybabtu.com>
15075
329ce2a5 15076 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
15077 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
15078 and `disk/ieee1275/nand.c'.
f4b1fc02 15079
25f16ec1 150802008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 15081
25f16ec1 15082 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
15083 i386-linuxbios.
15084
15085 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
15086 change the buffer size to 4096 for cdrom device.
15087
15088 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
15089 and nand.mod.
15090 (_linux_mod_SOURCES): New variable.
15091 (_linux_mod_CFLAGS): Likewise.
15092 (_linux_mod_LDFLAGS): Likewise.
15093 (linux_mod_SOURCES): Likewise.
15094 (linux_mod_CFLAGS): Likewise.
15095 (linux_mod_LDFLAGS): Likewise.
15096 (nand_mod_SOURCES): Likewise.
15097 (nand_mod_CFLAGS): Likewise.
15098 (nand_mod_LDFLAGS): Likewise.
15099
15100 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
15101 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
15102 type property. (nand device in olpc don't have this property)
15103
15104 * include/grub/disk.h (grub_disk_dev_id): New macro
15105 GRUB_DISK_DEVICE_NAND_ID.
15106
15107 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
15108 function prototype.
15109 (grub_rescue_cmd_initrd): Likewise.
15110
15111 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
15112 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
15113 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 15114
25f16ec1 15115 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
15116 GRUB_MACHINE_IEEE1275 is defined.
15117
15118 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
15119 Use NESTED_FUNC_ATTR attribute on the hook parameter.
15120
15121 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
15122 on nested function heap_init.
15123 (grub_upper_mem): New variable for i386-ieee1275.
15124 (grub_get_extended_memory): New function for i386-ieee1275.
15125 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
15126
15127 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
15128 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
15129 property.
f19dbdb7 15130
25f16ec1 15131 * loader/i386/ieee1275/linux.c: New file.
15132
15133 * loader/i386/ieee1275/linux_normal.c: New file.
15134
15135 * disk/ieee1275/nand.c: New file.
15136
e89d61e9 151372008-04-18 Thomas Schwinge <tschwinge@gnu.org>
15138
15139 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
15140 value.
15141 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
15142
602566f6 151432008-04-18 Robert Millan <rmh@aybabtu.com>
15144
15145 Restructures early code path on ieee1275 to unify grub_main() as
15146 the first C function that is executed in every platform.
15147
15148 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
15149 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
15150 cmain().
15151 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
15152 * kern/ieee1275/cmain.c (cmain): Rename to ...
15153 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
15154 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
15155 at the beginning.
15156
57490c2b 151572008-04-18 Robert Millan <rmh@aybabtu.com>
15158
15159 * util/update-grub.in: Fix syntax error when setting
15160 `GRUB_PRELOAD_MODULES'.
15161 Reported by Stephane Chazelas <stephane@artesyncp.com>
15162
1977517d 151632008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
15164
15165 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
15166 section into account, newer toolchains generate unique build ids
15167 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 15168 we want build ids to be preserved
1977517d 15169 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
15170 far from other sections don't cause the raw binary images grow
15171 size
15172
bfb1f1a2 151732008-04-15 Robert Millan <rmh@aybabtu.com>
15174
15175 * disk/lvm.c: Update copyright year.
15176 * kern/misc.c: Likewise.
15177
01979850 151782008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15179
15180 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 15181 there is no memory left for physical volume name.
01979850 15182
0a1150e2 151832008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15184
15185 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
15186 volume name mapping to support bigger than 9 character names properly.
15187
82ead3fe 151882008-04-13 Robert Millan <rmh@aybabtu.com>
15189
15190 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15191 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15192
e54a72f5 151932008-04-13 Christian Franke <franke@computer.org>
15194
15195 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15196 to create a floppy emulation boot CD when non emulation mode
15197 does not work.
15198 Enable Joliet CD filesystem extension.
15199
9fe86034 152002008-04-13 Robert Millan <rmh@aybabtu.com>
15201
15202 * kern/misc.c (grub_strncat): Fix off-by-one error.
15203 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15204
15205 * kern/env.c (grub_env_context_close): Clear current context, not
15206 previous one.
15207 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15208
15209 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15210
7ceeee39 152112008-04-13 Robert Millan <rmh@aybabtu.com>
15212
15213 Improve robustness when handling LVM.
15214
15215 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 15216 (and leave `*p' unmodified).
7ceeee39 15217 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15218 through it.
15219 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15220 iterating through it.
15221 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15222 through it.
fe6b695a 15223 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 15224 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15225 Don't assume `vg->pvs != NULL' when iterating through it.
15226
58cd3d85 152272008-04-13 Robert Millan <rmh@aybabtu.com>
15228
15229 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15230 * genmk.rb (partmap): New variable.
15231 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15232 (#{partmap}): New target rule.
15233 * genpartmaplist.sh: New file.
15234 * Makefile.in (pkglib_DATA): Add partmap.lst.
15235 (partmap.lst): New target rule.
15236 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15237 modules (including all partition maps), instead of preloading them.
15238
78b51059 152392007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15240
15241 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15242 `linux-boot-prober' (if installed) to detect other operating
15243 systems which are installed on the computer and add them to
15244 the boot menu.
15245 * conf/common.rmk: Build and install 30_os-prober.
15246
a91627b4 152472008-04-12 Robert Millan <rmh@aybabtu.com>
15248
15249 * kern/powerpc/ieee1275/init.c: Move from here ...
15250 * kern/ieee1275/init.c: ... to here. Update all users.
15251
15252 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15253 * kern/ieee1275/cmain.c: ... to here. Update all users.
15254
15255 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15256 * kern/ieee1275/openfw.c: ... to here. Update all users.
15257
15258 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15259 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15260
322562ea 152612008-04-10 Pavel Roskin <proski@gnu.org>
15262
15263 * configure.ac: Always use "_cv_" in cache variables for
15264 compatibility with Autoconf 2.62.
15265
a02a73c5 152662008-04-07 Robert Millan <rmh@aybabtu.com>
15267
15268 Revert grub/machine/init.h addition by Pavel (since it breaks on
15269 i386-ieee1275 and others):
15270 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15271 * util/powerpc/ieee1275/misc.c: Likewise.
15272
25c024b1 152732008-04-07 Robert Millan <rmh@aybabtu.com>
15274
15275 * util/grub-probe.c (probe): Improve error message.
15276
3cbd2f98 152772008-04-07 Robert Millan <rmh@aybabtu.com>
15278
15279 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15280 (this prevents the presence of a bogus entry from ruining the whole
15281 thing).
15282
87a297bf 152832008-04-06 Pavel Roskin <proski@gnu.org>
15284
36747a62 15285 * util/biosdisk.c: Include grub/util/biosdisk.h.
15286 * util/grub-fstest.c (execute_command): Make static.
15287 * util/grub-mkdevicemap.c (check_device): Likewise.
15288 * util/i386/pc/misc.c: Include grub/machine/init.h.
15289 * util/powerpc/ieee1275/misc.c: Likewise.
15290 * util/lvm.c: Include grub/util/lvm.h.
15291 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15292 grub/cache.h.
15293 * util/raid.c: Include grub/util/raid.h.
15294 (grub_util_getdiskname): Make static.
15295
87a297bf 15296 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15297 grub_hostfs_fini(), as they are called from grub_init_all() and
15298 grub_fini_all() respectively. This fixes an infinite loop in
15299 grub-fstest due to double registration of hostfs.
15300 Reported by Christian Franke <Christian.Franke@t-online.de>
15301
f6ce7629 153022008-04-05 Pavel Roskin <proski@gnu.org>
15303
15304 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15305 all 8 functions. Otherwise, probe function 0 only.
15306
070e49e4 153072008-04-04 Pavel Roskin <proski@gnu.org>
15308
8b088a4c 15309 * commands/lspci.c (grub_lspci_iter): Print the bus number
15310 correctly.
15311
4f657021 15312 * commands/lspci.c (grub_pci_classes): Fix typos.
15313 (grub_lspci_iter): Don't print func twice. Print vendor ID
15314 before device ID, as it's normally done.
15315
070e49e4 15316 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15317 Fix signedness warnings.
15318 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15319 Likewise.
15320 * util/ieee1275/get_disk_name.c: Include config.h so that
15321 _GNU_SOURCE is defined and getline() is declared. Mark an
15322 unused argument as such. Fix a signedness warning.
15323
ba7328dc 153242008-04-02 Pavel Roskin <proski@gnu.org>
15325
26887f22 15326 * genkernsyms.sh.in: Use more robust assignments for CC and
15327 srcdir. Quote srcdir.
15328 * gensymlist.sh.in: Likewise. Assert at the compile time that
15329 the symbol table is not empty.
15330
ba7328dc 15331 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15332 * fs/cpio.c (grub_cpio_read): Likewise.
15333
0f582c6b 153342008-04-01 Pavel Roskin <proski@gnu.org>
15335
4b6e1995 15336 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15337 * disk/host.c (grub_host_open): Likewise.
15338 * disk/loopback.c (grub_loopback_open): Likewise.
15339 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15340 disk->id as in disk/host.c, not a multi-character constant.
15341
828a2768 15342 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15343 later is obsolete, potentially dangerous and sets a bad example.
15344 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15345 * util/misc.c (grub_util_get_image_size): Likewise.
15346
2bb4fb47 15347 * disk/loopback.c (options): Improve help for "--partitions".
15348
0f582c6b 15349 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15350 options to align them with the short options, e.g. "echo -e".
15351
a33224e0 153522008-03-31 Bean <bean123ch@gmail.com>
15353
15354 * video/reader/png.c (grub_png_data): New member is_16bit and
15355 image_data.
15356 (grub_png_decode_image_header): Detect 16 bit png image.
15357 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15358 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15359 (grub_video_reader_png): Release memory occupied by image_data.
15360
15361 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15362 4096 bytes.
15363 (grub_nfs_mount): Skip the test for sector per cluster.
15364
15365 * include/grub/ntfs.h (MAX_SPC): Removed.
15366
86cb4f54 153672008-03-31 Bean <bean123ch@gmail.com>
15368
15369 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15370 (grub_probe_SOURCES): Add fs/afs.c.
15371 (grub_fstest_SOURCES): Likewise.
15372 (afs_mod_SOURCES): New variable.
15373 (afs_mod_CFLAGS): Likewise.
15374 (afs_mod_LDFLAGS): Likewise.
15375
15376 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15377 (grub_emu_SOURCES): Likewise.
15378
15379 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15380
15381 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15382
15383 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15384
15385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15386
15387 * fs/afs.c: New file.
15388
17c74c21 153892008-03-30 Pavel Roskin <proski@gnu.org>
15390
4cb68e89 15391 * disk/host.c: Include grub/misc.h to fix a warning.
15392 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15393 warnings about implicit declarations.
15394
8790bb04 15395 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15396 variable.
15397 * include/grub/i386/loader.h: Change declaration of
15398 grub_linux_boot() to match what grub_loader_set() expects.
15399 * util/getroot.c (grub_guess_root_device): Return const char* to
15400 fix a warning.
15401 * util/grub-probe.c (probe): Fix a warning about uninitialized
15402 abstraction_name variable.
15403 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15404 second argument as unused to fix a warning.
15405
9a3f3296 15406 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15407 missing grub_error() call.
15408
0ecef90d 15409 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15410 2.60 and newer uses it to define datadir.
15411
0bf6d401 15412 * commands/sleep.c: Fix warning about implicit declaration.
15413 * disk/memdisk.c: Likewise.
15414 * loader/aout.c: Likewise.
15415 * loader/i386/bsd_normal.c: Likewise.
15416 * util/grub-probe.c: Likewise.
15417
7cdacf97 15418 * commands/i386/cpuid.c (has_longmode): Make static.
15419 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15420 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15421
17c74c21 15422 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15423 GDT. This is more robust, as %ds can change.
15424 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15425 calling real_to_prot().
15426 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15427
80a3e68b 154282008-03-28 Pavel Roskin <proski@gnu.org>
15429
15430 * kern/i386/pc/startup.S: Assert that uncompressed functions
15431 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15432 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15433 code, as they push parts of the code (error handlers) beyond
15434 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15435 code as correctness and size.
15436
77bcd272 154372008-03-28 Pavel Roskin <proski@gnu.org>
15438
15439 * kern/i386/pc/startup.S
15440 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15441 data block address to the real mode, keep offset minimal. This
15442 works around a bug in AWARD BIOS on old Athlon systems, which
15443 makes CD detection hang.
15444
c5dfd43b 154452008-03-26 Pavel Roskin <proski@gnu.org>
15446
15447 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15448 const.
15449 * include/grub/normal.h: Add grub_parse_color_name_pair()
15450 declaration.
15451
bf962df2 154522008-03-24 Bean <bean123ch@gmail.com>
15453
15454 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15455 (cd_count): Removed.
15456 (cd_drive): New variable.
15457 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15458 (grub_biosdisk_call_hook): Likewise.
15459 (grub_biosdisk_iterate): Change cdrom detection method.
15460 (grub_biosdisk_open): Replace cd_start with cd_drive.
15461 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15462 detect cdrom device.
15463
15464 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15465 Removed.
15466 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15467 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15468 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15469 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15470 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15471 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15472 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15473 (grub_biosdisk_cdrp): New structure.
15474 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15475
15476 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15477
15478 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15479 device.
15480
15481 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15482 New function.
15483
68e7fc7a 154842008-03-20 Robert Millan <rmh@aybabtu.com>
15485
15486 Remove 2 TiB limit in ata.mod.
15487 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15488 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15489 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15490 grub_uint64_t instead of grub_uint32_t.
15491
38ad2cf5 154922008-03-05 Bean <bean123ch@gmail.com>
15493
15494 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15495 (grub_multiboot): Set boot device.
15496
15497 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15498
2b89344e 154992008-03-02 Bean <bean123ch@gmail.com>
15500
15501 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15502 symlink_buffer.
15503
87a95d1f 155042008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15505
15506 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15507 texinfo.tex.
15508
15509 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15510 modified.
15511
15512 * docs/fdl.texi: New file.
f19dbdb7 15513
87a95d1f 15514 * docs/mdate-sh: New file. Copied from gnulib.
15515 * docs/texinfo.tex: Likewise.
15516
15517 * config.guess: Updated from gnulib.
15518 * install-sh: Likewise.
15519
7dc15d8e 155202008-02-28 Robert Millan <rmh@aybabtu.com>
15521
15522 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15523 (aout_mod_SOURCES): New variable.
15524 (aout_mod_CFLAGS): Likewise.
15525 (aout_mod_LDFLAGS): Likewise.
15526
15527 * conf/i386-ieee1275.rmk: Likewise.
15528
b00ab696 155292008-02-28 Robert Millan <rmh@aybabtu.com>
15530
15531 * util/update-grub.in: Reorganise terminal validity check. Accept
15532 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15533 Based on suggestion by Franklin PIAT.
15534
79ca2d78 155352008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15536
15537 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15538 function.
15539 * util/getroot.c (grub_util_check_block_device): New function that
15540 returns the given argument if it is a block device and returns NULL else.
15541 * util/grub-probe.c (argument_is_device): New variable.
15542 (probe): Promote device_name from a variable to an argument. Receive
15543 device_name from grub_util_check_block_device() if path is NULL and from
15544 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15545 (options): Introduce new parameter '-d, --device'.
79ca2d78 15546 (main): Add description of the new parameter to the help screen.
15547 Rename path variable to argument. Set argument_is_device if the '-d'
15548 option is given. Pass argument to probe() depending on
15549 argument_is_device.
15550
0d16e571 155512008-02-24 Bean <bean123ch@gmail.com>
15552
15553 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15554 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15555 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15556 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15557 (GRUB_ISO9660_VOLDESC_END): Likewise.
15558 (grub_iso9660_primary_voldesc): New member escape.
15559 (grub_iso9660_data): New member joliet.
15560 (grub_iso9660_convert_string): New function.
15561 (grub_iso9660_mount): Detect joliet extension.
15562 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15563 (grub_iso9660_iso9660_label): Likewise.
15564
15565 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15566 (grub_setup_SOURCES): Add fs/udf.c.
15567 (grub_fstest_SOURCES): Likewise.
15568 (udf_mod_SOURCES): New variable.
15569 (udf_mod_CFLAGS): Likewise.
15570 (udf_mod_LDFLAGS): Likewise.
15571
15572 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15573 (grub_emu_SOURCES): Likewise.
15574
15575 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15576
15577 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15578
15579 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15580
15581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15582
15583 * fs/udf.c: New file.
15584
8a594a17 155852008-02-24 Robert Millan <rmh@aybabtu.com>
15586
15587 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15588 (normal/lexer.c_DEPENDENCIES): New variables.
15589 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15590 (normal/lexer.c_DEPENDENCIES): Likewise.
15591 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15592 (normal/lexer.c_DEPENDENCIES): Likewise.
15593 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15594 (normal/lexer.c_DEPENDENCIES): Likewise.
15595 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15596 (normal/lexer.c_DEPENDENCIES): Likewise.
15597 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15598 (normal/lexer.c_DEPENDENCIES): Likewise.
15599
2dc33c03 156002008-02-23 Robert Millan <rmh@aybabtu.com>
15601
15602 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15603 since they were intended to be in hex. This didn't break previously
15604 because of a bug in gpt_partition_map_iterate() (see below).
15605
15606 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15607 when checking the validity of GPT header.
15608 Remove `partno', since it always provides the same information as `i'.
15609
f6f4cfb0 156102008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15611
15612 * include/grub/efi/time.h: Fix a wrong comment.
15613
79ff665f 156142008-02-19 Pavel Roskin <proski@gnu.org>
15615
15616 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15617 message.
15618
d38e24c2 156192008-02-19 Bean <bean123ch@gmail.com>
15620
15621 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15622 (aout_mod_SOURCES): New variable.
15623 (aout_mod_CFLAGS): Likewise.
15624 (aout_mod_LDFLAGS): Likewise.
15625 (_bsd_mod_SOURCES): New variable.
15626 (_bsd_mod_CFLAGS): Likewise.
15627 (_bsd_mod_LDFLAGS): Likewise.
15628 (bsd_mod_SOURCES): New variable.
15629 (bsd_mod_CFLAGS): Likewise.
15630 (bsd_mod_LDFLAGS): Likewise.
15631
15632 * include/grub/aout.h: New file.
15633
15634 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
15635
15636 * include/grub/i386/bsd.h: New file.
15637
15638 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
15639 to make it public.
15640
15641 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
15642 function is called, so that it's possible to change it inside the hook.
15643 (grub_elf64_load): Likewise.
15644 (grub_elf_file): Don't close the file if elf header is not found.
15645 (grub_elf_close): Close the file if grub_elf_file fails (The new
15646 grub_elf_file won't close it).
15647 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
15648 (grub_elf64_size): Likewise.
15649
15650 * kern/i386/loader.S (grub_unix_real_boot): New function.
15651
15652 * loader/aout.c: New file.
15653
15654 * loader/i386/bsd.c: New file.
15655
15656 * loader/i386/bsd_normal.c: New file.
15657
15658 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
15659
15660 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 15661 can test other formats.
d38e24c2 15662
b93bdb0f 156632008-02-19 Robert Millan <rmh@aybabtu.com>
15664
15665 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
15666 (grub_gpt_partition_type_empty): Redefine with macro from
15667 `<grub/gpt_partition.h>'.
15668 (gpt_partition_map_iterate): Adjust partition type comparison.
15669
15670 Export `entry' as partmap-specific `part.data' struct.
15671 (grub_gpt_header, grub_gpt_partentry): Move from here ...
15672
15673 * include/grub/gpt_partition.h (grub_gpt_header)
15674 (grub_gpt_partentry): ... to here (new file).
15675
15676 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
15677
15678 (grub_gpt_partition_type_bios_boot): New const variable, defined
15679 with macro from `<grub/gpt_partition.h>'.
15680
15681 (setup): Replace `first_start' with `embed_region', which keeps
15682 track of the embed region (and is partmap-agnostic).
15683
15684 Replace find_first_partition_start() with find_usable_region(),
15685 which finds a usable region for embedding using partmap-specific
15686 knowledge (supports PC/MSDOS and GPT).
15687
15688 Fix all assumptions that the embed region start at sector 1, using
15689 `embed_region.start' from now on. Similarly, use `embed_region.end'
15690 rather than `first_start' to calculate available size.
15691
15692 In grub_util_info() message, replace "into after the MBR" with an
15693 indication of the specific sector our embed region starts at.
15694
66cb40f6 156952008-02-19 Robert Millan <rmh@aybabtu.com>
15696
15697 * DISTLIST: Replace `commands/ieee1275/halt.c' and
15698 `commands/ieee1275/reboot.c' with `commands/halt.c' and
15699 `commands/reboot.c'.
15700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15701 (halt_mod_SOURCES): Likewise.
15702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
15703 (halt_mod_SOURCES): Likewise.
15704
b7202015 157052008-02-17 Christian Franke <franke@computer.org>
15706
15707 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
15708
32b0fc49 157092008-02-17 Robert Millan <rmh@aybabtu.com>
15710
15711 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15712 set `first_start' to 0 for non-PC/MSDOS partition maps.
15713
aca63502 157142008-02-16 Robert Millan <rmh@aybabtu.com>
15715
15716 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
15717 do not assume partition map is PC/MSDOS before performing checks that
15718 are specific to that layout.
15719
0de8be86 157202008-02-13 Robert Millan <rmh@aybabtu.com>
15721
15722 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
15723 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
15724 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
15725
c3db8364 157262008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
15727
15728 * configure.ac: Only a cosmetic change on the handling of
15729 -fno-stack-protector.
15730
f714229e 157312008-02-12 Alexandre Boeglin <alex@boeglin.org>
15732
c3db8364 15733 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
15734 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
15735 reboot.c.
f714229e 15736 (grub_install_SOURCES): Add halt.mod and reboot.mod.
15737 (halt_mod_SOURCES): New variable.
15738 (halt_mod_CFLAGS): Likewise.
15739 (halt_mod_LDFLAGS): Likewise.
15740 (reboot_mod_SOURCES): Likewise.
15741 (reboot_mod_CFLAGS): Likewise.
15742 (reboot_mod_LDFLAGS): Likewise.
15743
c3db8364 15744 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
15745 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
15746 reboot.c.
f714229e 15747 (halt_mod_SOURCES): Likewise.
15748 (reboot_mod_SOURCES): Likewise.
15749
c3db8364 15750 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
15751 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 15752 (reboot_mod_SOURCES): Likewise.
15753
15754 * commands/i386/pc/reboot.c: merge this file ...
15755
15756 * commands/ieee1275/reboot.c: ... and this file ...
15757
15758 * commands/reboot.c: ... to this file.
c3db8364 15759 Add some precompiler directive to include the correct header for
15760 each machine.
f714229e 15761
15762 * commands/ieee1275/halt.c: move this file ...
15763
15764 * commands/halt.c: ... to here.
c3db8364 15765 Add some precompiler directive to include the correct header for
15766 each machine.
f714229e 15767
15768 * include/grub/efi/efi.h (grub_reboot): New function declaration.
15769 (grub_halt): Likewise.
15770
15771 * kern/efi/efi.c (grub_reboot): New function.
15772 (grub_halt): Likewise.
15773
c74493e0 157742008-02-12 Robert Millan <rmh@aybabtu.com>
15775
15776 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
15777 /dev (like it is done for /dev/mapper). This doesn't provide support
15778 for EVMS, but at least it is now easy to identify the problem when it
15779 arises.
15780
d0db4b04 157812008-02-11 Robert Millan <rmh@aybabtu.com>
15782
15783 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
15784 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
15785 comparing it with -1, not 0.
15786
bf748642 157872008-02-10 Robert Millan <rmh@aybabtu.com>
15788
15789 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
15790 `disk/lvm.c'.
15791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15792 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15793
15794 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
15795 `disk/lvm.c' to the end of the list.
15796 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15797 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15798
b5db202a 157992008-02-10 Robert Millan <rmh@aybabtu.com>
15800
15801 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
15802 grub_print_error() instead. This will let user know why we're entering
15803 rescue mode.
15804 Based on suggestions from Sam Morris.
15805
83abee31 158062008-02-10 Alexandre Boeglin <alex@boeglin.org>
15807
15808 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
15809 on remaining N args, instead of "--" arg N times.
15810
78d5a08b 158112008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
15812
15813 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
15814 (fill_with_default_glyph): Changed to use unknown_glyph for fill
15815 pattern for unknown glyphs.
15816
68807e5f 158172008-02-09 Robert Millan <rmh@aybabtu.com>
15818
15819 * configure.ac: Probe for `help2man'.
15820 * Makefile.in (builddir): New variable.
15821 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
15822 or otherwise add a few flags/options to it.
15823 (install-local): For every executable utility or script that is
15824 installed, invoke $(HELP2MAN) to install a manpage based on --help
15825 output.
15826
15827 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
15828 that it doesn't prevent --help from working in build tree.
15829
15830 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
15831 with `bug-grub@gnu.org'.
15832 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
15833 * util/update-grub.in (usage): New function.
15834 Implement proper argument check, with support for --help and --version
15835 (as well as existing -y).
15836
158372008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 15838
15839 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
15840 avoid overwriting previous output.
15841 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
15842
c1962162 158432008-02-09 Robert Millan <rmh@aybabtu.com>
15844
15845 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
15846 drawing the menu.
15847
3dac2e3f 158482008-02-09 Robert Millan <rmh@aybabtu.com>
15849
15850 * commands/sleep.c: New file.
15851 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
15852 (sleep_mod_SOURCES): New variable.
15853 (sleep_mod_CFLAGS): Likewise.
15854 (sleep_mod_LDFLAGS): Likewise.
15855
7a634e08 158562008-02-09 Robert Millan <rmh@aybabtu.com>
15857
15858 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
15859 situations in which we can deduce the RAID size and the superblock
15860 doesn't match it.
15861
b92f0c18 158622008-02-09 Robert Millan <rmh@aybabtu.com>
15863
15864 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
15865 and return a grub_diskmemberlist_t composed of LVM physical volumes.
15866 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
15867
15868 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
15869 and return a grub_diskmemberlist_t composed of physical array members.
15870 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
15871
15872 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
15873 prototype.
15874 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
15875 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
15876 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
15877
15878 * util/grub-probe.c (probe): Move partmap probing code from here ...
15879 (probe_partmap): ... to here.
15880 (probe): Use probe_partmap() once for the disk we're probing, and
15881 additionally, when such disk contains a memberlist() struct member,
15882 once for each disk that is contained in the structure returned by
15883 memberlist().
15884
91a4bf68 158852008-02-09 Robert Millan <rmh@aybabtu.com>
15886
15887 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
15888 environment variable to 'all' in order to obtain debug output from
15889 non-util/ code.
15890 * util/i386/pc/grub-setup.c (main): Likewise.
15891
a96f9caa 158922008-02-08 Robert Millan <rmh@aybabtu.com>
15893
15894 * disk/raid.c (grub_raid_scan_device): Check for
15895 `array->device[sb.this_disk.number]' rather than for
15896 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 15897 guaranteed to be accessible.
a96f9caa 15898
b37a9222 158992008-02-08 Robert Millan <rmh@aybabtu.com>
15900
15901 * disk/raid.c: Update copyright.
15902 * fs/cpio.c: Likewise.
15903 * include/grub/raid.h: Likewise.
15904 * loader/i386/pc/multiboot.c: Likewise.
15905 * util/hostfs.c: Likewise.
15906
5626aee1 159072008-02-08 Robert Millan <rmh@aybabtu.com>
15908
15909 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
15910 to a grub_disk_t array.
15911 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
15912 `device[x]'.
15913 (grub_raid_scan_device): Replace `device[x].name' accesses with
15914 `device[x]->name'. Simplify initialization of `array->device[x]'.
15915
554f0187 159162008-02-08 Robert Millan <rmh@aybabtu.com>
15917
15918 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
15919 grub_dprintf() calls.
15920 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
15921 error message.
15922
1ec8425d 159232008-02-07 Christian Franke <franke@computer.org>
15924
15925 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
15926 instead of fseek and ftell to support large files.
15927 (grub_hostfs_read): Likewise.
15928
f2156fda 159292008-02-07 Robert Millan <rmh@aybabtu.com>
15930
15931 Patch from Jeroen Dekkers.
15932 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 15933 failure, since successfully reading all array members might not be
f2156fda 15934 required.
15935
9216e0e7 159362008-02-06 Robert Millan <rmh@aybabtu.com>
15937
15938 * util/grub-probe.c (probe): Simplify partmap probing (with the
15939 assumption that the first word up to the underscore equals to
15940 the module name).
15941
b0dfd29a 159422008-02-06 Christian Franke <franke@computer.org>
15943
15944 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
15945 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
15946 last block of a cpio or tar stream.
15947 Check for "TRAILER!!!" instead of any empty data
15948 block to detect last block of a cpio stream.
15949 (grub_cpio_dir): Fix constness of variable np.
15950 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
15951 cpio or tar trailer is detected. This fixes a crash
15952 on open of a non existing file.
15953
c32865bf 159542008-02-05 Bean <bean123ch@gmail.com>
15955
15956 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
15957 address of entry.
15958 (grub_multiboot_load_elf64): Likewise.
15959 (grub_multiboot): Initialize mbi structure.
15960
15961 * util/grub-fstest.c: Don't include unused header file script.h.
15962
fe6b695a 15963 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 15964 of file.
15965 (grub_fstest_SOURCES): Likewise.
15966
409480b7 159672008-02-05 Robert Millan <rmh@aybabtu.com>
15968
15969 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
15970 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
15971 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
15972 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
15973
15974 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
15975 (translation_table): Replace hardcoded values with macros
15976 provided by `<grub/term.h>'.
15977
15978 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
15979 (keyboard_map): Correct/add a few values, with macros provided
15980 by `<grub/term.h>'.
15981 (keyboard_map_shift): Zero values that don't differ from their
15982 `keyboard_map' equivalents.
15983 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
15984 Discard the second scan code that is always sent by Caps lock.
15985 Only use `keyboard_map_shift' when it provides a non-zero value,
15986 otherwise fallback to `keyboard_map'.
15987
99fadbaa 159882008-02-04 Bean <bean123ch@gmail.com>
15989
15990 * Makefile.in (enable_grub_fstest): New variable.
15991
15992 * conf/common.rmk (grub_fstest_init.lst): New rule.
15993 (grub_fstest_init.h): Likewise.
15994 (grub_fstest_init.c): Likewise.
15995 (util/grub-fstest.c_DEPENDENCIES): New variable.
15996 (grub_fstest_SOURCES): Likewise.
15997
15998 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
15999
16000 * util/grub-fstest.c: New file.
16001
bf567c50 160022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16003
16004 Make grub-setup handle a separate root device.
f19dbdb7 16005
bf567c50 16006 * util/i386/pc/grub-setup.c (setup): Always open the root device,
16007 so that the root device can be compared with the destination
16008 device.
16009 When embedding the core image, if the root and destination devices
16010 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
16011 0xFF.
16012 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 16013
9be6b98b 160142008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16015
16016 Add support for having a grub directory in a different drive. This
16017 is still only the data handling part.
f19dbdb7 16018
9be6b98b 16019 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
16020 (codestart): Save %dh in GRUB_ROOT_DRIVE.
16021 (grub_root_drive): New variable.
16022
16023 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
16024 instead of GRUB_BOOT_DRIVE to construct a device name. Set
16025 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
16026 as it was.
16027
16028 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
16029
16030 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
16031 macro.
16032 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
16033
16034 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
16035 is bogus, because PXE booting does not specify any drive
16036 correctly.
16037
16038 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
16039 am not sure if this is really correct.
16040
16041 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
16042 is always identical to the boot drive when booting from a CD.
16043
16044 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
16045 longer.
16046 (root_drive): New variable.
16047 (real_start): Unconditionally set %dh to ROOT_DRIVE.
16048 (setup_sectors): Push %dx right after popping it, because %dh will
16049 be modified later.
16050 (copy_buffer): Restore %dx.
16051
e0ca0677 160522008-02-03 Robert Millan <rmh@aybabtu.com>
16053
16054 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
16055 use `cdboot.img' for cdrom images.
16056
3b3f6629 160572008-02-03 Robert Millan <rmh@aybabtu.com>
16058
16059 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
16060 only setup gfxterm when `font' command has succeeded.
16061
d42b3672 160622008-02-03 Robert Millan <rmh@aybabtu.com>
16063
16064 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
16065 (grub_rescue_cmd_multiboot_loader)
16066 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
16067
fa370ea6 160682008-02-03 Pavel Roskin <proski@gnu.org>
16069
e0c5dacb 16070 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 16071 %edx and %esi from stack only after grub_gate_a20() is called.
16072 grub_gate_a20() clobbers %edx.
16073
f2a76e1d 160742008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16075
16076 * configure.ac (AC_INIT): Bumped to 1.96.
16077
16078 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
16079 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
16080 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
16081 video/readers/png.c.
16082
90fd32d1 160832008-02-03 Bean <bean123ch@gmail.com>
9be665dd 16084
16085 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
16086 (cdboot_img_SOURCES): New variable.
16087 (cdboot_img_ASFLAGS): New variable.
16088 (cdboot_img_LDFLAGS): New variable.
16089
16090 * boot/i386/pc/cdboot.S: New file.
16091
16092 * disk/i386/pc/biosdisk.c (cd_start): New variable.
16093 (cd_count): Likewise.
16094 (grub_biosdisk_get_drive): Add support for cd device.
16095 (grub_biosdisk_call_hook): Likewise.
16096 (grub_biosdisk_iterate): Likewise.
16097 (grub_biosdisk_open): Likewise.
16098 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
16099 (grub_biosdisk_rw): Support reading from cd device.
16100 (GRUB_MOD_INIT): Iterate cd devices.
16101
16102 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
16103 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
16104 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
16105
16106 * kern/i386/pc/init.c (make_install_device): Check for cd device.
16107
4020aa53 161082008-02-02 Robert Millan <rmh@aybabtu.com>
16109
16110 * commands/read.c: New file.
16111 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
16112 (read_mod_SOURCES): New variable.
16113 (read_mod_CFLAGS): Likewise.
16114 (read_mod_LDFLAGS): Likewise.
16115
e03a1132 161162008-02-02 Robert Millan <rmh@aybabtu.com>
16117
16118 * normal/main.c (grub_normal_execute): Check for `menu->size' when
16119 determining whether menu has to be displayed.
16120
58c69220 161212008-02-02 Marco Gerards <marco@gnu.org>
16122
16123 * bus/pci.c: New file.
16124
16125 * include/grub/pci.h: Likewise.
16126
16127 * include/grub/i386/pc/pci.h: Likewise.
16128
16129 * commands/lspci.c: Likewise.
16130
16131 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
16132 `lspci.mod'.
16133 (pci_mod_SOURCES): New variable.
16134 (pci_mod_CFLAGS): Likewise.
16135 (pci_mod_LDFLAGS): Likewise.
16136 (lspci_mod_SOURCES): Likewise.
16137 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 16138 (lspci_mod_LDFLAGS): Likewise.
58c69220 16139
c004e1b4 161402008-02-02 Bean <bean123ch@gmail.com>
16141
16142 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
16143 (grub_ufs_get_file_block): Fix indirect block calculation problem.
16144
16145 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
16146 (grub_xfs_btree_node): New structure.
16147 (grub_xfs_btree_root): New structure.
16148 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
16149 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
16150 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16151 (GRUB_XFS_EXTENT_SIZE): Likewise.
16152 (grub_xfs_read_block): Support btree format type.
16153 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
16154 Use directory block as basic unit.
16155
16156 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
16157
16158 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
16159 __attribute__ ((__regparm__ (1))).
16160
f95562bf 161612008-02-01 Robert Millan <rmh@aybabtu.com>
16162
16163 Correct a mistake in previous commit.
16164
16165 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
16166 top.
16167 (normal/command.c_DEPENDENCIES): New variable.
16168
7d31f41f 161692008-02-01 Robert Millan <rmh@aybabtu.com>
16170
16171 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
16172 top.
16173 (normal/command.c_DEPENDENCIES): New variable.
16174 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
16175 * conf/i386-ieee1275.rmk: Likewise.
16176 * conf/i386-linuxbios.rmk: Likewise.
16177 * conf/i386-pc.rmk: Likewise.
16178 * conf/sparc64-ieee1275.rmk: Likewise.
16179 * conf/powerpc-ieee1275.rmk: Likewise.
16180 (grub_emu_SOURCES): Add `fs/fshelp.c'.
16181
16182 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
16183
60b6be74 161842008-02-01 Robert Millan <rmh@aybabtu.com>
16185
16186 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
16187 call at beginning of function.
16188
078522ab 161892008-01-31 Pavel Roskin <proski@gnu.org>
16190
16191 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 16192 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16193 (grub_mkrescue_SOURCES): Likewise.
078522ab 16194 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16195
ccaa8a5f 161962008-01-30 Robert Millan <rmh@aybabtu.com>
16197
16198 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16199 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16200 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16201 (grub_probe_SOURCES): ... to here.
16202
16203 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16204 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16205 * conf/i386-ieee1275.rmk: Likewise.
16206 * conf/i386-linuxbios.rmk: Likewise.
16207 * conf/powerpc-ieee1275.rmk: Likewise.
16208
ae5a9cd7 162092008-01-30 Tristan Gingold <gingold@free.fr>
16210
16211 * kern/rescue.c: Silently accept empty lines.
16212
70bc2ef2 162132008-01-29 Bean <bean123ch@gmail.com>
16214
16215 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16216 (real_code_2): Code cleanup and change comment style.
16217 (move_memory): Avoid using 32-bit address mode.
16218
6a4d50ea 162192008-01-29 Bean <bean123ch@gmail.com>
16220
16221 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16222 (png_mod_SOURCES): New variable.
16223 (png_mod_CFLAGS): Likewise.
16224 (png_mod_LDFLAGS): Likewise.
16225
16226 * video/readers/png.c: New file.
16227
11cc30ac 162282008-01-28 Robert Millan <rmh@aybabtu.com>
16229
16230 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16231 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16232 `ifndef GRUB_MOD_GAP' hack.
16233 * util/elf/grub-mkimage.c (add_segments): Likewise.
16234
3abc589f 162352008-01-27 Robert Millan <rmh@aybabtu.com>
16236
16237 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16238 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 16239 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 16240
e1907778 162412008-01-27 Robert Millan <rmh@aybabtu.com>
16242
16243 Get grub-emu to build again (including parallel builds).
16244
16245 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16246 Split into ...
16247 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16248 (normal/execute.c_DEPENDENCIES): ... this, ...
16249 (grub-emu_DEPENDENCIES): ... and this.
16250
16251 * conf/i386-efi.rmk: Likewise.
16252 * conf/i386-linuxbios.rmk: Likewise.
16253 * conf/i386-ieee1275.rmk: Likewise.
16254 * conf/powerpc-ieee1275.rmk: Likewise.
16255 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16256
2216b101 162572008-01-27 Robert Millan <rmh@aybabtu.com>
16258
16259 * NEWS: Add a few items.
16260
f75172d9 162612008-01-27 Robert Millan <rmh@aybabtu.com>
16262
16263 Fix parallel builds with grub-emu. Based on earlier commit for
16264 grub-probe and grub-setup.
16265
16266 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16267 (util/grub-emu.c_DEPENDENCIES): ... this.
16268 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16269 (util/grub-emu.c_DEPENDENCIES): ... this.
16270 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16271 (util/grub-emu.c_DEPENDENCIES): ... this.
16272 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16273 (util/grub-emu.c_DEPENDENCIES): ... this.
16274 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16275 (util/grub-emu.c_DEPENDENCIES): ... this.
16276
3f51de77 162772008-01-27 Pavel Roskin <proski@gnu.org>
16278
16279 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16280 to create a gap between _end and the modules added to the image
16281 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16282 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16283 * util/elf/grub-mkimage.c (add_segments): Likewise.
16284
2033f53e 162852008-01-26 Pavel Roskin <proski@gnu.org>
16286
16287 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16288 just return an error.
16289
22da1f6f 162902008-01-26 Bean <bean123ch@gmail.com>
16291
16292 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16293 (grub_reiserfs_get_item): Save offset of the next item.
16294 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16295
2a9525e6 162962008-01-25 Robert Millan <rmh@aybabtu.com>
16297
16298 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16299 make all filesystem sources appear together (possibly fixing omissions
16300 while at it).
16301 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16302 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16303 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16305
16306 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16307 add `kern/file.c'.
16308 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16309 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16310 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16311 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16312
16313 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16314 (probe): Add a sanity check to make sure of our ability to read
16315 requested files when probing for filesystem type.
16316
16317 * genmk.rb: Update copyright year (2007).
16318
16319 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16320 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16321 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16322 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16323 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16324 : Remove function prototypes.
16325
b95f71b5 163262008-01-25 Robert Millan <rmh@aybabtu.com>
16327
16328 Revert my previous commits (based on wrong assumption of how grub_errno
16329 works).
16330
fe6b695a 16331 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16332 * kern/file.c (grub_file_open): Likewise.
16333
d08bbb49 163342008-01-24 Pavel Roskin <proski@gnu.org>
16335
16336 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16337 that hang if GRUB tries to setup colors.
16338 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16339 colors for firmwares that don't support it.
16340 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16341 Recognize Open Hack'Ware, set flags to work around its
16342 limitations.
16343
605e36ed 163442008-01-24 Robert Millan <rmh@aybabtu.com>
16345
16346 * kern/file.c (grub_file_open): Do not account previous failures of
16347 unrelated functions when grub_errno is checked for.
16348 Reported by Oleg Strikov.
16349
bac332a1 163502008-01-24 Bean <bean123ch@gmail.com>
16351
16352 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16353 (grub_ufs_sblock): New member volume name.
16354 (grub_ufs_find_file): Fix string copy bug.
16355 (grub_ufs_label): Implement this function properly.
16356
16357 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16358 (grub_hfs_iterate_records): Use the correct file number for extents
16359 and catalog file. Fix problem in next index calculation.
16360 (grub_hfs_find_node): Replace recursive function call with loop.
16361 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16362
15c80c09 163632008-01-23 Robert Millan <rmh@aybabtu.com>
16364
16365 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16366 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16367 (grub_multiboot2_real_boot): New function prototype.
16368
16369 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16370 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16371
16372 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16373 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16374
305338fd 163752008-01-23 Robert Millan <rmh@aybabtu.com>
16376
16377 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16378 #ifdef'ed out grub_printf().
16379
3ea52685 163802008-01-23 Robert Millan <rmh@aybabtu.com>
16381
16382 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16383 grub_dprintf calls, since they make "debug=all" mode unusable.
16384 (grub_console_checkkey): Likewise.
16385
5882ae4b 163862008-01-23 Robert Millan <rmh@aybabtu.com>
16387
16388 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16389 `term/i386/pc/at_keyboard.c'.
16390 (pkglib_MODULES): Add `serial.mod'.
16391 (serial_mod_SOURCES): New variable.
16392 (serial_mod_CFLAGS): Likewise.
16393 (serial_mod_LDFLAGS): Likewise.
16394
16395 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16396 `<grub/powerpc/ieee1275/console.h>'.
16397 (grub_keyboard_controller_init): New function prototype.
16398 (grub_console_checkkey): Likewise.
16399 (grub_console_getkey): Likewise.
16400
16401 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16402 keyboard on i386.
16403
16404 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16405 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16406
06ab5303 164072008-01-23 Robert Millan <rmh@aybabtu.com>
16408
16409 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16410 present, "(memdisk)/boot/grub" becomes the default prefix.
16411
16412 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16413 a memdisk tarball with all the modules. Add --overlay=DIR option that
16414 allows users to overlay additional files into the image.
16415
dbb475a4 164162008-01-23 Robert Millan <rmh@aybabtu.com>
16417
16418 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16419 and `machine/memory.h'.
16420 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16421 (_multiboot_mod_SOURCES): New variable.
16422 (_multiboot_mod_CFLAGS): Likewise.
16423 (_multiboot_mod_LDFLAGS): Likewise.
16424 (multiboot_mod_SOURCES): Likewise.
16425 (multiboot_mod_CFLAGS): Likewise.
16426 (multiboot_mod_LDFLAGS): Likewise.
16427
16428 * include/grub/i386/ieee1275/loader.h: New file.
16429
16430 * include/grub/i386/ieee1275/machine.h: Likewise.
16431
16432 * include/grub/i386/ieee1275/memory.h: Likewise.
16433
16434 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16435 variable declaration.
16436 (grub_os_area_size): Likewise.
16437
16438 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16439 (grub_lower_mem, grub_upper_mem): New variables.
16440 (grub_stop_floppy): New function (just to make
16441 grub_multiboot2_real_boot() happy).
16442
16443 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16444 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16445 (grub_stop): New function.
16446 Include `"../realmode.S"' and `"../loader.S"'.
16447
16448 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16449 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16450
16451 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16452 rely on grub_multiboot2_real_boot() for final boot.
16453
25638629 164542008-01-22 Robert Millan <rmh@aybabtu.com>
16455
16456 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16457 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16458 device that doesn't look like an SD card.
16459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16460 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16461 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16462 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16463 found.
16464
9dad816d 164652008-01-22 Robert Millan <rmh@aybabtu.com>
16466
16467 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16468 avoid claiming over our own code.
16469
34842f2d 164702008-01-22 Bean <bean123ch@gmail.com>
16471
16472 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16473 (jpeg_mod_SOURCES): New variable.
16474 (jpeg_mod_CFLAGS): Likewise.
16475 (jpeg_mod_LDFLAGS): Likewise.
16476
16477 * video/readers/jpeg.c : New file.
16478
44023a28 164792008-01-22 Bean <bean123ch@gmail.com>
16480
16481 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16482 there are no more items.
16483
bc2d8ac6 164842008-01-21 Robert Millan <rmh@aybabtu.com>
16485
16486 * kern/mm.c (grub_mm_init_region): Improve debug message.
16487
261bd4bc 164882008-01-21 Robert Millan <rmh@aybabtu.com>
16489
16490 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16491 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16492 address.
16493 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16494 a C macro.
16495 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16496 Indicates start of upper memory.
16497 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16498 (generate_image): Abort when image size is big enough to corrupt
16499 upper memory.
16500
16501 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16502 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16503 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16504 instead of hardcoding 0xA0000.
16505 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16506 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16507 instead of hardcoding 0xA0000.
16508
f970b55e 165092008-01-21 Robert Millan <rmh@aybabtu.com>
16510
16511 * disk/memdisk.c (memdisk_size): New variable.
16512 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16513 `memdisk_size'.
16514 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16515 image to dynamic memory.
16516 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16517 `memdisk_size'. Free memdisk block.
16518
1a8b0526 165192008-01-21 Robert Millan <rmh@aybabtu.com>
16520
16521 Fix detection of very small filesystems (like tar).
16522
16523 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16524 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16525 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16526 a problem with this disk).
16527
6e9b4aab 165282008-01-21 Robert Millan <rmh@aybabtu.com>
16529
16530 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16531 on grub_biosdisk_rw_standard() error.
16532
0d8837b2 165332008-01-21 Robert Millan <rmh@aybabtu.com>
16534
16535 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16536 recent changes.
16537 * kern/elf.c: Likewise.
16538 * kern/ieee1275/ieee1275.c: Likewise.
16539 * kern/powerpc/ieee1275/openfw.c: Likewise.
16540 * term/ieee1275/ofconsole.c: Likewise.
16541
ffd36e34 165422008-01-21 Robert Millan <rmh@aybabtu.com>
16543
16544 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16545
3f0093d0 16546 * include/grub/kernel.h (grub_arch_memdisk_addr)
16547 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16548
3f0093d0 16549 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16550 (grub_arch_memdisk_size): ... to here.
ffd36e34 16551
6c391b21 165522008-01-21 Robert Millan <rmh@aybabtu.com>
16553
16554 Mostly based on bugfix from Bean.
16555
16556 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16557 attribute with hook() parameter.
16558 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16559 declaration.
16560 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16561 attribute with hook() parameter.
16562 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16563 declaration.
16564
55a581dc 165652008-01-21 Robert Millan <rmh@aybabtu.com>
16566
16567 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16568 (pkglib_MODULES): Add `memdisk.mod'.
16569 (memdisk_mod_SOURCES): New variable.
16570 (memdisk_mod_CFLAGS): Likewise.
16571 (memdisk_mod_LDFLAGS): Likewise.
16572
16573 * disk/memdisk.c: New file.
16574
16575 * include/grub/disk.h (grub_disk_dev_id): Add
16576 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16577
16578 * include/grub/i386/pc/kernel.h
16579 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16580 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16581 (grub_kernel_image_size): New variable declaration.
16582 (grub_total_module_size): Likewise.
16583 (grub_memdisk_image_size): Likewise.
16584
16585 * include/grub/i386/pc/memory.h
16586 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16587
16588 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16589 (grub_arch_memdisk_addr): New variable declaration.
16590 (grub_arch_memdisk_size): Likewise.
16591
16592 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16593 (grub_arch_memdisk_size): Likewise.
16594
16595 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16596 (codestart): Replace hardcoded `0x100000' with
16597 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16598
16599 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16600 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16601 not NULL, append the contents of the file it refers to, at the end of
16602 the compressed kernel image. Initialize `grub_memdisk_image_size'
16603 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16604 (options): Add "memdisk"|'m' option.
16605 (main): Parse --memdisk|-m option, and pass user-provided path as
16606 parameter to generate_image().
16607
3d7f54c9 166082008-01-20 Robert Millan <rmh@aybabtu.com>
16609
16610 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16611 grub_dprintf() calls from here ...
16612 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16613
0bf74728 166142008-01-20 Robert Millan <rmh@aybabtu.com>
16615
16616 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16617
16618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16619 declaration.
16620 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16621 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16622 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 16623 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 16624 property).
16625 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16626 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16627
33bf70a7 166282008-01-19 Robert Millan <rmh@aybabtu.com>
16629
fe6b695a 16630 Get rid of confusing function (superseded by
33bf70a7 16631 `grub_ieee1275_get_integer_property')
16632 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
16633 prototype.
16634 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
16635 function.
16636 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
16637 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 16638 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 16639
e2da7d26 166402008-01-19 Robert Millan <rmh@aybabtu.com>
16641
16642 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
16643 command after "shut-down", since implementations differ on which
16644 the command for halt is.
16645
59f1fd8d 166462008-01-19 Robert Millan <rmh@aybabtu.com>
16647
16648 * include/grub/i386/linuxbios/console.h: Add header protection.
16649 (grub_keyboard_controller_init): New function prototype.
16650 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16651 (KEYBOARD_COMMAND_READ): Likewise.
16652 (KEYBOARD_COMMAND_WRITE): Likewise.
16653 (KEYBOARD_SCANCODE_SET1): Likewise.
16654 (grub_keyboard_controller_write): New function.
16655 (grub_keyboard_controller_read): Likewise.
16656 (grub_keyboard_controller_init): Likewise.
16657
16658 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
16659 (grub_console_init): On coreboot/LinuxBIOS, call
16660 grub_keyboard_controller_init().
16661
5f5a7c15 166622008-01-19 Robert Millan <rmh@aybabtu.com>
16663
16664 PowerPC changes provided by Pavel Roskin.
16665
16666 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
16667 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
16668 don't rely on cmain() doing it.
16669 * kern/i386/ieee1275/startup.S (_start): Store %eax in
16670 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
16671
1210e168 166722008-01-16 Robert Millan <rmh@aybabtu.com>
16673
16674 * include/grub/i386/linuxbios/memory.h
16675 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
16676 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
16677 receive `table_header' as argument. Instead, probe for it in the
16678 known memory ranges where it can be present.
16679 (grub_available_iterate): Do not pass a fixed `table_header' address
16680 to grub_linuxbios_table_iterate().
16681
3d04eab8 166822008-01-15 Robert Millan <rmh@aybabtu.com>
16683
16684 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
16685 * conf/i386-ieee1275.rmk: New file.
16686 * include/grub/i386/ieee1275/console.h: Likewise.
16687 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
16688 * include/grub/i386/ieee1275/kernel.h: Likewise.
16689 * include/grub/i386/ieee1275/time.h: Likewise.
16690 * kern/i386/ieee1275/init.c: Likewise.
16691 * kern/i386/ieee1275/startup.S: Likewise.
16692
d1bc1b73 166932008-01-15 Robert Millan <rmh@aybabtu.com>
16694
16695 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
16696 when pointers are 32-bit (but still do set it to one when they are
16697 64-bit).
16698
66a65807 166992008-01-15 Robert Millan <rmh@aybabtu.com>
16700
16701 * include/grub/ieee1275/ieee1275.h
16702 (grub_ieee1275_get_integer_property): New function prototype.
16703
16704 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
16705 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 16706 grub_ieee1275_get_property() to handle endianness.
66a65807 16707
16708 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
16709 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 16710 where appropriate.
66a65807 16711 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
16712 (grub_map): Likewise.
16713 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
16714
a83ccafd 167152008-01-15 Bean <bean123ch@gmail.com>
16716
16717 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
16718 (grub_script_execute_cmdline): Reset grub_errno.
16719
16720 * normal/main.c (read_config_file): Reset grub_errno.
16721
16722 * normal/parse.y (script_init): New.
16723 (script): Move function and menuentry here.
16724 (delimiter): New.
16725 (command): Add delimiter at the end of command.
16726 (commands): Adjust to match the new command.
16727 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 16728 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 16729 (if): Use the new commands.
16730
16731 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
16732
df6ecfc6 167332008-01-15 Robert Millan <rmh@aybabtu.com>
16734
16735 * normal/menu.c (run_menu): Move timeout message from here ...
16736 (print_timeout): ... to here.
16737 (run_menu): Use print_timeout() once during initial draw to print
16738 the whole message, and again in every clock tick to update only
16739 the number of seconds.
16740
87ae25eb 167412008-01-15 Robert Millan <rmh@aybabtu.com>
16742
16743 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
16744 actual size of `available' from grub_ieee1275_get_property(), and
16745 restrict parsing to that bound.
16746
47bf09a4 167472008-01-15 Christian Franke <franke@computer.org>
16748
16749 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
16750 (argp_program_version): Remove variable.
16751 (argp_program_bug_address): Likewise.
16752 (options): Convert from struct argp_option to struct option.
16753 (struct arguments): Remove.
16754 (parse_opt): Remove.
16755 (usage): New function.
16756 (main): Replace struct args members by simple variables.
16757 Replace argp_parse() by getopt_long().
16758 Add switch to evaluate options.
16759 Add missing "(...)" around root_dev in prefix string.
16760
c86f1469 167612008-01-14 Robert Millan <rmh@aybabtu.com>
16762
16763 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
16764 for grub_ieee1275_exit(), in order to improve portability.
16765
e622c559 167662008-01-14 Robert Millan <rmh@aybabtu.com>
16767
16768 * util/grub.d/10_linux.in (prefix): Define.
16769 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
16770
44cb1ec8 167712008-01-13 Pavel Roskin <proski@gnu.org>
16772
16773 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
16774 grub_errno if no errors have been detected.
16775
1eb8c802 167762008-01-12 Robert Millan <rmh@aybabtu.com>
16777
16778 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
16779 (grub_util_get_dev_abstraction): New function prototype.
16780
16781 * util/getroot.c: Include `<grub/util/getroot.h>'
16782 (grub_util_get_grub_dev): Move detection of abstraction type to ...
16783 (grub_util_get_dev_abstraction): ... here (new function).
16784
16785 * util/grub-probe.c: Convert PRINT_* to an enum. Add
16786 `PRINT_ABSTRACTION'.
16787 (probe): Probe for abstraction type when requested.
16788 (main): Understand `--target=abstraction'.
16789
16790 * util/i386/efi/grub-install.in: Add abstraction module to core
16791 image when it is found to be necessary.
16792 * util/i386/pc/grub-install.in: Likewise.
16793 * util/powerpc/ieee1275/grub-install.in: Likewise.
16794
16795 * util/update-grub_lib.in (font_path): Return system path without
16796 converting to GRUB path.
16797 * util/update-grub.in: Convert system path returned by font_path()
16798 to a GRUB path. Use `grub-probe -t abstraction' to determine what
16799 abstraction module is needed for loading fonts (if any). Export
16800 that as `GRUB_PRELOAD_MODULES'.
16801 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
16802 insmod commands).
16803
52bd3de9 168042008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
16805
16806 Remove some unused code from reiserfs.
f19dbdb7 16807
52bd3de9 16808 * fs/reiserfs.c (struct grub_reiserfs_key)
16809 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
16810 (struct grub_reiserfs_node_body): Removed.
16811 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16812 Likewise.
16813 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16814 Likewise.
16815 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16816 Likewise.
16817 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
16818 Likewise.
16819 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
16820 Likewise.
16821 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
16822 Likewise.
16823 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16824 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16825 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
16826
2f80039d 168272008-01-10 Robert Millan <rmh@aybabtu.com>
16828
16829 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
16830 Determines if a file is garbage left by packaging systems, etc.
16831 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
16832 for processing /etc/grub.d scripts.
16833 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
16834 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
16835 as a condition for processing Linux images.
16836
87888032 168372008-01-10 Pavel Roskin <proski@gnu.org>
16838
16839 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
16840 to compile reiserfs.c on PowerPC.
16841
7e54fced 168422008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 16843
16844 * kern/device.c (grub_device_iterate): Do not abort device iteration
16845 when one of the devices cannot be opened.
16846 * kern/disk.c (grub_disk_open): Do not account previous failures of
16847 unrelated functions when grub_errno is checked for.
16848
5aa541e6 168492008-01-08 Robert Millan <rmh@aybabtu.com>
16850
16851 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
16852 `! grub_linux_is_bzimage', change order of address comparison to make
16853 it more intuitive, and improve "too big zImage" error message.
16854
7076340d 168552008-01-08 Robert Millan <rmh@aybabtu.com>
16856
16857 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
16858 `$(update-grub_DATA)'.
16859 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
16860 targets.
16861
9ca70333 168622008-01-07 Robert Millan <rmh@aybabtu.com>
16863
16864 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
16865 which instruction is modified by grub-setup during installation
16866 (since it wasn't obvious by only looking at this file).
16867
38ccf575 168682008-01-07 Robert Millan <rmh@aybabtu.com>
16869
16870 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
16871 listing actual TODO items.
16872
f5db4291 168732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16874
868967cf 16875 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
16876 correctly.
16877 (grub_reiserfs_get_key_offset): Likewise.
16878 (grub_reiserfs_set_key_offset): Likewise.
16879 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 16880 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 16881
16882 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
16883 better to remove the bitfield version completely.
f19dbdb7 16884
868967cf 168852008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16886
f5db4291 16887 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
16888 allocated from the heap, due to the fshelp implementation.
16889 (grub_reiserfs_dir): Free NODE, due to the same reason.
16890
492e6d9d 168912008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
16892
16893 Mostly from Vincent Pelletier:
f19dbdb7 16894
492e6d9d 16895 * fs/reiserfs.c: New file.
f19dbdb7 16896
492e6d9d 16897 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
16898 (reiserfs_mod_SOURCES): New variable.
16899 (reiserfs_mod_CFLAGS): Likewise.
16900 (reiserfs_mod_LDFLAGS): Likewise.
16901
16902 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
16903 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
16904 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
16905 normal/color.c.
16906
9ce3e7c1 169072008-01-06 Robert Millan <rmh@aybabtu.com>
16908
16909 * normal/color.c: Remove `<grub/env.h>'.
16910
f3b58148 169112008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
16912
16913 * include/grub/normal.h: Include <grub/env.h>.
16914
7ac3bcfa 169152008-01-05 Robert Millan <rmh@aybabtu.com>
16916
16917 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
16918 usage example with `(hd0,1)'.
fb358190 16919 Reported by Samuel Thibault.
7ac3bcfa 16920
c8ee99d7 169212008-01-05 Robert Millan <rmh@aybabtu.com>
16922
16923 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
16924 (grub_linux_boot_zimage): Rename to ...
16925 (grub_linux_boot): ... this.
16926 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
16927 (grub_linux_boot_zimage): Conditionalize zImage copy.
16928
16929 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
16930 (grub_linux_boot_bzimage): Remove prototype.
16931 (grub_linux_boot_zimage): Rename to ...
16932 (grub_linux_boot): ... this.
16933
16934 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
16935 (grub_linux_boot): Remove function.
16936
0ece25b1 169372008-01-05 Robert Millan <rmh@aybabtu.com>
16938
16939 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
16940 (grub_env_write_color_highlight): Likewise.
16941 (grub_wait_after_message): Likewise.
16942
16943 * normal/color.c: New file.
16944
16945 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16946 (normal_mod_DEPENDENCIES): Likewise.
16947
16948 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16949 (normal_mod_DEPENDENCIES): Likewise.
16950
16951 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16952 (normal_mod_DEPENDENCIES): Likewise.
16953
16954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
16955 (normal_mod_DEPENDENCIES): Likewise.
16956
16957 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
16958 for waiting after a message is printed.
16959 * normal/main.c (read_config_file): Likewise.
16960 (grub_normal_init): Register grub_env_write_color_normal() and
16961 grub_env_write_color_highlight() hooks. Mark `color_normal' and
16962 `color_highlight' variables as global.
16963
16964 * normal/menu.c (grub_wait_after_message): New function.
16965 (grub_color_menu_normal): New variable. Replaces ...
16966 (GRUB_COLOR_MENU_NORMAL): ... this macro.
16967 (grub_color_menu_highlight): New variable. Replaces ...
16968 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
16969 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
16970 `GRUB_TERM_COLOR_STANDARD'.
16971 (print_message): Use `grub_setcolorstate' to reload colors. Rename
16972 `normal_code' and `highlight_code' to `old_color_normal' and
16973 `old_color_highlight', respectively.
16974 (grub_menu_init_page): Update colors when drawing the menu, based on
16975 `menu_color_normal' and `menu_color_highlight' variables.
16976 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
16977 a message is printed.
16978
182dd4e5 169792008-01-05 Robert Millan <rmh@aybabtu.com>
16980
16981 * kern/env.c (grub_env_context_open): Propagate hooks for global
16982 variables to new context.
16983
16984 * kern/main.c (grub_set_root_dev): Export `root' variable.
16985
ddf8f6ad 169862008-01-05 Robert Millan <rmh@aybabtu.com>
16987
16988 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 16989 discs unconditionally, since udev and others have options to provide
ddf8f6ad 16990 them.
16991
d8b43d9b 169922008-01-05 Robert Millan <rmh@aybabtu.com>
16993
16994 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
16995
2bff2de3 169962008-01-04 Christian Franke <franke@computer.org>
16997
16998 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
16999 of eisa_mmap.
17000
97eab917 170012008-01-03 Pavel Roskin <proski@gnu.org>
17002
17003 * kern/i386/linuxbios/init.c: Put "void" to all function
17004 declarations with no arguments.
17005 * kern/powerpc/ieee1275/init.c: Likewise.
17006 * term/i386/pc/at_keyboard.c: Likewise.
17007 * term/i386/pc/vga_text.c: Likewise.
17008 * util/grub-mkdevicemap.c: Likewise.
17009
b9416d00 170102008-01-02 Robert Millan <rmh@aybabtu.com>
17011
17012 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
17013 message when loaded image is out of bounds.
17014 (grub_multiboot_load_elf64): Likewise.
17015
92695df9 170162008-01-02 Pavel Roskin <proski@gnu.org>
17017
17018 * util/grub.d/10_linux.in: Try version without ".old" when
17019 looking for initrd. It's better to use initrd from the newer
17020 kernel of the same version than no initrd at all.
17021
d98d9cad 170222008-01-01 Robert Millan <rmh@aybabtu.com>
17023
17024 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
17025
dbfdce36 170262008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
17027
f19dbdb7 17028 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 17029 grub_video_get_active_render_target.
17030 (grub_video_adapter): Added unmap_color and get_active_render_target.
17031
f19dbdb7 17032 * video/video.c: Added grub_video_unmap_color and
dbfdce36 17033 grub_video_get_active_render_target.
17034 (grub_video_get_info): Changed method to accept NULL pointer as an
17035 argument to allow detection of active video adapter.
17036
17037 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
17038 grub_video_vbe_unmap_color_int.
17039 Added grub_video_vbe_unmap_color and
17040 grub_video_vbe_get_active_render_target.
17041 (grub_video_vbe_adapter): Added unmap_color and
17042 get_active_render_target.
17043
f19dbdb7 17044 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 17045 with grub_video_vbe_unmap_color_int.
17046
17047 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
17048 (DEFAULT_NORMAL_COLOR): Likewise.
17049 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
17050 (DEFAULT_FG_COLOR): Removed.
17051 (DEFAULT_BG_COLOR): Likewise.
17052 (DEFAULT_CURSOR_COLOR): Changed value.
17053 (grub_virtual_screen): Added standard_color_setting,
17054 normal_color_setting, highlight_color_setting and term_color.
17055 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
17056 (bitmap_width): Added.
17057 (bitmap_height): Likewise.
17058 (bitmap): Likewise.
17059 (set_term_color): Likewise.
17060 (grub_virtual_screen_setup): Changed to use new terminal coloring
17061 settings.
17062 (grub_gfxterm_init): Added init for bitmap.
17063 (grub_gfxterm_fini): Added destroy for bitmap.
17064 (redraw_screen_rect): Updated to use background bitmap and new
17065 terminal coloring.
17066 (scroll_up): Added optimization for case when there is no bitmap.
17067 (grub_gfxterm_cls): Fixed to use correct background color.
17068 (grub_virtual_screen_setcolorstate): Changed to use new terminal
17069 coloring.
17070 (grub_virtual_screen_setcolor): Likewise.
17071 (grub_virtual_screen_getcolor): Added.
17072 (grub_gfxterm_background_image_cmd): Likewise.
17073 (grub_video_term): Added setcolor and getcolor.
17074 (MOD_INIT): Added registration of background_image command.
17075 (MOD_TERM): Added unregistration for background_image command.
17076
c3c20931 170772007-12-30 Pavel Roskin <proski@gnu.org>
17078
17079 * loader/multiboot_loader.c: Fix multiboot command
17080 unregistration. Fix all typos in the word "multiboot".
17081
df266716 170822007-12-29 Pavel Roskin <proski@gnu.org>
94239199 17083
17084 * util/grub.d/10_linux.in: Refactor search for initrd. Add
17085 support for initrd names used in Fedora.
17086
fc6e896c 170872007-12-26 Bean <bean123ch@gmail.com>
17088
17089 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
17090 (cpio_mod_SOURCES): New variable.
17091 (cpio_mod_CFLAGS): Likewise.
17092 (cpio_mod_LDFLAGS): Likewise.
17093
17094 * fs/cpio.c: New file.
17095
17096 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
17097
17098 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17099
17100 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17101
17102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17103
533110ad 171042007-12-25 Robert Millan <rmh@aybabtu.com>
17105
17106 * include/grub/term.h (struct grub_term): Add `getcolor' function.
17107 (grub_getcolor): New function.
17108
17109 * kern/term.c (grub_getcolor): New function.
17110 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
17111 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
17112 (print_entry): Set normal and highlight colors to
17113 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
17114 respectively, before printing and restore them to old
17115 values afterwards.
17116 (grub_menu_init_page): Likewise. Fill an additional colored space
17117 that would otherwise be left blank.
17118
17119 * term/efi/console.c (grub_console_getcolor): New function.
17120 (struct grub_console_term.getcolor): New variable.
17121 * term/i386/pc/console.c (grub_console_getcolor): New function.
17122 (struct grub_console_term.getcolor): New variable.
17123 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
17124 (struct grub_console_term.getcolor): New variable.
17125
17126 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
17127 (struct grub_console_term.setcolor): Remove variable.
17128 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
17129 (struct grub_console_term.setcolor): Remove variable.
17130 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
17131 (struct grub_console_term.setcolor): Remove variable.
17132 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
17133 (struct grub_console_term.setcolor): Remove variable.
17134
4931827f 171352007-12-25 Robert Millan <rmh@aybabtu.com>
17136
17137 * configure.ac: Search for possible unifont.hex locations, and
17138 define UNIFONT_HEX if found.
17139
17140 * Makefile.in (UNIFONT_HEX): Define variable.
17141 (DATA): Rename to ...
17142 (PKGLIB): ... this. Update all users.
17143 (PKGDATA): New variable.
17144 (pkgdata_IMAGES): Rename to ...
17145 (pkglib_IMAGES): ... this. Update all users.
17146 (pkgdata_MODULES): Rename to ...
17147 (pkglib_MODULES): ... this. Update all users.
17148 (pkgdata_PROGRAMS): Rename to ...
17149 (pkglib_PROGRAMS): ... this. Update all users.
17150 (pkgdata_DATA): Rename to ...
17151 (pkglib_DATA): ... this. Update all users.
17152 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
17153 (unicode.pff, ascii.pff): New rules.
17154 (all-local): Add `$(PKGDATA)' dependency.
17155 (install-local): Process `$(PKGDATA)'.
17156
17157 * util/update-grub_lib.in (font_path): Search for *.pff files in
17158 a few more locations, including `${pkgdata}'.
17159
57e57e31 171602007-12-23 Robert Millan <rmh@aybabtu.com>
17161
17162 Patch from Bean <bean123ch@gmail.com>:
17163 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
17164 `size'.
17165
4bc72aa9 171662007-12-21 Bean <bean123ch@gmail.com>
17167
17168 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
17169 (ntfscomp_mod_SOURCES): New variable.
17170 (ntfscomp_mod_CFLAGS): Likewise.
17171 (ntfscomp_mod_LDFLAGS): Likewise.
17172
17173 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
17174 (grub_probe_SOURCES): Likewise.
17175 (grub_emu_SOURCES): Likewise.
17176
17177 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17178 (grub_emu_SOURCES): Likewise.
17179
17180 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17181 (grub_emu_SOURCES): Likewise.
17182
17183 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17184 (grub_emu_SOURCES): Likewise.
17185
17186 * fs/ntfs.c (grub_ntfscomp_func): New variable.
17187 (read_run_list): Renamed to grub_ntfs_read_run_list.
17188 (decomp_nextvcn): Moved to ntfscomp.c.
17189 (decomp_getch): Likewise.
17190 (decomp_get16): Likewise.
17191 (decomp_block): Likewise.
17192 (read_block): Likewise.
17193 (read_data): Partially moved to ntfscomp.c.
17194 (fixup): Change unsigned to grub_uint16_t.
17195 (read_mft): Change unsigned long to grub_uint32_t.
17196 (read_attr): Likewise.
17197 (read_data): Likewise.
17198 (read_run_data): Likewise.
17199 (read_run_list): Likewise.
17200 (read_mft): Likewise.
17201
17202 * fs/ntfscomp.c: New file.
17203
17204 * include/grub/ntfs.h: New file.
17205
af680a87 172062007-12-16 Robert Millan <rmh@aybabtu.com>
17207
17208 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17209 IDE disk check, since Linux is known to support 20 IDE disks.
17210 Reported by Colin Watson.
17211
84be7599 172122007-12-15 Bean <bean123ch@gmail.com>
17213
17214 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17215 (lnxboot_img_SOURCES): New variable.
17216 (lnxboot_img_ASFLAGS): Likewise.
17217 (lnxboot_img_LDFLAGS): Likewise.
17218
17219 * boot/i386/pc/lnxboot.S: New file.
17220
6af9db01 172212007-11-24 Pavel Roskin <proski@gnu.org>
17222
17223 * configure.ac: Test if '--build-id=none' is supported by the
17224 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17225 objcopy to generate incorrect binary files (binutils
17226 2.17.50.0.18-1 as shipped by Fedora 8).
17227 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17228 linking, so that build ID doesn't break the test.
17229
7361cfe6 172302007-11-24 Pavel Roskin <proski@gnu.org>
17231
17232 * include/grub/i386/time.h: use "void" in the argument list
17233 of grub_cpu_idle().
17234 * include/grub/powerpc/time.h: Likewise.
17235 * include/grub/sparc64/time.h: Likewise.
17236
1593e10c 172372007-11-18 Christian Franke <franke@computer.org>
17238
17239 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17240 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17241 This fixes the problem that function keys did not work in grub-emu.
17242
3b8db1a8 172432007-11-18 Christian Franke <franke@computer.org>
17244
17245 * disk/host.c (grub_host_open): Remove attribute unused from
17246 name parameter. Add check for "host". This fixes the problem
17247 that grub-emu does not find partitions.
17248
2e29408d 172492007-11-18 Christian Franke <franke@computer.org>
17250
17251 * util/hostfs.c (is_dir): New function.
17252 (grub_hostfs_dir): Handle missing dirent.d_type case.
17253 (grub_hostfs_read): Add missing fseek().
17254 (grub_hostfs_label): Clear label pointer. This fixes a crash
17255 of grub-emu on "ls (host)".
17256
398cd047 172572007-11-18 Christian Franke <franke@computer.org>
17258
17259 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17260 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17261 to 64 bit boundary by default.
17262
c405c391 172632007-11-18 Bean <bean123ch@gmail.com>
17264
17265 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17266 (hexdump_mod_SOURCES): New variable.
17267 (hexdump_mod_CFLAGS): Likewise.
17268 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 17269
c405c391 17270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17271
17272 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17273
17274 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17275
17276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17277
17278 * include/grub/hexdump.h: New file.
17279
17280 * commands/hexdump.c: New file.
17281
5cced7fd 172822007-11-10 Robert Millan <rmh@aybabtu.com>
17283
17284 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17285 in grub_outb() calls.
17286 (beep_on): Likewise.
17287
8b714eb0 172882007-11-10 Christian Franke <franke@computer.org>
17289
17290 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17291 (grub_menu_run): Likewise.
17292
ce0f1839 172932007-11-10 Robert Millan <rmh@aybabtu.com>
17294
17295 * include/grub/i386/efi/machine.h: New file.
17296 * include/grub/i386/linuxbios/machine.h: Likewise.
17297 * include/grub/i386/pc/machine.h: Likewise.
17298 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17299 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17300
17301 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17302 (serial_hw_io_addr): New variable.
17303 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17304 instead of `(unsigned short *) 0x400'.
17305
270c237d 173062007-11-10 Bean <bean123ch@gmail.com>
17307
17308 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17309
a87783bf 173102007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17311
17312 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17313 (vga_mod_SOURCES): Added.
17314 (vga_mod_CFLAGS): Likewise.
17315 (vga_mod_LDFLAGS): Likewise.
17316
17317 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17318 grub_outb() calls.
17319 (set_map_mask): Likewise.
17320 (set_read_map): Likewise.
17321 (set_read_address): Likewise.
17322 (vga_font): Removed variable.
17323 (get_vga_glyph): Removed function.
17324 (invalidate_char): Likewise.
17325 (write_char): Changed to use grub_font_get_glyph() for font
17326 information.
17327 (grub_vga_putchar): Likewise.
17328 (grub_vga_getcharwidth): Likewise.
17329
6433b448 173302007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17331
17332 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17333 flags.
17334 (pxeboot_img_LDFLAGS): Likewise.
17335 (diskboot_img_LDFLAGS): Likewise.
17336 (kernel_img_LDFLAGS): Likewise.
17337
49178511 173382007-11-06 Robert Millan <rmh@aybabtu.com>
17339
17340 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17341 in grub_outb() calls.
17342 (serial_hw_init): Likewise.
17343
53b052de 173442007-11-05 Robert Millan <rmh@aybabtu.com>
17345
17346 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17347 spaces. Skip non-regular files.
17348
5ab33bba 173492007-11-05 Robert Millan <rmh@aybabtu.com>
17350
17351 * kern/disk.c (grub_disk_firmware_fini)
17352 (grub_disk_firmware_is_tainted): New variables.
17353
17354 * include/grub/disk.h (grub_disk_firmware_fini)
17355 (grub_disk_firmware_is_tainted): Likewise.
17356
17357 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17358 (grub_disk_biosdisk_fini): ... to here.
17359 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17360 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17361 is set. Register grub_disk_biosdisk_fini() in
17362 `grub_disk_firmware_fini'.
17363
17364 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17365 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17366 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17367 to finish existing firmware disk interface.
17368
17369 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17370 (ata_mod_SOURCES): New variable.
17371 (ata_mod_CFLAGS): Likewise.
17372 (ata_mod_LDFLAGS): Likewise.
17373
0149ab7c 173742007-11-05 Robert Millan <rmh@aybabtu.com>
17375
17376 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17377 (grub_ata_wait): Reimplement using grub_millisleep().
17378
17379 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17380 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17381
be7ac41e 173822007-11-03 Marco Gerards <marco@gnu.org>
17383
17384 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17385 (CRTC_ADDR_PORT): New macro.
17386 (CRTC_DATA_PORT): Likewise.
17387 (CRTC_CURSOR): Likewise.
17388 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17389 (CRTC_CURSOR_ADDR_LOW): Likewise.
17390 (update_cursor): New function.
17391 (grub_console_real_putchar): Call `update_cursor'.
17392 (grub_console_gotoxy): Likewise.
17393 (grub_console_cls): Set the default color when clearing the
17394 screen.
17395 (grub_console_setcursor): Implemented.
17396
bb06ab2e 173972007-11-03 Marco Gerards <marco@gnu.org>
17398
17399 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17400 become activate.
17401 (grub_ata_pio_write): Likewise.
17402
17403 (grub_atapi_identify): Wait after issuing an ATA command.
17404 (grub_atapi_packet): Likewise.
17405 (grub_ata_identify): Likewise.
17406 (grub_ata_readwrite): Likewise.
17407
cf8f780b 174082007-11-03 Marco Gerards <marco@gnu.org>
17409
17410 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17411 (grub_ata_pio_write): Likewise.
17412 (grub_ata_readwrite): Use `grub_error', instead of
17413 returning `grub_errno'.
17414
ed649e54 174152007-11-03 Marco Gerards <marco@gnu.org>
17416
17417 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17418 grub_ata_pio_write once for every single sector, instead of for
17419 multiple sectors.
17420
ca25d8f0 174212007-10-31 Robert Millan <rmh@aybabtu.com>
17422
17423 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17424
17425 * conf/i386-linuxbios.rmk: New file.
17426
17427 * kern/i386/pc/hardware.c: Likewise.
17428 * term/i386/pc/at_keyboard.c: Likewise.
17429 * term/i386/pc/vga_text.c: Likewise.
17430
17431 * include/grub/i386/linuxbios/boot.h: Likewise.
17432 * include/grub/i386/linuxbios/console.h: Likewise.
17433 * include/grub/i386/linuxbios/init.h: Likewise.
17434 * include/grub/i386/linuxbios/kernel.h: Likewise.
17435 * include/grub/i386/linuxbios/loader.h: Likewise.
17436 * include/grub/i386/linuxbios/memory.h: Likewise.
17437 * include/grub/i386/linuxbios/serial.h: Likewise.
17438 * include/grub/i386/linuxbios/time.h: Likewise.
17439
17440 * kern/i386/linuxbios/init.c: Likewise.
17441 * kern/i386/linuxbios/startup.S: Likewise.
17442 * kern/i386/linuxbios/table.c: Likewise.
17443
e911ecc1 174442007-10-31 Marco Gerards <marco@gnu.org>
17445
17446 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17447 (ata_mod_SOURCES): New variable.
17448 (ata_mod_CFLAGS): Likewise.
17449 (ata_mod_LDFLAGS): Likewise.
17450
17451 * disk/ata.c: New file.
17452
17453 * include/grub/disk.h (grub_disk_dev_id): Add
17454 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 17455
7f66d0e0 174562007-10-31 Robert Millan <rmh@aybabtu.com>
17457
17458 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17459 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17460
17461 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17462 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17463
17464 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17465 `<grub/types.h>'.
17466
17467 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17468
5cd7dd46 174692007-10-27 Robert Millan <rmh@aybabtu.com>
17470
3236ca65 17471 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17472
2ebfc90f 174732007-10-22 Robert Millan <rmh@aybabtu.com>
17474
17475 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17476 `"../realmode.S"'.
17477 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17478
73fcb0f3 174792007-10-22 Robert Millan <rmh@aybabtu.com>
17480
17481 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17482 (pkgdata_MODULES): Add `biosdisk.mod'.
17483 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17484 variables.
17485
17486 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17487 (grub_biosdisk_init): Replace with ...
17488 (GRUB_MOD_INIT(biosdisk)): ... this.
17489 (grub_biosdisk_fini): Replace with ...
17490 (GRUB_MOD_FINI(biosdisk)): ... this.
17491
17492 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17493 (grub_machine_init): Remove call to grub_biosdisk_init().
17494 (grub_machine_fini): Remove call to grub_machine_fini().
17495
17496 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17497
3381d274 174982007-10-22 Robert Millan <rmh@aybabtu.com>
17499
17500 * include/grub/time.h: New file.
17501 * include/grub/i386/time.h: Likewise.
17502 * include/grub/powerpc/time.h: Likewise.
17503 * include/grub/sparc64/time.h: Likewise.
17504
17505 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17506 instances to ...
17507 (KERNEL_MACHINE_TIME_HEADER): ... this.
17508 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17509 instances to ...
17510 (KERNEL_MACHINE_TIME_HEADER): ... this.
17511 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17512 instances to ...
17513 (KERNEL_MACHINE_TIME_HEADER): ... this.
17514
17515 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17516 (grub_millisleep): New function.
17517 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17518 (grub_millisleep): New function.
17519 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17520 Remove `grub/machine/time.h' include.
17521 (grub_millisleep): New function.
17522 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17523 Remove `grub/machine/time.h' include.
17524 (grub_millisleep): New function.
17525
17526 * include/grub/misc.h (grub_div_roundup): New function.
17527
17528 * kern/misc.c: Include `<grub/time.h>'.
17529 (grub_millisleep_generic): New function.
17530
17531 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17532 Add `time.h'.
17533 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17534 Add `time.h'.
17535 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17536 `machine/time.h'. Add `time.h'.
17537 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17538
a39a0312 175392007-10-21 Robert Millan <rmh@aybabtu.com>
17540
17541 * include/grub/misc.h (grub_max): New function.
17542
2aad70e2 175432007-10-21 Robert Millan <rmh@aybabtu.com>
17544
17545 * util/misc.c (grub_util_info): Call fflush() before returning.
17546
54b71c4b 175472007-10-20 Robert Millan <rmh@aybabtu.com>
17548
17549 * genmk.rb (Image): Copy `extra_flags' from here ...
17550 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17551
17552 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17553 to `argc' and `args' arguments.
17554
a979f513 175552007-10-17 Robert Millan <rmh@aybabtu.com>
17556
17557 * kern/i386/loader.S: New file.
17558
17559 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17560 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17561 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17562 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17563 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17564 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17565 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17566 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17567 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17568 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17569 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17570 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17571 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17572 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17573
17574 * kern/i386/realmode.S: New file.
17575
17576 * kern/i386/pc/startup.S (protstack): Moved from here ...
17577 * kern/i386/realmode.S (protstack)... to here.
17578 * kern/i386/pc/startup.S (gdt): Moved from here ...
17579 * kern/i386/realmode.S (gdt)... to here.
17580 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17581 * kern/i386/realmode.S (prot_to_real)... to here.
17582
17583 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17584 `kern/i386/realmode.S'.
17585
825fc8fd 175862007-10-17 Robert Millan <rmh@aybabtu.com>
17587
17588 * include/grub/i386/loader.h: New file.
17589
17590 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17591 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17592 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17593 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17594 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17595 * include/grub/i386/loader.h (grub_linux_prot_size)
17596 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17597 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17598 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17599 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17600
17601 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17602
e179b2f4 176032007-10-15 Robert Millan <rmh@aybabtu.com>
17604
17605 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17606 filesystem when dev->disk is unset.
17607 Do probe for filesystem even when dev->disk->has_partitions is set.
17608 In case a filesystem is found, always report it.
17609 In case it isn't, if dev->disk->has_partitions is set, report that
17610 a partition table was found instead of reporting that no filesystem
17611 could be identified.
17612
5db82af6 176132007-10-12 Robert Millan <rmh@aybabtu.com>
17614
17615 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17616 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17617
68f6ac74 17618 * include/grub/types.h (grub_host_to_target16): New macro.
17619 (grub_host_to_target32): Likewise.
17620 (grub_host_to_target64): Likewise.
17621 (grub_target_to_host16): Likewise.
17622 (grub_target_to_host32): Likewise.
17623 (grub_target_to_host64): Likewise.
5db82af6 17624
17625 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17626 Renamed from to ...
17627 (GRUB_MOD_ALIGN): ...this. Update all users.
17628
68f6ac74 17629 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17630 grub_host_to_target32.
17631 Replace grub_be_to_cpu32 with grub_target_to_host32.
17632 (load_modules): Likewise.
17633 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
17634 Replace grub_be_to_cpu32 with grub_target_to_host32.
17635 Replace grub_cpu_to_be16 with grub_host_to_target16.
17636 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 17637
3cf497cc 176382007-10-12 Robert Millan <rmh@aybabtu.com>
17639
17640 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
17641 * util/elf/grub-mkimage.c: ... here.
17642
17643 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
17644 `util/powerpc/ieee1275/grub-mkimage.c'.
17645
c8cc3692 176462007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 17647
c8cc3692 17648 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
17649 and make it easier to figure out.
17650 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17651 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17652 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
17653 leave us with less than HEAP_MIN_SIZE total heap.
17654 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 17655
5c58b791 176562007-10-03 Robert Millan <rmh@aybabtu.com>
17657
17658 * include/grub/i386/io.h: New file.
17659 * commands/i386/pc/play.c (inb): Removed.
17660 (outb): Removed.
17661 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17662 with grub_outb().
afcd2ef8 17663 * term/i386/pc/serial.c (inb): Removed.
17664 (outb): Removed.
17665 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17666 with grub_outb().
17667 * term/i386/pc/vga.c (inb): Removed.
17668 (outb): Removed.
17669 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
17670 with grub_outb().
5c58b791 17671
1a477ed6 176722007-10-02 Robert Millan <rmh@aybabtu.com>
17673
17674 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
17675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17676 Reported by Marcin Kurek.
17677
6b5d80fa 176782007-09-07 Robert Millan <rmh@aybabtu.com>
17679
17680 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
17681 SmartFirmware version updates (as released by Sven Luther), and avoid
17682 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
17683 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
17684 known broken.
17685
5618afbf 176862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17687
17688 From Hitoshi Ozeki:
17689 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
17690 when merging two regions.
17691
6139dcd9 176922007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17693
508e39ee 17694 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
17695 * normal/completion.c (grub_normal_do_completion): Likewise.
17696 Reported by Hitoshi Ozeki.
17697
176982007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17699
6139dcd9 17700 Do not use devices at boot in chainloading.
f19dbdb7 17701
6139dcd9 17702 * loader/i386/pc/chainloader.c (boot_drive): New variable.
17703 (boot_part_addr): Likewise.
17704 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
17705 with BOOT_DRIVE and BOOT_PART_ADDR.
17706 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
17707 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
17708
38da6516 177092007-08-29 Robert Millan <rmh@aybabtu.com>
17710
17711 Patch from Simon Peter <dn.tlp@gmx.net>:
17712 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
17713 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
17714 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
17715 util/i386/pc/grub-setup.c_DEPENDENCIES.
17716 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
17717 util/grub-probe.c_DEPENDENCIES.
17718 * conf/powerpc-ieee1275.rmk: Likewise.
17719
29d0928c 177202007-08-28 Robert Millan <rmh@aybabtu.com>
17721
17722 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
17723 to tell grub-mkdevicemap how to name devices.
17724 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
17725 feature).
17726
17727 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
17728 util/i386/get_disk_name.c.
17729 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
17730 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
17731 util/ieee1275/get_disk_name.c.
17732
17733 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
17734
17735 * DISTLIST: Add util/i386/get_disk_name.c and
17736 util/ieee1275/get_disk_name.c.
17737
17738 * util/grub-mkdevicemap.c: Replace device naming logic with
17739 grub_util_get_disk_name() calls.
17740
5a0d3cca 177412007-08-20 Robert Millan <rmh@aybabtu.com>
17742
17743 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
17744 (so that it works for both plural and singular quantities).
17745
8b72db2f 177462007-08-05 Robert Millan <rmh@aybabtu.com>
17747
17748 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
17749 so that [xz] isn't taken into account when determining order.
17750
352466bf 177512007-08-02 Marco Gerards <marco@gnu.org>
17752
17753 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
17754 `include/multiboot2.h', `include/grub/elfload.h',
17755 `include/multiboot.h', `include/grub/multiboot.h',
17756 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
17757 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
17758 `kern/elf.c', `loader/multiboot_loader.c',
17759 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
17760 `loader/i386/pc/multiboot2.c',
17761 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
17762 `util/i386/pc/grub-mkrescue.in'. Remove
17763 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
17764 `include/grub/i386/pc/util/biosdisk.h' and
17765 `include/grub/powerpc/ieee1275/multiboot.h'.
17766
8f096014 177672007-08-02 Bean <bean123ch@gmail.com>
17768
17769 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
17770 (ntfs_mod_SOURCES): New variable.
17771 (ntfs_mod_CFLAGS): Likewise.
17772 (ntfs_mod_LDFLAGS): Likewise.
17773
17774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
17775 (grub_probe_SOURCES): Likewise.
17776 (grub_emu_SOURCES): Likewise.
17777
17778 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17779 (grub_emu_SOURCES): Likewise.
17780
17781 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
17782 (grub_emu_SOURCES): Likewise.
f19dbdb7 17783
8f096014 17784 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
17785
17786 * fs/ntfs.c: New file.
17787
9959f7db 177882007-08-02 Bean <bean123ch@gmail.com>
17789
17790 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
17791
17792 * file.h (grub_file): Likewise.
17793
17794 * fshelp.h (grub_fshelp_read_file): Likewise.
17795
17796 * util/i386/pc/grub-setup.c (setup): Likewise.
17797 (save_first_sector): Likewise.
17798 (save_blocklists): Likewise.
f19dbdb7 17799
9959f7db 17800 * fs/affs.c (grub_affs_read_file): Likewise.
17801
17802 * fs/ext2.c (grub_ext2_read_file): Likewise.
17803
17804 * fs/fat.c (grub_fat_read_data): Likewise.
17805
17806 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
17807
17808 * fs/hfs.c (grub_hfs_read_file): Likewise.
17809
17810 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
17811
17812 * fs/jfs.c (grub_jfs_read_file): Likewise.
17813
17814 * fs/minix.c (grub_minix_read_file): Likewise.
17815
17816 * fs/sfs.c (grub_sfs_read_file): Likewise.
17817
17818 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 17819
9959f7db 17820 * fs/xfs.c (grub_xfs_read_file): Likewise.
17821
17822 * command/blocklist.c (read_blocklist): Likewise.
17823 (print_blocklist): Likewise.
17824
0a203f83 178252007-08-02 Marco Gerards <marco@gnu.org>
17826
17827 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
17828 `util/hostfs.c'.
17829
17830 * disk/host.c: New file.
17831
17832 * util/hostfs.c: Likewise.
17833
17834 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
17835 return `GRUB_ERR_BAD_FS'.
17836 * fs/sfs.c (grub_sfs_mount): Likewise.
17837 * fs/xfs.c (grub_xfs_mount): Likewise.
17838
17839 * include/grub/disk.h (enum grub_disk_dev_id): Add
17840 `GRUB_DISK_DEVICE_HOST_ID'.
17841
17842 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
17843
e5dfe777 178442007-07-24 Jerone Young <jerone@gmail.com>
17845
f19dbdb7 17846 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 17847 modules for compilation.
17848 * conf/powerpc-ieee1275.rmk: Likewise.
17849
17850 * include/multiboot.h: Move multiboot definitions to one file. Rename
17851 many definitions to not get grub specific.
17852 * include/multiboot2.h: Create header with multiboot 2 definitions.
17853 * include/grub/multiboot.h: Header for grub specific function
17854 prototypes and definitions.
17855 * include/grub/multiboot2.h: Likewise.
17856 * include/grub/multiboot_loader.h: Likewise.
17857 * include/grub/i386/pc/multiboot.h: Removed.
17858 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
17859
17860 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
17861 and 2 to allow for one multiboot and module commands.
17862 * loader/multiboot2.c: Add multiboot2 functionality.
17863 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
17864 and definition names.
17865 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
17866 2 functions.
17867 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
17868 ieee1275 specific multiboot2 code.
17869
17870 * kern/i386/pc/startup.S: Change headers and definition names for
17871 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
17872
daf0f0ba 178732007-07-22 Robert Millan <rmh@aybabtu.com>
17874
17875 * geninitheader.sh: Process file specified in first parameter rather
17876 than hardcoding grub_modules_init.lst.
fe6b695a 17877 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 17878 than hardcoding grub_modules_init.h.
17879
17880 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
17881 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
17882 grub_probe_init.[ch] and grub_setup_init.[ch].
17883
17884 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
17885 grub_modules_init.h with grub_emu_init.h.
17886 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
17887 grub_probe_init.[ch] files.
17888 * conf/i386-efi.rmk: Likewise.
17889 * conf/i386-pc.rmk: Likewise.
17890 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
17891 grub_setup_init.[ch] files.
17892
17893 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
17894 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
17895 to initialize modules rather than a list of hardcoded functions.
17896 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
17897 grub_init_all() to initialize modules rather than a list of hardcoded
17898 functions.
17899
54cdc1cc 179002007-07-22 Robert Millan <rmh@aybabtu.com>
17901
17902 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17903 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
17904
ad0686cc 179052007-07-22 Robert Millan <rmh@aybabtu.com>
17906
17907 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17908 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
17909 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
17910 flag when running on SmartFirmware.
17911 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
17912 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
17913 was set.
17914
17915 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17916 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
17917 rather than decreasing it.
17918
17919 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
17920 there's not enough space to do it, fail in the same way as when it
17921 can't be done because there are no partitions.
17922
17923 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
17924 when nvsetenv failed.
17925
969c02ec 179262007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17927
17928 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
17929 because this rule is automatically generated.
17930 (grub-mkrescue): Removed for the same reason as above.
17931
5a79f472 179322007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
17933
17934 Migrate to GNU General Public License Version 3.
f19dbdb7 17935
5a79f472 17936 * COPYING: Replaced with the plain text version of GPLv3.
17937
17938 * config.guess: Updated from gnulib.
17939 * config.sub: Likewise.
17940
17941 * geninit.sh: Output a GPLv3 copyright notice.
17942 * geninitheader.sh: Likewise.
17943 * genmodsrc.sh: Likewise.
17944 * gensymlist.sh.in: Likewise.
17945
17946 * boot/i386/pc/boot.S: Upgraded to GPLv3.
17947 * boot/i386/pc/diskboot.S: Likewise.
17948 * boot/i386/pc/pxeboot.S: Likewise.
17949 * commands/blocklist.c: Likewise.
17950 * commands/boot.c: Likewise.
17951 * commands/cat.c: Likewise.
17952 * commands/cmp.c: Likewise.
17953 * commands/configfile.c: Likewise.
17954 * commands/echo.c: Likewise.
17955 * commands/help.c: Likewise.
17956 * commands/ls.c: Likewise.
17957 * commands/search.c: Likewise.
17958 * commands/terminal.c: Likewise.
17959 * commands/test.c: Likewise.
17960 * commands/videotest.c: Likewise.
17961 * commands/i386/cpuid.c: Likewise.
17962 * commands/i386/pc/halt.c: Likewise.
17963 * commands/i386/pc/play.c: Likewise.
17964 * commands/i386/pc/reboot.c: Likewise.
17965 * commands/i386/pc/vbeinfo.c: Likewise.
17966 * commands/i386/pc/vbetest.c: Likewise.
17967 * commands/ieee1275/halt.c: Likewise.
17968 * commands/ieee1275/reboot.c: Likewise.
17969 * commands/ieee1275/suspend.c: Likewise.
17970 * disk/loopback.c: Likewise.
17971 * disk/lvm.c: Likewise.
17972 * disk/raid.c: Likewise.
17973 * disk/efi/efidisk.c: Likewise.
17974 * disk/i386/pc/biosdisk.c: Likewise.
17975 * disk/ieee1275/ofdisk.c: Likewise.
17976 * font/manager.c: Likewise.
17977 * fs/affs.c: Likewise.
17978 * fs/ext2.c: Likewise.
17979 * fs/fat.c: Likewise.
17980 * fs/fshelp.c: Likewise.
17981 * fs/hfs.c: Likewise.
17982 * fs/hfsplus.c: Likewise.
17983 * fs/iso9660.c: Likewise.
17984 * fs/jfs.c: Likewise.
17985 * fs/minix.c: Likewise.
17986 * fs/sfs.c: Likewise.
17987 * fs/ufs.c: Likewise.
17988 * fs/xfs.c: Likewise.
17989 * hello/hello.c: Likewise.
17990 * include/grub/acorn_filecore.h: Likewise.
17991 * include/grub/arg.h: Likewise.
17992 * include/grub/bitmap.h: Likewise.
17993 * include/grub/boot.h: Likewise.
17994 * include/grub/cache.h: Likewise.
17995 * include/grub/device.h: Likewise.
17996 * include/grub/disk.h: Likewise.
17997 * include/grub/dl.h: Likewise.
17998 * include/grub/elfload.h: Likewise.
17999 * include/grub/env.h: Likewise.
18000 * include/grub/err.h: Likewise.
18001 * include/grub/file.h: Likewise.
18002 * include/grub/font.h: Likewise.
18003 * include/grub/fs.h: Likewise.
18004 * include/grub/fshelp.h: Likewise.
18005 * include/grub/gzio.h: Likewise.
18006 * include/grub/hfs.h: Likewise.
18007 * include/grub/kernel.h: Likewise.
18008 * include/grub/loader.h: Likewise.
18009 * include/grub/lvm.h: Likewise.
18010 * include/grub/misc.h: Likewise.
18011 * include/grub/mm.h: Likewise.
18012 * include/grub/net.h: Likewise.
18013 * include/grub/normal.h: Likewise.
18014 * include/grub/parser.h: Likewise.
18015 * include/grub/partition.h: Likewise.
18016 * include/grub/pc_partition.h: Likewise.
18017 * include/grub/raid.h: Likewise.
18018 * include/grub/rescue.h: Likewise.
18019 * include/grub/script.h: Likewise.
18020 * include/grub/setjmp.h: Likewise.
18021 * include/grub/symbol.h: Likewise.
18022 * include/grub/term.h: Likewise.
18023 * include/grub/terminfo.h: Likewise.
18024 * include/grub/tparm.h: Likewise.
18025 * include/grub/types.h: Likewise.
18026 * include/grub/video.h: Likewise.
18027 * include/grub/efi/api.h: Likewise.
18028 * include/grub/efi/chainloader.h: Likewise.
18029 * include/grub/efi/console.h: Likewise.
18030 * include/grub/efi/console_control.h: Likewise.
18031 * include/grub/efi/disk.h: Likewise.
18032 * include/grub/efi/efi.h: Likewise.
18033 * include/grub/efi/pe32.h: Likewise.
18034 * include/grub/efi/time.h: Likewise.
18035 * include/grub/i386/linux.h: Likewise.
18036 * include/grub/i386/setjmp.h: Likewise.
18037 * include/grub/i386/types.h: Likewise.
18038 * include/grub/i386/efi/kernel.h: Likewise.
18039 * include/grub/i386/efi/loader.h: Likewise.
18040 * include/grub/i386/efi/time.h: Likewise.
18041 * include/grub/i386/pc/biosdisk.h: Likewise.
18042 * include/grub/i386/pc/boot.h: Likewise.
18043 * include/grub/i386/pc/chainloader.h: Likewise.
18044 * include/grub/i386/pc/console.h: Likewise.
18045 * include/grub/i386/pc/init.h: Likewise.
18046 * include/grub/i386/pc/kernel.h: Likewise.
18047 * include/grub/i386/pc/loader.h: Likewise.
18048 * include/grub/i386/pc/memory.h: Likewise.
18049 * include/grub/i386/pc/multiboot.h: Likewise.
18050 * include/grub/i386/pc/serial.h: Likewise.
18051 * include/grub/i386/pc/time.h: Likewise.
18052 * include/grub/i386/pc/vbe.h: Likewise.
18053 * include/grub/i386/pc/vbeblit.h: Likewise.
18054 * include/grub/i386/pc/vbefill.h: Likewise.
18055 * include/grub/i386/pc/vbeutil.h: Likewise.
18056 * include/grub/i386/pc/vga.h: Likewise.
18057 * include/grub/ieee1275/ieee1275.h: Likewise.
18058 * include/grub/ieee1275/ofdisk.h: Likewise.
18059 * include/grub/powerpc/libgcc.h: Likewise.
18060 * include/grub/powerpc/setjmp.h: Likewise.
18061 * include/grub/powerpc/types.h: Likewise.
18062 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
18063 * include/grub/powerpc/ieee1275/console.h: Likewise.
18064 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
18065 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18066 * include/grub/powerpc/ieee1275/loader.h: Likewise.
18067 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
18068 * include/grub/powerpc/ieee1275/time.h: Likewise.
18069 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
18070 * include/grub/sparc64/libgcc.h: Likewise.
18071 * include/grub/sparc64/setjmp.h: Likewise.
18072 * include/grub/sparc64/types.h: Likewise.
18073 * include/grub/sparc64/ieee1275/console.h: Likewise.
18074 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18075 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18076 * include/grub/sparc64/ieee1275/time.h: Likewise.
18077 * include/grub/util/biosdisk.h: Likewise.
18078 * include/grub/util/getroot.h: Likewise.
18079 * include/grub/util/lvm.h: Likewise.
18080 * include/grub/util/misc.h: Likewise.
18081 * include/grub/util/raid.h: Likewise.
18082 * include/grub/util/resolve.h: Likewise.
18083 * io/gzio.c: Likewise.
18084 * kern/device.c: Likewise.
18085 * kern/disk.c: Likewise.
18086 * kern/dl.c: Likewise.
18087 * kern/elf.c: Likewise.
18088 * kern/env.c: Likewise.
18089 * kern/err.c: Likewise.
18090 * kern/file.c: Likewise.
18091 * kern/fs.c: Likewise.
18092 * kern/loader.c: Likewise.
18093 * kern/main.c: Likewise.
18094 * kern/misc.c: Likewise.
18095 * kern/mm.c: Likewise.
18096 * kern/parser.c: Likewise.
18097 * kern/partition.c: Likewise.
18098 * kern/rescue.c: Likewise.
18099 * kern/term.c: Likewise.
18100 * kern/efi/efi.c: Likewise.
18101 * kern/efi/init.c: Likewise.
18102 * kern/efi/mm.c: Likewise.
18103 * kern/i386/dl.c: Likewise.
18104 * kern/i386/efi/init.c: Likewise.
18105 * kern/i386/efi/startup.S: Likewise.
18106 * kern/i386/pc/init.c: Likewise.
18107 * kern/i386/pc/lzo1x.S: Likewise.
18108 * kern/i386/pc/startup.S: Likewise.
18109 * kern/ieee1275/ieee1275.c: Likewise.
18110 * kern/powerpc/cache.S: Likewise.
18111 * kern/powerpc/dl.c: Likewise.
18112 * kern/powerpc/ieee1275/cmain.c: Likewise.
18113 * kern/powerpc/ieee1275/crt0.S: Likewise.
18114 * kern/powerpc/ieee1275/init.c: Likewise.
18115 * kern/powerpc/ieee1275/openfw.c: Likewise.
18116 * kern/sparc64/cache.S: Likewise.
18117 * kern/sparc64/dl.c: Likewise.
18118 * kern/sparc64/ieee1275/init.c: Likewise.
18119 * kern/sparc64/ieee1275/openfw.c: Likewise.
18120 * loader/efi/chainloader.c: Likewise.
18121 * loader/efi/chainloader_normal.c: Likewise.
18122 * loader/i386/efi/linux.c: Likewise.
18123 * loader/i386/efi/linux_normal.c: Likewise.
18124 * loader/i386/pc/chainloader.c: Likewise.
18125 * loader/i386/pc/chainloader_normal.c: Likewise.
18126 * loader/i386/pc/linux.c: Likewise.
18127 * loader/i386/pc/linux_normal.c: Likewise.
18128 * loader/i386/pc/multiboot.c: Likewise.
18129 * loader/i386/pc/multiboot_normal.c: Likewise.
18130 * loader/powerpc/ieee1275/linux.c: Likewise.
18131 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18132 * normal/arg.c: Likewise.
18133 * normal/cmdline.c: Likewise.
18134 * normal/command.c: Likewise.
18135 * normal/completion.c: Likewise.
18136 * normal/execute.c: Likewise.
18137 * normal/function.c: Likewise.
18138 * normal/lexer.c: Likewise.
18139 * normal/main.c: Likewise.
18140 * normal/menu.c: Likewise.
18141 * normal/menu_entry.c: Likewise.
18142 * normal/misc.c: Likewise.
18143 * normal/parser.y: Likewise.
18144 * normal/script.c: Likewise.
18145 * normal/i386/setjmp.S: Likewise.
18146 * normal/powerpc/setjmp.S: Likewise.
18147 * normal/sparc64/setjmp.S: Likewise.
18148 * partmap/acorn.c: Likewise.
18149 * partmap/amiga.c: Likewise.
18150 * partmap/apple.c: Likewise.
18151 * partmap/gpt.c: Likewise.
18152 * partmap/pc.c: Likewise.
18153 * partmap/sun.c: Likewise.
18154 * term/gfxterm.c: Likewise.
18155 * term/terminfo.c: Likewise.
18156 * term/efi/console.c: Likewise.
18157 * term/i386/pc/console.c: Likewise.
18158 * term/i386/pc/serial.c: Likewise.
18159 * term/i386/pc/vesafb.c: Likewise.
18160 * term/i386/pc/vga.c: Likewise.
18161 * term/ieee1275/ofconsole.c: Likewise.
18162 * util/biosdisk.c: Likewise.
18163 * util/console.c: Likewise.
18164 * util/genmoddep.c: Likewise.
18165 * util/getroot.c: Likewise.
18166 * util/grub-emu.c: Likewise.
18167 * util/grub-mkdevicemap.c: Likewise.
18168 * util/grub-probe.c: Likewise.
18169 * util/lvm.c: Likewise.
18170 * util/misc.c: Likewise.
18171 * util/raid.c: Likewise.
18172 * util/resolve.c: Likewise.
18173 * util/update-grub.in: Likewise.
18174 * util/update-grub_lib.in: Likewise.
18175 * util/grub.d/00_header.in: Likewise.
18176 * util/grub.d/10_hurd.in: Likewise.
18177 * util/grub.d/10_linux.in: Likewise.
18178 * util/i386/efi/grub-install.in: Likewise.
18179 * util/i386/efi/grub-mkimage.c: Likewise.
18180 * util/i386/pc/grub-install.in: Likewise.
18181 * util/i386/pc/grub-mkimage.c: Likewise.
18182 * util/i386/pc/grub-mkrescue.in: Likewise.
18183 * util/i386/pc/grub-setup.c: Likewise.
18184 * util/i386/pc/misc.c: Likewise.
18185 * util/powerpc/ieee1275/grub-install.in: Likewise.
18186 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
18187 * util/powerpc/ieee1275/misc.c: Likewise.
18188 * video/bitmap.c: Likewise.
18189 * video/video.c: Likewise.
18190 * video/i386/pc/vbe.c: Likewise.
18191 * video/i386/pc/vbeblit.c: Likewise.
18192 * video/i386/pc/vbefill.c: Likewise.
18193 * video/i386/pc/vbeutil.c: Likewise.
18194 * video/readers/tga.c: Likewise.
18195
3572d015 181962007-07-02 Robert Millan <rmh@aybabtu.com>
18197
18198 * conf/i386-efi.rmk: Replace obsolete reference to
18199 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18200 with util/getroot.c.
18201 * conf/powerpc-ieee1275.rmk: Likewise.
18202 * conf/sparc64-ieee1275.rmk: Likewise.
18203
18204 * util/grub-emu.c (main): Fix unchecked pointer handling.
18205
2c2a681b 182062007-07-02 Robert Millan <rmh@aybabtu.com>
18207
18208 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18209 invocation to fail, in order to support partition-less media.
18210
18211 * util/i386/pc/grub-install.in: Likewise.
18212
18213 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18214 which fs or partmap modules are needed (akin to its sister scripts).
18215
18216 Also use grub-probe to get rid of unportable /proc/mounts check.
18217
18218 Print the same informational message that the other scripts do, before
fe6b695a 18219 exiting.
2c2a681b 18220
6193defe 182212007-06-23 Robert Millan <rmh@aybabtu.com>
18222
fe6b695a 18223 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 18224 a font file can be found and, if so, echo the GRUB path to it.
18225
18226 * util/update-grub.in: Handle multiple terminals depending on user
18227 input, platform availability and font file presence. Propagate
18228 variables of our findings to /etc/grub.d/ children.
18229
18230 * util/grub.d/00_header.in: Handle multiple terminals, based on
18231 environment setup by update-grub.
18232
eface1dc 182332007-06-23 Robert Millan <rmh@aybabtu.com>
18234
ba50d28f 18235 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 18236
bf697e28 182372007-06-21 Robert Millan <rmh@aybabtu.com>
18238
18239 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18240 indicate end of data section in kernel image.
18241 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18242 GRUB_KERNEL_MACHINE_DATA_END.
18243
18244 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18245 space for it.
18246 * kern/i386/efi/startup.S: Likewise.
18247
18248 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18249 during image generation. Implement --prefix option to override this
18250 patch.
18251 * util/i386/efi/grub-mkimage.c: Likewise.
18252
18253 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18254 code to make path relative to its root into a separate function.
18255
18256 * util/i386/pc/grub-install.in: Use newly provided
18257 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18258 pass the result to grub-install --prefix.
18259
baa574b4 182602007-06-13 Robert Millan <rmh@aybabtu.com>
18261
18262 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18263 DEFAULT_DEVICE_MAP.
18264 * util/grub-emu.c: Use above definitions from misc.h instead of
18265 defining them.
18266 * util/grub-mkdevicemap.c: Likewise.
18267 * util/i386/pc/grub-setup.c: Likewise.
18268 * util/grub-probe.c: Likewise.
18269 (probe): Abort with grub_util_error() when either
18270 grub_guess_root_device or grub_util_get_grub_dev fails.
18271
0215dcbf 182722007-06-12 Robert Millan <rmh@aybabtu.com>
18273
18274 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18275 "pager" assignment.
18276 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18277 "pcdata".
18278 * util/grub-probe.c (probe): Likewise for "drive_name".
18279
8af2ab7b 182802007-06-11 Robert Millan <rmh@aybabtu.com>
18281
18282 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18283 not just the cdrom one.
18284
59d31694 182852007-06-11 Robert Millan <rmh@aybabtu.com>
18286
18287 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18288 Add --pkglibdir=DIR option to override pkglibdir.
18289 Mention --image-type=TYPE in help output.
18290 Fix --grub-mkimage (it was a no-op).
fe6b695a 18291 Abort gracefully when no parameter is given.
59d31694 18292
7ee367e4 182932007-06-11 Robert Millan <rmh@aybabtu.com>
18294
18295 * util/i386/pc/grub-mkrescue.in: New file.
18296 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18297 * Makefile.in: Handle bin_SCRIPTS.
18298
29b0ed46 182992007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18300
18301 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18302 list of video modes.
18303
c0f90770 183042007-06-06 Robert Millan <rmh@aybabtu.com>
18305
18306 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18307 file doesn't exist, or if it is in a filesystem grub can't read.
18308
18309 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18310 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18311 header comment to fit in 80 columns when the variables are resolved.
18312
18313 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18314 could be identified by update-grub. Remove redundant check for
fe6b695a 18315 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18316 handles that).
18317
fb36dc26 183182007-06-04 Robert Millan <rmh@aybabtu.com>
18319
18320 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18321
18322 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18323
18324 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18325
0c68c93e 183262007-06-04 Robert Millan <rmh@aybabtu.com>
18327
18328 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18329
18330 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18331 grub_apple_partition_map_fini.
18332
18333 * util/biosdisk.c
18334 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18335 to access >2 TiB disks).
18336
18337 Print disk->total_sectors with %llu instead of %lu, since this
18338 variable is always 64-bit (prevents wrong disk size from being displayed
18339 on either >2 TiB disk or big-endian CPU).
18340
18341 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18342 into a generic case that supports all (sane) partition maps.
18343
18344 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18345 breaks big-endian.
18346
18347 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18348 and grub_apple_partition_map_fini() after that.
18349
0f23eb74 183502007-06-01 Robert Millan <rmh@aybabtu.com>
18351
18352 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18353
18354 * util/grub.d/00_header.in: Only enable gfxterm when
18355 convert_system_path_to_grub_path() succeeds.
18356
42c71976 183572007-05-20 Robert Millan <rmh@aybabtu.com>
18358
18359 * util/update-grub_lib.in: New file.
18360 * DISTLIST: Add update-grub_lib.in.
18361 * conf/common.rmk: Generate update-grub_lib and install it in
18362 $(lib_DATA).
18363 * Makefile.in: Add install routine for $(lib_DATA).
18364
18365 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18366 function provided by update-grub_lib to support arbitrary paths of
18367 unifont.pff.
18368 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18369 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18370
5beb2291 183712007-05-19 Robert Millan <rmh@aybabtu.com>
18372
18373 * commands/i386/cpuid.c: New module.
18374 * DISTLIST: Add it.
18375 * conf/i386-efi.rmk: Enable cpuid.mod.
18376 * conf/i386-pc.rmk: Likewise.
18377
7262eca1 183782007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18379
18380 * kern/disk.c (grub_disk_read): Check return value of
18381 grub_realloc().
18382
260ba823 183832007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18384
18385 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18386 arrays.
18387 * disk/raid.c (grub_raid_open): Likewise.
18388
1ecb6cf2 183892007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18390
18391 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18392 stack instead of on the heap.
18393
18394 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18395 before doing a read on it.
18396
18397 * configure.ac: Only use -fno-stack-protector for the target
18398 environment.
f19dbdb7 18399
21c8cbb1 184002007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18401
18402 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18403 __attribute_ ((unused)) to mode_type argument.
18404
18405 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18406
21c8cbb1 18407 * kern/misc.c (memcmp): Fix prototype.
18408
18409 * include/grub/partition.h [GRUB_UTIL]
18410 (grub_gpt_partition_map_init): Add prototype.
18411 (grub_gpt_partition_map_fini): Likewise.
18412
18413 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18414 at the right place.
18415
18416 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18417 (grub_fat_read_data): Likewise.
18418 (grub_fat_find_dir): Likewise.
18419
18420 * font/manager.c (find_glyph): Make table a const.
18421 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 18422
849d55d3 184232007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18424
18425 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18426 code, first search for device in /dev/mapper, then in /dev.
18427 (grub_util_get_grub_dev): New function.
18428 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18429 prototype.
18430 * util/grub-probe.c (probe): Remove check for RAID, call
18431 grub_util_get_grub_dev() instead of
18432 grub_util_biosdisk_get_grub_dev().
18433 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18434 grub_util_biosdisk_get_grub_dev().
18435 * util/i386/pc/grub-setup.c (main): Likewise.
18436
8fff7c2f 184372007-05-16 Robert Millan <rmh@aybabtu.com>
18438
18439 * DISTLIST: Update for the latest changes.
18440 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18441 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18442 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18443 grub/util/biosdisk.h.
18444 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18445 grub/util/biosdisk.h.
18446
48e12b52 184472007-05-16 Robert Millan <rmh@aybabtu.com>
18448
18449 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18450
46b9d128 184512007-05-16 Robert Millan <rmh@aybabtu.com>
18452
18453 * util/i386/efi/grub-install.in: New.
18454 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18455 newly added grub-install.
18456 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18457 include.
18458 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18459 grub/util/biosdisk.h.
18460 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18461 grub/util/biosdisk.h.
18462
2d1a40a9 184632007-05-16 Robert Millan <rmh@aybabtu.com>
18464
18465 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18466 * include/grub/util/biosdisk.h: ... here.
18467 * util/i386/pc/biosdisk.c: Moved to ...
18468 * util/biosdisk.c: ... here.
18469 * util/i386/pc/getroot.c: Moved to ...
18470 * util/getroot.c: ... here.
18471 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18472 * util/grub-mkdevicemap.c: ... here.
18473 * util/i386/pc/grub-probe.c: Moved to ...
18474 * util/grub-probe.c: ... here.
18475
9e26e3bc 184762007-05-15 Robert Millan <rmh@aybabtu.com>
18477
18478 * util/update-grub.in: Remove duplicated line in grub.cfg header
18479 message.
18480
57f96397 184812007-05-13 Robert Millan <rmh@aybabtu.com>
18482
18483 * util/update-grub.in: Fix a few assumptions about the devices holding
18484 /, /boot and /boot/grub being the same.
18485 * util/grub.d/00_header.in: Likewise.
18486 * util/grub.d/10_hurd.in: Likewise.
18487 * util/grub.d/10_linux.in: Likewise.
18488
18489 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18490 patterns. Use that to define the `.old' suffix as older than `'.
18491
18492 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18493
18494 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18495 the grub.cfg header message.
18496
2e610d62 184972007-05-11 Robert Millan <rmh@aybabtu.com>
18498
18499 * util/update-grub.in: Create device.map if it doesn't already exist,
18500 before attempting to run grub-probe.
18501 Check for grub-probe and grub-mkdevicemap with the same code
18502 grub-install is using.
18503 Remove test mode.
18504
3f6a10ef 185052007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18506
18507 * Makefile.in: Add the datarootdir autoconf variable.
18508
02e7b75e 185092007-05-09 Robert Millan <rmh@aybabtu.com>
18510
18511 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18512 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18513
75f396cc 185142007-05-07 Robert Millan <rmh@aybabtu.com>
18515
18516 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18517 determine partition map module.
18518 * util/i386/pc/grub-install.in: Use this feature to decide which
18519 partition module to load, instead of hardcoding pc and gpt.
18520
da65cb36 185212007-05-07 Robert Millan <rmh@aybabtu.com>
18522
18523 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18524 source directory differs from build directory.
18525
b57d6a91 185262007-05-05 Robert Millan <rmh@aybabtu.com>
18527
18528 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18529 initialisation.
18530
509d00f1 185312007-05-05 Robert Millan <rmh@aybabtu.com>
18532
18533 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18534
c48f23ef 185352007-05-05 Robert Millan <rmh@aybabtu.com>
18536
18537 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18538 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18539
20b97658 185402007-05-05 Robert Millan <rmh@aybabtu.com>
18541
18542 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18543 (grub_probe_SOURCES): Likewise.
18544 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18545 GPT and initialize dos_part and bsd_part accordingly.
18546 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18547 install_bsd_part.
18548 (main): Activate gpt module for use during partition identification,
18549 and deactivate it afterwards.
18550 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18551 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18552 partition identification, and deactivate it afterwards.
18553
99123174 185542007-05-05 Robert Millan <rmh@aybabtu.com>
18555
18556 * term/i386/pc/console.c (grub_console_fini): Call
18557 grub_term_set_current() before grub_term_unregister().
18558
ebd97f6e 185592007-05-04 Robert Millan <rmh@aybabtu.com>
18560
18561 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18562 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18563 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18564 and update-grub_DATA.
18565 * conf/common.rmk: Build and install update-grub components.
18566 * conf/common.mk: Regenerate.
18567 * util/update-grub.in: New. Core of update-grub.
18568 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18569 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18570 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18571 * util/grub.d/README: New. Document grub.d directory layout.
18572
b06a264d 185732007-05-01 Robert Millan <rmh@aybabtu.com>
18574
18575 * util/grub-emu.c: Move initialization functions
18576 grub_util_biosdisk_init() and grub_init_all() before
18577 grub_util_biosdisk_get_grub_dev(), which relies on them.
18578
41f0050e 185792007-04-19 Robert Millan <rmh@aybabtu.com>
18580
18581 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18582 it is used later.
18583
04582bb3 185842007-04-18 Jerone Young <jerone@gmail.com>
18585
f19dbdb7 18586 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 18587 stanza.
18588
08db4632 185892007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 18590
08db4632 18591 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18592 continue on and look for device node with real device name.
18593
801b76be 185942007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 18595
fe6b695a 18596 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 18597 ability.
18598 * Makefile.in: Add autoconf package transformation code.
18599 * util/i386/pc/grub-install.in: Likewise.
18600 * util/powerpc/ieee1275/grub-install.in: Likewise.
18601
6795c4e1 186022007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18603
18604 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18605 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18606 (EXT2_REVISION): Likewise.
18607 (EXT2_INODE_SIZE): Likewise.
18608 (struct grub_ext2_block_group): Added a missing member
18609 "used_dirs".
18610 (grub_ext2_read_inode): Divide by the inode size in a superblock
18611 instead of 128 to obtain INODES_PER_BLOCK.
18612 Use the macro EXT2_INODE_SIZE instead of directly using
18613 SBLOCK->INODE_SIZE.
18614
d70af616 186152007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18616
18617 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18618 superblock instead of the structure size to compute an
18619 offset. This fixes the problem that GRUB could not read a
18620 filesystem when inode size is different from 128-byte.
18621
3b801603 186222007-03-05 Marco Gerards <marco@gnu.org>
18623
18624 * normal/main.c (read_config_file): When "menu" is not set, create
18625 an initial context.
18626
4785bfe4 186272007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18628
18629 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18630 (HEAP_LIMIT): New macro.
18631 (grub_claim_heap): Claim memory up to `heaplimit'.
18632
a0cbb023 186332007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18634
18635 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
18636 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
18637 (_start): Likewise.
18638 (grub_arch_modules_addr): Return address after `_end'.
18639 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
18640 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
18641 (add_segments): Calculate `_end' from phdr size and location.
18642 (ALIGN_UP): Moved to ...
18643 * include/grub/misc.h: here.
18644 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18645 New macro.
18646 (GRUB_IEEE1275_MODULE_BASE): Removed.
18647
fd7d8eba 186482007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18649
18650 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18651 loop boundary.
18652
9b09e6fc 186532007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18654
18655 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
18656 All users updated.
18657 (grub_elf64_load_hook_t): Likewise.
18658 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
18659 debug output.
18660
3ce27299 186612007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18662
18663 * kern/mm.c: Update copyright.
18664 (grub_mm_debug): Correct syntax error.
18665 (grub_mm_dump_free): New function.
18666 (grub_debug_free): Call `grub_free'.
18667 * include/grub/mm.h: Update copyright.
18668 (grub_mm_dump_free): Add declaration.
18669
077d5fee 186702007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18671
18672 * include/grub/ieee1275/ieee1275.h: Update copyright.
18673 * kern/powerpc/ieee1275/init.c: Likewise.
18674 * kern/powerpc/ieee1275/openfw.c: Likewise.
18675
18676 * loader/powerpc/ieee1275/linux.c: Likewise.
18677 * include/grub/elfload.h: Likewise.
18678 * kern/elf.c: Likewise.
18679 (grub_elf32_load): Pass `base' and `size' parameters. Update all
18680 callers.
18681 (grub_elf64_load): Likewise.
18682 (grub_elf32_load_segment): Move to a nested function.
18683 (grub_elf64_load_segment): Likewise.
18684
dc946850 186852007-02-12 Hollis Blanchard <hollis@penguinppc.org>
18686
18687 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
18688 prototype.
18689 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
18690 (grub_heap_len): Likewise.
18691 (HEAP_SIZE): New macro.
18692 (grub_claim_heap): New function.
18693 (grub_machine_init): Don't claim heap directly. Call
18694 `grub_claim_heap'.
18695 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
18696 (grub_available_iterate): New function.
18697
baa2a121 186982007-02-03 Thomas Schwinge <tschwinge@gnu.org>
18699
18700 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
18701 * configure.ac: Use it for testing the HOST and TARGET compilers.
18702
4fe9862e 187032006-12-13 Thomas Schwinge <tschwinge@gnu.org>
18704
18705 * Makefile.in (enable_grub_emu): New variable.
18706 * configure.ac (--enable-grub-emu): New option.
18707 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
18708 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
18709 * conf/i386-pc.rmk: Likewise.
18710 * conf/powerpc-ieee1275.rmk: Likewise.
18711 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
18712
a8aa5762 187132006-12-12 Marco Gerards <marco@gnu.org>
18714
18715 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
18716
18717 * kern/env.c (grub_env_unset): Don't free the member `value' when
18718 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
18719 pointer.
18720
18721 * normal/main.c (current_menu): Removed.
18722 (free_menu): Unset the `menu' environment variable.
18723 (grub_normal_menu_addentry): Make use of the environment variable
18724 `menu', instead of using the global `current_menu'. Allocate
18725 memory for the sourcecode of this entry.
18726 (read_config_file): New argument `nested', changed all callers.
18727 Only in the case of a new context, initialize a new menu. Set the
18728 `menu' environment variable.
18729 (grub_normal_execute): Don't set and unset the environment
18730 variable `menu' here anymore. Only free the menu when leaving the
18731 context.
18732
18733 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
18734 leak.
18735
957b3a3e 187362006-12-11 Marco Gerards <marco@gnu.org>
18737
18738 * normal/menu_entry.c (run): Fix off by one bug so the last line
18739 is executed. Move the loader check to outside the loop.
18740
ef875714 187412006-12-08 Hollis Blanchard <hollis@penguinppc.org>
18742
18743 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
18744
4e739985 187452006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
18746
18747 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
18748 the number of sectors. Reported by Andrey Shuvikov
18749 <mr_hyro@yahoo.com>.
f19dbdb7 18750
790707f2 187512006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
18752
18753 * kern/disk.c (grub_disk_read): When there is a read error, always
18754 try to read only the necessary data.
f19dbdb7 18755
790707f2 18756 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
18757 disk/raid.c.
18758 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
18759 prototype.
18760 [GRUB_UTIL] (grub_raid_fini): Likewise.
18761 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 18762 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 18763 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
18764 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
18765 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
18766 and grub_raid_fini().
f19dbdb7 18767
03e58196 187682006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
18769
18770 * include/grub/types.h (__unused): Rename to UNUSED.
18771 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
18772 (grub_elf64_size): Likewise.
f19dbdb7 18773
ae4f23bf 187742006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18775
18776 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
18777 grub_error_push and grub_error_pop in the error-handling path.
18778 (grub_elf32_load_segment): Only call grub_file_read with non-zero
18779 length.
18780
2166cc83 187812006-11-03 Hollis Blanchard <hollis@penguinppc.org>
18782
18783 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
18784 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18786 (kernel_elf_SOURCES): Likewise.
18787 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
18788 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
18789 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18790 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18791 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
18792 (elf_mod_SOURCES): New variable.
18793 (elf_mod_CFLAGS): Likewise.
18794 (elf_mod_LDFLAGS): Likewise.
18795 * include/grub/types.h (__unused): New macro.
18796 * include/grub/elfload.h: New file.
18797 * kern/elf.c: Likewise.
18798 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
18799 (ELF32_LOADMASK): New macro.
18800 (ELF64_LOADMASK): Likewise.
18801 (vmlinux): Removed.
18802 (grub_linux_load32): New function.
18803 (grub_linux_load64): Likewise.
18804 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
18805 Use grub_elf_t instead of grub_file_t.
18806
a09d5aa5 188072006-11-02 Hollis Blanchard <hollis@penguinppc.org>
18808
18809 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
18810 `catch_result' to struct set_color_args.
18811
d976fc51 188122006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18813
18814 * normal/menu.c: Include grub/script.h.
18815 * normal/menu_entry.c: Likewise.
18816 * include/grub/normal.h: Do not include grub/script.h.
18817
67507549 188182006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18819
18820 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
18821
69203a99 188222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18823
18824 * kern/disk.c (grub_disk_open): Print debug messages when opening a
18825 disk.
18826 (grub_disk_close): Print debug messages when closing a disk.
18827 (grub_disk_read): Print debug messages when disk read fails.
18828 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
18829 filesystem type.
18830 * kern/partition.c: Include misc.h.
18831 (grub_partition_iterate): Print debug messages when detecting
18832 partition type.
18833
e2b8278c 188342006-10-27 Hollis Blanchard <hollis@penguinppc.org>
18835
18836 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
18837 is negative.
18838 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
18839
97b2f2ff 188402006-10-26 Hollis Blanchard <hollis@penguinppc.org>
18841
18842 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18843 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
18844
6555d655 188452006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
18846
18847 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
18848 instead of sizeof(lv). Patch by Michael Guntsche.
18849
4d42b77f 188502006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
18851
18852 * disk/lvm.c: Rename VGS to VG_LIST.
18853 (grub_lvm_iterate): Change VGS->LV to VG-LV.
18854 (grub_lvm_open): Likewise.
18855 Thanks to Michael Guntsche for finding this bug.
18856
5d74d927 188572006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18858
18859 * configure.ac (AC_INIT): Bumped to 1.95.
18860
a1bb27e4 188612006-10-14 Robert Millan <rmh@aybabtu.com>
18862
18863 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
18864 with "/dev/.static/dev/md".
18865
e0994b8b 188662006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18867
18868 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
18869 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
18870 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
18871 DRIVE_NAME are always freed.
18872
18873 * util/i386/pc/biosdisk.c (make_device_name): Add one into
18874 DOS_PART, as a DOS partition is counted from one instead of zero
18875 now. Reported by Robert Millan.
18876
ddd5cee9 188772006-10-14 Robert Millan <rmh@aybabtu.com>
18878
18879 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
18880 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
18881 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
18882 string returned by grub_guess_root_device.
18883 * util/i386/pc/grub-setup.c: Likewise.
18884 * util/i386/pc/grub-probefs.c: Likewise.
18885
18886 * util/i386/pc/grub-probefs.c: Rename to ...
18887 * util/i386/pc/grub-probe.c: ... this.
18888 * DISTLIST: Remove grub-probefs, add grub-probe.
18889 * conf/i386-efi.rmk: Likewise.
18890 * conf/i386-pc.rmk: Likewise.
18891 * util/i386/pc/grub-install.in: Likewise.
18892
18893 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
18894 choose which information we want to print.
18895
2b002173 188962006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
18897
18898 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
18899 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
18900 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
18901 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
18902 video/readers/tga.c and video/i386/pc/vbeutil.c.
18903
189042006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
18905
18906 Added support for RAID and LVM.
f19dbdb7 18907
2b002173 18908 * disk/lvm.c: New file.
18909 * disk/raid.c: Likewise.
18910 * include/grub/lvm.h: Likewise.
f19dbdb7 18911 * include/grub/raid.h: Likewise.
2b002173 18912 * include/grub/util/lvm.h: Likewise.
18913 * include/grub/util/raid.h: Likewise.
18914 * util/lvm.c: Likewise.
18915 * util/raid.c: Likewise.
18916
18917 * include/grub/disk.h (grub_disk_dev_id): Add
18918 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
18919 (grub_disk_get_size): New prototype.
18920 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
18921 returns a partition.
18922 (grub_disk_get_size): New function.
f19dbdb7 18923
2b002173 18924 * kern/i386/pc/init.c (make_install_device): Copy the prefix
18925 verbatim if grub_install_dos_part is -2.
18926
18927 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
18928 and LVM devices.
18929
18930 * util/i386/pc/grub-setup.c (setup): New argument
18931 MUST_EMBED. Force embedding of GRUB when the argument is
18932 true. Close FILE before returning.
18933 (main): Add support for RAID and LVM.
f19dbdb7 18934
2b002173 18935 * conf/common.rmk: Add RAID and LVM modules.
18936 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
18937 util/lvm.c.
18938 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
18939
18940 * kern/misc.c (grub_strstr): New function.
18941 * include/grub/misc.h (grub_strstr): New prototype.
18942
050548d0 189432006-10-10 Tristan Gingold <tristan.gingold@bull.net>
18944
18945 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
18946
da849d2d 189472006-10-05 Tristan Gingold <tristan.gingold@bull.net>
18948
18949 * kern/misc.c (grub_strtoull): Guess the base only if not
18950 specified.
18951
97b2f2ff 189522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 18953
18954 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
18955 PowerMac support.
18956
97b2f2ff 189572006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 18958
18959 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
18960
18961 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
18962 Remove `flags' argument. All callers changed.
18963 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
18964 (IEEE1275_IHANDLE_INVALID): New variable.
18965 (IEEE1275_CELL_INVALID): New variable.
18966 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18967 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
18968 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
18969 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
18970 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
18971 codes from Open Firmware. All callers updated.
18972 (grub_ieee1275_next_property): Directly return Open Firmware return
18973 code.
18974 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
18975 Standardize error checking from `grub_ieee1275_get_property'.
18976 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
18977 `devalias' to `aliases'. Correct comments. Consolidate error paths.
18978
97b2f2ff 189792006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 18980
18981 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
18982 `instance_to_package_args' to `instance_to_path_args'.
18983
18984 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
18985 `grub_ieee1275_chosen'.
18986
18987 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
18988 `grub_ieee1275_interpret'.
18989
97b2f2ff 189902006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 18991
18992 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
18993
97b2f2ff 189942006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 18995
18996 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
18997 (__cmpdi): Likewise.
18998
18999 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
19000 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
19001 `grub_ssize_t'.
19002
02bb8acc 19003 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 19004
19005 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
19006 to type `grub_ssize_t'.
19007 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
19008
7f9a8531 190092006-09-22 Marco Gerards <marco@gnu.org>
19010
19011 * normal/script.c (grub_script_create_cmdmenu): Skip leading
19012 newlines.
19013
b5ef1102 190142006-09-22 Marco Gerards <marco@gnu.org>
19015
19016 * commands/echo.c: New file.
19017
19018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
19019
19020 * conf/common.rmk (echo_mod_SOURCES): New variable.
19021 (echo_mod_CFLAGS): Likewise.
19022 (echo_mod_LDFLAGS): Likewise.
19023
2cff3677 190242006-09-22 Marco Gerards <marco@gnu.org>
19025
19026 * normal/main.c (get_line): Malloc memory instead of using
19027 preallocated memory. Removed the arguments `cmdline' and
19028 `max_len'. Updated all callers.
19029
6ba4688b 190302006-09-22 Marco Gerards <marco@gnu.org>
19031
19032 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
19033 (normal_mod_DEPENDENCIES): Likewise.
19034
19035 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
19036 (normal_mod_DEPENDENCIES): Likewise.
19037
19038 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
19039
e02ac02c 190402006-09-22 Johan Rydberg <jrydberg@gnu.org>
19041
19042 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
19043 programs.
19044 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
19045 (normal_mod_DEPENDENCIES): Likewise.
19046 * conf/i386-pc.mk: Regenerate.
19047 * conf/i386-efi.mk: Likewise
19048 * conf/common.mk: Likewise.
19049 * conf/powerpc-ieee1275.mk: Likewise.
19050 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19051
8d252e44 190522006-09-22 Robert Millan <rmh@aybabtu.com>
19053
19054 Sync with i386 version.
19055 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
19056 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
19057
209bf7ac 190582006-09-21 Robert Millan <rmh@aybabtu.com>
19059
19060 Import from GRUB Legacy (lib/device.c):
19061 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
19062 (init_device_map) [__linux__]: Add support for I2O devices.
19063
6b146090 190642006-09-14 Marco Gerards <marco@gnu.org>
19065
19066 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
19067 `-melf_i386'.
19068
e38600a8 190692006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 19070
19071 * util/i386/pc/grub-install.in: Skip menu.lst when removing
19072 /boot/grub/*.lst.
78fa1790 19073
2952da5d 19074 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 19075
2952da5d 19076 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
19077 before adding it to device.map.
19078
01b82a64 190792006-08-15 Johan Rydberg <jrydberg@gnu.org>
19080
fe6b695a 19081 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 19082 compiles a file; using the -MD option.
19083 * conf/common.mk: Regenerate.
19084 * conf/i386-pc.mk: Likewise.
19085 * conf/i386-efi.mk: Likewise.
19086 * conf/powerpc-ieee1275.mk: Likewise.
19087 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19088
1064790d 190892006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
19090
19091 Move the prototypes of grub_setjmp and grub_longjmp to
19092 cpu/setjmp.h, so that each architecture may specify different
19093 attributes.
f19dbdb7 19094
1064790d 19095 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
19096 (grub_longjmp): Likewise.
19097 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
19098 (grub_longjmp): Likewise.
19099 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
19100 (grub_longjmp): Likewise.
19101
19102 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
19103 [!GRUB_UTIL] (grub_longjmp): Removed.
19104
29dda3ed 191052006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
19106
19107 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
19108 "color!" method does not return any value.
19109
ad2a06ed 191102006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19111
19112 * include/grub/bitmap.h: New file.
19113
19114 * include/grub/i386/pc/vbeutil.h: Likewise.
19115
19116 * video/bitmap.c: Likewise.
19117
19118 * video/readers/tga.c: Likewise.
19119
19120 * video/i386/pc/vbeutil.c: Likewise.
19121
19122 * commands/videotest.c: Code cleanup and updated to reflect to new
19123 video API.
19124
19125 * term/gfxterm.c: Likewise.
19126
19127 * video/video.c: Likewise.
19128
19129 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
19130 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
19131 (bitmap_mod_SOURCES): New entry.
19132 (bitmap_mod_CFLAGS): Likewise.
19133 (bitmap_mod_LDFLAGS): Likewise.
19134 (tga_mod_SOURCES): Likewise.
19135 (tga_mod_CFLAGS): Likewise.
19136 (tga_mod_LDFLAGS): Likewise.
19137
19138 * include/grub/video.h (grub_video_blit_operators): New enum type.
19139 (grub_video_render_target): Changed as forward declaration and moved
19140 actual definition to be video driver specific.
19141 (grub_video_adapter.blit_bitmap): Added blitting operator.
19142 (grub_video_adapter.blit_render_target): Likewise.
19143 (grub_video_blit_bitmap): Likewise.
19144 (grub_video_blit_render_target): Likewise.
19145
19146 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
19147 driver specific render target definition.
19148 (grub_video_vbe_map_rgba): Added driver internal helper.
19149 (grub_video_vbe_unmap_color): Updated to use
19150 grub_video_i386_vbeblit_info.
19151 (grub_video_vbe_get_video_ptr): Likewise.
19152
19153 * include/grub/i386/pc/vbeblit.h
19154 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
19155 grub_video_i386_vbeblit_info.
19156 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19157 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19158 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19159 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19160 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19161 (grub_video_i386_vbeblit_index_index): Likewise.
19162 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
19163 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19164 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19165 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
19166 operator.
19167 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
19168 operator.
19169
19170 * video/i386/pc/vbeblit.c: Updated to reflect changes on
19171 include/grub/i386/pc/vbeblit.h.
19172
19173 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
19174 Updated to use grub_video_i386_vbeblit_info.
19175 (grub_video_i386_vbefill_R8G8B8): Likewise.
19176 (grub_video_i386_vbefill_index): Likewise.
19177 (grub_video_i386_vbefill): Added generic filler.
19178
19179 * video/i386/pc/vbefill.c: Updated to reflect changes on
19180 include/grub/i386/pc/vbefill.h.
19181
19182 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
19183 grub_video_i386_vbeblit_info.
19184 (grub_video_vbe_unmap_color): Likewise.
19185 (grub_video_vbe_blit_glyph): Likewise.
19186 (grub_video_vbe_scroll): Likewise.
19187 (grub_video_vbe_draw_pixel): Removed function.
19188 (grub_video_vbe_get_pixel): Likewise.
19189 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19190 updated code to use it.
19191 (common_blitter): Added common blitter for render target and bitmap.
19192 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19193 (grub_video_vbe_blit_render_target): Likewise.
19194
bc8c036d 191952006-07-30 Johan Rydberg <jrydberg@gnu.org>
19196
19197 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19198 is in text mode if there is no console control protocol instance
19199 available.
19200
684a8eff 192012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19202
19203 * include/grub/video.h: Code cleanup.
19204
19205 * include/grub/i386/pc/vbe.h: Likewise.
19206
19207 * video/i386/pc/vbe.c: Likewise.
19208
19209 * video/i386/pc/vbeblit.c: Likewise.
19210
19211 * video/i386/pc/vbefill.c: Likewise.
19212
19213 * video/video.c: Likewise. Also added more comments.
19214
5915059b 192152006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19216
19217 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19218 (struct grub_biosdisk_dap): Likewise.
19219
19220 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19221 linkage settings for all functions.
19222
90ce5d56 192232006-07-12 Marco Gerards <marco@gnu.org>
19224
19225 * configure.ac (--enable-mm-debug): Fix typo.
19226
19227 * genkernsyms.sh.in: Use proper quoting for `CC'.
19228
43e7f879 192292006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19230
19231 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19232 (normal_mod_ASFLAGS): Remove "-m32".
19233
4889bdec 192342006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19235
19236 * util/misc.c: Include config.h.
19237 [!HAVE_MEMALIGN]: Do not include malloc.h.
19238 (grub_memalign): Use posix_memalign, if present. Then, use
19239 memalign, if present. Otherwise, emit an error.
19240
19241 * util/grub-emu.c: Do not include malloc.h.
19242
19243 * include/grub/util/misc.h: Include unistd.h. This is required for
19244 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19245 D. Eades III <hde@foobar-qux.org>.
19246
19247 * configure.ac (AC_GNU_SOURCE): Added.
19248 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19249 type.
19250
fd39d4da 192512006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19252
19253 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19254 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19255
b786f3b5 192562006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19257
19258 * include/grub/types.h (grub_host_addr_t): Rename to
19259 grub_target_addr_t.
19260 (grub_host_off_t): Rename to grub_target_off_t.
19261 (grub_host_size_t): Rename to grub_target_size_t.
19262 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19263 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19264
19265 * include/grub/kernel.h (struct grub_module_header): Change type
19266 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19267 (grub_module_info): Likewise.
f19dbdb7 19268
051988bb 192692006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19270
19271 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19272 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19273 Velazquez <jesus.velazquez@gmail.com>.
19274
deae281b 192752006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19276
19277 Count partitions from 1 instead of 0 in the string representation
19278 of partitions. Still use 0-based internally.
f19dbdb7 19279
deae281b 19280 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19281 (sun_partition_map_iterate): Use grub_partition_t instead of
19282 struct grub_partition *. Cast DESC->START_CYLINDER to
19283 grub_uint64_t after converting the endian.
19284 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19285 (sun_partition_map_get_name): Add 1 to P->INDEX.
19286
19287 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19288 PCDATA->DOS_PART.
19289 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19290
19291 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19292 zero instead of one.
19293 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19294 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19295
19296 * partmap/apple.c (apple_partition_map_iterate): Change the type
19297 of POS to unsigned.
19298 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19299 (apple_partition_map_get_name): Add 1 into P->INDEX.
19300
19301 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19302 of POS to unsigned.
19303 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19304 calculate the offset of a partition.
19305 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19306 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19307
19308 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19309 SECTOR to grub_disk_addr_t.
19310 (acorn_partition_map_iterate): Likewise.
19311 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19312 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19313 top.
19314 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19315
19316 * kern/i386/pc/init.c (make_install_device): Add 1 into
19317 GRUB_INSTALL_DOS_PART.
19318
19319 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19320 conditional.
19321
524a1e6a 193222006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19323
19324 Clean up the code to support 64-bit addressing in disks and
19325 files. This change is not enough for filesystems yet.
f19dbdb7 19326
524a1e6a 19327 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19328 type of "start" to grub_uint64_t.
19329 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19330 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19331 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19332 convert addresses.
19333
19334 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19335 to grub_disk_addr_t.
19336
19337 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19338 string.
19339
19340 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19341
19342 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19343 to char *.
19344
19345 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19346
19347 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19348
19349 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19350
19351 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19352 to grub_off_t, to detect an error from grub_file_seek.
19353 (grub_multiboot_load_elf32): Likewise.
19354
19355 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19356 maximum unsigned long value when an overflow is detected.
19357 (grub_strtoull): New function.
19358 (grub_divmod64): Likewise.
19359 (grub_lltoa): use grub_divmod64.
19360
19361 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19362 grub_disk_addr_t.
19363 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19364 the pointer to next character. Use grub_strtoull instead of
19365 grub_strtoul.
19366 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19367 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19368 respectively.
19369
fe6b695a 19370 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19371 return value is signed.
19372 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19373 test if OFFSET is less than zero, as OFFSET is unsigned now.
19374
19375 * kern/disk.c (struct grub_disk_cache): Change the type of
19376 "sector" to grub_disk_addr_t.
19377 (grub_disk_cache_get_index): Change the type of SECTOR to
19378 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19379 unsigned after shifting.
19380 (grub_disk_cache_invalidate): Change the type of SECTOR to
19381 grub_disk_addr_t.
19382 (grub_disk_cache_unlock): Likewise.
19383 (grub_disk_cache_store): Likewise.
19384 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19385 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19386 grub_disk_addr_t and grub_uint64_t, respectively.
19387 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19388 body, as the value of OFFSET is tweaked by
19389 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19390 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19391 respectively.
19392 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19393 body, as the value of OFFSET is tweaked by
19394 grub_disk_check_range. Change the types of LEN and N to
19395 grub_size_t.
19396
19397 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19398 and "saved_offset" to grub_off_t.
19399 (test_header): Cast BUF to char *.
19400 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19401 to char *.
19402 (grub_gzio_read): Change the types of OFFSET and SIZE to
19403 grub_off_t and grub_size_t, respectively.
19404
19405 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19406 Removed.
19407 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19408 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19409 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19410 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19411 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19412
19413 * include/grub/types.h (grub_off_t): Unconditionally set to
19414 grub_uint64_t.
19415 (grub_disk_addr_t): Changed to grub_uint64_t.
19416
19417 * include/grub/partition.h (struct grub_partition): Change the
19418 types of "start", "len" and "offset" to grub_disk_addr_t,
19419 grub_uint64_t and grub_disk_addr_t, respectively.
19420 (grub_partition_get_start): Return grub_disk_addr_t.
19421 (grub_partition_get_len): Return grub_uint64_t.
19422
19423 * include/grub/misc.h (grub_strtoull): New prototype.
19424 (grub_divmod64): Likewise.
19425
19426 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19427 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19428 grub_off_t, respectively.
19429 All callers and references changed.
19430
19431 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19432 grub_size_t in "read".
19433 All callers and references changed.
19434
19435 * include/grub/file.h (struct grub_file): Change the types of
19436 "offset" and "size" to grub_off_t and grub_off_t,
19437 respectively. Change the type of SECTOR to grub_disk_addr_t in
19438 "read_hook".
19439 (grub_file_read): Change the type of LEN to grub_size_t.
19440 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19441 grub_off_t.
19442 (grub_file_size): Return grub_off_t.
19443 (grub_file_tell): Likewise.
19444 All callers and references changed.
19445
19446 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19447 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19448 "write".
19449 (struct grub_disk): Change the type of "total_sectors" to
19450 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 19451 "read_hook".
524a1e6a 19452 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19453 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19454 (grub_disk_write): Likewise.
19455 All callers and references changed.
19456
19457 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19458 char * for grub_strncmp to silence gcc.
19459 (grub_iso9660_mount): Likewise.
19460 (grub_iso9660_mount): Likewise.
19461 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19462 return statement.
19463 (grub_iso9660_iterate_dir): Likewise.
19464 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19465
19466 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19467 LEN to grub_disk_addr_t and grub_size_t, respectively.
19468
19469 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19470
19471 * fs/jfs.c (grub_jfs_read_file): Likewise.
19472
19473 * fs/minix.c (grub_jfs_read_file): Likewise.
19474
19475 * fs/sfs.c (grub_jfs_read_file): Likewise.
19476
19477 * fs/ufs.c (grub_jfs_read_file): Likewise.
19478
19479 * fs/xfs.c (grub_jfs_read_file): Likewise.
19480
19481 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19482 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19483 respectively.
19484
19485 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19486 BLKNR to -1 instead of returning GRUB_ERRNO.
19487 (grub_ext2_read_file): Change the types of SECTOR and
19488 LEN to grub_disk_addr_t and grub_size_t, respectively.
19489
19490 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19491 LEN to grub_disk_addr_t and grub_size_t, respectively.
19492
19493 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19494 grub_file_read.
19495
19496 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19497 string. Do not cast SECTOR explicitly.
19498
19499 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19500 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19501 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19502 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19503 over 2TB and LBA mode is not supported, raise an error.
19504 (get_safe_sectors): New function.
19505 (grub_biosdisk_read): Use get_safe_sectors.
19506 (grub_biosdisk_write): Likewise.
19507
19508 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19509 (grub_efidisk_write): Likewise.
19510
19511 * disk/loopback.c (delete_loopback): Cosmetic changes.
19512 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19513 correctly.
19514 (grub_loopback_open): Likewise.
19515 (grub_loopback_read): Likewise. Also, change the type of POS to
19516 grub_off_t, and fix the usage of grub_memset.
19517
19518 * commands/i386/pc/play.c: Include grub/machine/time.h.
19519
19520 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19521 print FILE->SIZE.
19522
19523 * commands/configfile.c: Include grub/env.h.
19524
19525 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19526 GRUB_ERRNO directly instead. Change the type of POS to
19527 grub_off_t. Follow the coding standard.
19528
19529 * commands/blocklist.c: Include grub/partition.h.
19530 (grub_cmd_blocklist): Return an error if the underlying device is
19531 not a disk. Take the starting sector of a partition into account,
19532 if a partition is used.
19533
19534 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19535 a length field.
19536 (lba_mode): Support 64-bit addresses.
19537 (chs_mode): Likewise.
19538 (copy_buffer): Adapted to the new offsets of a length field and a
19539 segment field.
19540 (blocklist_default_start): Allocate 64-bit space.
19541
19542 * boot/i386/pc/boot.S (force_lba): Removed.
19543 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19544 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19545 space.
19546 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19547 is useless.
19548 (lba_mode): Refactored to support a 64-bit address. More size
19549 optimization.
19550 (setup_sectors): Likewise.
19551
53af98ad 195522006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19553
19554 * DISTLIST: Added include/grub/i386/linux.h. Removed
19555 include/grub/i386/pc/linux.h
19556
19557 * configure.ac (AC_INIT): Bumped to 1.94.
19558
19559 * config.guess: Updated from gnulib.
19560 * config.sub: Likewise.
19561 * install-sh: Likewise.
19562 * mkinstalldirs: Likewise.
19563
b4c1940a 195642006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19565
19566 * conf/common.rmk (grub_modules_init.lst): Depended on
19567 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19568 MODSRCFILES.
19569
19570 * genmk.rb (PModule::rule): Reverted the previous change.
19571
cfca1cfd 195722006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19573
19574 * conf/common.rmk (grub_modules_init.lst): Depends on
19575 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19576 that the target does not exist before producing.
19577 (grub_modules_init.h): Remove the target before generating.
19578 (grub_emu_init.c): Likewise.
19579
19580 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19581
aa6d7826 195822006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19583
19584 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19585 for the target-specific tests. Make sure that we also have the
19586 up-to-date target variables for those tests.
19587
26c607b9 195882006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19589
19590 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19591 (PModule::rule): Likewise.
19592
0162321a 195932006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19594
19595 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19596 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19597 target-specific flags should be prefixed.
19598 (PModule::rule): Likewise.
19599
6c826348 196002006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19601
19602 * configure.ac (CMP): Check if cmp is available explicitly.
19603
b977bf01 196042006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19605
19606 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19607 (target_cpu): New variable.
19608 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 19609
b977bf01 19610 * util/i386/pc/grub-install.in (host_cpu): Removed.
19611 (target_cpu): New variable.
19612 (pkglibdir): Use target_cpu instead of host_cpu.
19613
19614 * util/genmoddep.c: Removed.
f19dbdb7 19615
b977bf01 19616 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19617 instead of GRUB_HOST_SIZEOF_VOID_P.
19618 * kern/dl.c: Likewise.
19619
19620 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19621 ...
19622 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19623 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19624 (GRUB_TARGET_SIZEOF_LONG): ... this.
19625 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19626 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19627 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19628 to ...
19629 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19630 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19631 (GRUB_TARGET_SIZEOF_LONG): ... this.
19632 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19633 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19634 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19635 to ...
19636 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19637 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19638 (GRUB_TARGET_SIZEOF_LONG): ... this.
19639 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19640 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19641
19642 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
19643 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
19644 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
19645 instead of GRUB_HOST_SIZEOF_LONG.
19646 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
19647 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
19648 GRUB_CPU_WORDS_BIGENDIAN.
19649 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19650 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19651 grub_host_ssize_t.
19652
19653 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
19654 (genmoddep_SOURCES): Likewise.
19655 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
19656 (genmoddep_SOURCES): Likewise.
19657 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
19658 (genmoddep_SOURCES): Likewise.
19659 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
19660 Likewise.
19661 (genmoddep_SOURCES): Likewise.
19662
19663 * genmoddep.awk: New file.
19664
19665 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
19666 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
19667 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
19668 (PModule::rule): Likewise.
19669 (Program::rule): Likewise.
19670 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
19671 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
19672 respectively.
19673
19674 * configure.ac: Rewritten intensively to use host and target
19675 instead of build and host, respectively.
19676
19677 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
19678 (host_cpu): Removed.
19679 (target_cpu): New variable.
19680 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
19681 (BUILD_CC): Removed.
19682 (BUILD_CFLAGS): Likewise.
19683 (BUILD_CPPFLAGS): Likewise.
19684 (TARGET_CC): New variable.
19685 (TARGET_CFLAGS): Likewise.
19686 (TARGET_CPPFLAGS): Likewise.
19687 (TARGET_LDFLAGS): Likewise.
19688 (AWK): Likewise.
19689 (include): Use target_cpu instead of host_cpu.
19690 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 19691
b977bf01 19692 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
19693
f09771a1 196942006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
19695
19696 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
19697 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
19698 field 'false' to 'exec_on_false'.
19699 (grub_script_create_cmdif): Renamed argument names to reflect above
19700 changes.
19701
19702 * normal/execute.c (grub_script_execute_cmdif): Likewise.
19703
19704 * normal/script.c (grub_script_create_cmdif): Likewise.
19705
118f4fb3 197062006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
19707
19708 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
19709 top.
19710 (grub_hfsplus_btree_recptr): Likewise.
19711 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
19712 FILEBLOCK both to pass a block number and store next block
19713 number.
19714 (grub_hfsplus_read_block): Rewritten heavily to support an extent
19715 overflow file correctly. Specify errors appropriately, because
19716 fshelp expects that GRUB_ERRNO is set when fails. Reuse
19717 grub_hfsplus_btree_recptr to get the pointer to a found key.
19718 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
19719 is found.
19720
19721 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
19722 linux.mod.
19723 (_linux_mod_SOURCES): New variable.
19724 (_linux_mod_CFLAGS): Likewise.
19725 (_linux_mod_LDFLAGS): Likewise.
19726 (linux_mod_SOURCES): Likewise.
19727 (linux_mod_CFLAGS): Likewise.
19728 (linux_mod_LDFLAGS): Likewise.
19729
19730 * DISTLIST: Added loader/i386/efi/linux.c,
19731 loader/i386/efi/linux_normal.c and
19732 include/grub/i386/efi/loader.h.
19733
19734 * loader/i386/efi/linux.c: New file.
19735 * loader/i386/efi/linux_normal.c: Likewise.
19736 * include/grub/i386/efi/loader.h: Likewise.
19737
89a7d726 197382006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
19739
19740 * commands/blocklist.c: New file.
19741
19742 * DISTLIST: Added commands/blocklist.c.
19743
19744 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 19745 color for the background, and a darker color for the foreground.
89a7d726 19746 (grub_console_checkkey): Return READ_KEY.
19747 (grub_console_cls): Set the background to
19748 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
19749
19750 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
19751
19752 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
19753 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
19754
19755 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
19756 prototype.
19757
19758 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
19759 BG. The spec is wrong again.
19760
19761 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
19762 prototype.
19763 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
19764
19765 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19766 commands/blocklist.c.
19767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 19768
89a7d726 19769 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
19770 (blocklist_mod_SOURCES): New variable.
19771 (blocklist_mod_CFLAGS): Likewise.
19772 (blocklist_mod_LDFLAGS): Likewise.
19773
75c8f258 197742006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
19775
19776 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
19777 duplication.
19778 (lba_mode): Use %eax more intensively to reduce the code size.
19779
da2eb181 197802006-05-20 Marco Gerards <marco@gnu.org>
19781
19782 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
19783
19784 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
19785 for `menuentry'.
19786 (script): Accept leading newlines.
19787 (newlines): New rule to describe 0 or more newlines.
19788 (commands): Accept `command' with trailing newline. Fixed the
19789 order in which arguments were passed to `grub_script_add_cmd'.
19790 Accept commands separated by newlines.
19791 (function): Changed to accept newlines.
19792 (menuentry) Rewritten.
19793
19794 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
19795 front of the list, instead of to the end.
19796
577b4050 197972006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
19798
19799 * util/i386/pc/grub-install.in (bindir): New variable.
19800 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
19801 Shaver <lbgwjl@gmail.com>.
19802
0d6e1189 198032006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
19804
19805 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
19806 grub/machine/linux.h
19807 * loader/i386/pc/linux.c: Likewise.
19808
19809 * include/grub/i386/pc/linux.h: Moved to ...
19810 * include/grub/i386/linux.h: ... here.
19811
19812 * include/grub/i386/linux.h (struct linux_kernel_params): New
19813 struct.
f19dbdb7 19814
31b86e9f 198152006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
19816
19817 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
19818 checking.
19819 (grub_video_vbe_blit_glyph): Likewise.
19820 (grub_video_vbe_blit_bitmap): Likewise.
19821 (grub_video_vbe_blit_render_target): Likewise.
19822
83b984de 198232006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
19824
19825 * configure.ac (--with-platform): Properly quote the square
19826 brackets.
19827
5f0413bd 198282006-05-08 Marco Gerards <marco@gnu.org>
19829
19830 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
19831 this...
19832 (kernel_elf_HEADERS): ...to this. Updated all users.
19833 (grubof_symlist.c): Renamed from this...
19834 (kernel_elf_symlist.c): ...to this. Updated all users.
19835 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19836 (grubof_SOURCES): Renamed from this...
19837 (kernel_elf_SOURCES): ...to this.
19838 (grubof_HEADERS): Renamed from this...
19839 (kernel_elf_HEADERS): ...to this.
19840 (grubof_CFLAGS): Renamed from this...
19841 (kernel_elf_CFLAGS): ...to this.
19842 (grubof_ASFLAGS): Renamed from this...
19843 (kernel_elf_ASFLAGS): ...to this.
19844 (grubof_LDFLAGS): Renamed from this...
19845 (kernel_elf_LDFLAGS): ...to this.
19846
19847 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
19848 this...
19849 (kernel_elf_HEADERS): ...to this. Updated all users.
19850 (grubof_symlist.c): Renamed from this...
19851 (kernel_elf_symlist.c): ...to this. Updated all users.
19852 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
19853 (grubof_SOURCES): Renamed from this...
19854 (kernel_elf_SOURCES): ...to this.
19855 (grubof_HEADERS): Renamed from this...
19856 (kernel_elf_HEADERS): ...to this.
19857 (grubof_CFLAGS): Renamed from this...
19858 (kernel_elf_CFLAGS): ...to this.
19859 (grubof_ASFLAGS): Renamed from this...
19860 (kernel_elf_ASFLAGS): ...to this.
19861 (grubof_LDFLAGS): Renamed from this...
19862 (kernel_elf_LDFLAGS): ...to this.
19863
19864 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
19865 `kernel.elf' instead of `grubof'.
19866
05568c2e 198672006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
19868
19869 Add --with-platform to configure. Use pkglibdir instead of
19870 pkgdatadir. This is reported by Roger Leigh.
19871
19872 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
19873 (host_vendor): Likewise.
19874 (host_os): Likewise.
19875 (pkgdatadir): Likewise.
19876 (platform): New variable.
19877 (pkglibdir): Likewise.
19878 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 19879
05568c2e 19880 * util/i386/pc/grub-install.in (datadir): Removed.
19881 (host_vendor): Likewise.
19882 (host_os): Likewise.
19883 (pkgdatadir): Likewise.
19884 (platform): New variable.
19885 (pkglibdir): Likewise.
19886 Use PKGLIBDIR instead of PKGDATADIR.
19887
19888 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
19889 instead of GRUB_DATADIR.
19890 (main): Likewise.
19891 * util/i386/pc/grub-mkimage.c (usage): Likewise.
19892 (main): Likewise.
19893 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19894 (main): Likewise.
19895
19896 * configure.ac (--with-platform): New option.
19897 Use PLATFORM instead of HOST_VENDOR to specify a platform.
19898
19899 * Makefile.in: Include a makefile based on PLATFORM instead of
19900 HOST_VENDOR.
19901 (pkgdatadir): Not appended by the machine type.
19902 (pkglibdir): Appended by the machine type.
19903 (host_vendor): Removed.
19904 (platform): New variable.
19905 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
19906 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
19907 (uninstall): Likewise.
19908
4e93851c 199092006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
19910
19911 Use the environment context in the menu. Remove the commands
19912 "default" and "timeout", and use variables instead.
f19dbdb7 19913
4e93851c 19914 * normal/menu.c: Include grub/env.h.
19915 (print_entry): Cast TITLE to silence gcc.
19916 (get_timeout): New function.
19917 (set_timeout): Likewise.
19918 (get_entry_number): Likewise.
19919 (run_menu): Use a default entry, a fallback entry and a timeout
19920 in the environment variables "default", "fallback" and
19921 "timeout". Also, tweak the default entry if it is not within the
19922 current menu entries.
19923 (grub_menu_run): Use a fallback entry in the environment variable
19924 "fallback".
19925
19926 * normal/main.c (read_config_file): Do not initialize
19927 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
19928 NEWMENU->TIMEOUT.
19929 (grub_normal_execute): Use a data slot to store the menu.
19930
19931 * include/grub/normal.h (struct grub_menu): Removed default_entry,
19932 fallback_entry and timeout.
19933 (struct grub_menu_list): Removed.
19934 (grub_menu_list_t): Likewise.
19935 (struct grub_context): Likewise.
19936 (grub_context_t): Likewise.
19937 (grub_context_get): Likewise.
19938 (grub_context_get_current_menu): Likewise.
19939 (grub_context_push_menu): Likewise.
19940 (grub_context_pop_menu): Likewise.
19941 (grub_default_init): Likewise.
19942 (grub_default_fini): Likewise.
19943 (grub_timeout_init): Likewise.
19944 (grub_timeout_fini): Likewise.
19945
19946 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
19947 and timeout.mod.
19948 (normal_mod_SOURCES): Removed normal/context.c.
19949
19950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
19951 commands/default.c, commands/timeout.c and normal/context.c.
19952 (normal_mod_SOURCES): Removed normal/context.c.
19953
19954 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
19955 commands/timeout.c and normal/context.c.
19956 (normal_mod_SOURCES): Removed normal/context.c.
19957
19958 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
19959 commands/default.c, commands/timeout.c and normal/context.c.
19960 (normal_mod_SOURCES): Removed normal/context.c.
19961
19962 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
19963 timeout.mod.
19964 (default_mod_SOURCES): Removed.
19965 (default_mod_CFLAGS): Likewise.
19966 (default_mod_LDFLAGS): Likewise.
19967 (timeout_mod_SOURCES): Removed.
19968 (timeout_mod_CFLAGS): Likewise.
19969 (timeout_mod_LDFLAGS): Likewise.
19970
19971 * DISTLIST: Removed commands/default.c, commands/timeout.c and
19972 normal/context.c.
19973
19974 * commands/default.c: Removed.
19975 * commands/timeout.c: Likewise.
19976 * normal/context.c: Likewise.
19977
1eb9cc1d 199782006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
19979
19980 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
19981
385bd9c1 199822006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
19983
19984 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
19985 "next" to "prev" for readability.
19986 (struct grub_env_sorted_var): New struct.
19987 (grub_env_context): Renamed to ...
19988 (initial_context): ... this.
19989 (grub_env_var_context): Renamed to ...
19990 (current_context): ... this.
19991 (grub_env_find): Look only at CURRENT_CONTEXT.
19992 (grub_env_context_open): Rewritten to copy exported variables from
19993 previous context.
19994 (grub_env_context_close): Rewritten according to the new
19995 scheme. Also, add an assertion to prevent the initial context from
19996 removed.
19997 (grub_env_insert): Removed the code for the sorted list.
19998 (grub_env_remove): Likewise.
19999 (grub_env_export): Simply mark the variable with
20000 GRUB_ENV_VAR_GLOBAL.
20001 (grub_env_set): A cosmetic change for naming consistency.
20002 (grub_env_get): Likewise.
20003 (grub_env_unset): Likewise.
20004 (grub_env_iterate): Rewritten to sort variables within this
20005 function.
20006 (grub_register_variable_hook): Fixed for naming consistency. Call
20007 grub_env_find again, only if NAME is not found at the first time.
20008 (mangle_data_slot_name): New function.
20009 (grub_env_set_data_slot): Likewise.
20010 (grub_env_get_data_slot): Likewise.
20011 (grub_env_unset_data_slot): Likewise.
20012
20013 * include/grub/env.h (grub_env_var_type): New enum.
20014 (GRUB_ENV_VAR_LOCAL): New constant.
20015 (GRUB_ENV_VAR_GLOBAL): Likewise.
20016 (GRUB_ENV_VAR_DATA): Likewise.
20017 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
20018 "type".
20019 (grub_env_set): Replace VAR with NAME for consistency.
20020 (grub_register_variable_hook): Likewise.
20021 (grub_env_export): Specify the name of the argument.
20022 (grub_env_set_data_slot): New prototype.
20023 (grub_env_get_data_slot): Likewise.
20024 (grub_env_unset_data_slot): Likewise.
20025
7f362539 200262006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20027
20028 Extend the loader so that GRUB can accept a loader which comes
20029 back to GRUB when a loaded image exits. Also, this change adds
20030 support for a chainloader on EFI.
f19dbdb7 20031
7f362539 20032 * term/efi/console.c: Include grub/misc.h.
20033 (grub_console_checkkey): Display a scan code on the top for
20034 debugging. This will be removed once the EFI port gets stable.
20035 Correct the scan code mapping.
20036
20037 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
20038 allocate memory from larger regions, in order to reduce the number
20039 of allocated regions. Otherwise, the MacOSX loader panics.
20040 (filter_memory_map): Avoid less than 1MB for compatibility with
20041 other loaders.
20042 (add_memory_regions): Allocate from the tail of a region, if
20043 possible, to avoid allocating a region near to 1MB, for the MacOSX
20044 loader.
20045
20046 * kern/efi/init.c (grub_efi_set_prefix): Specify
20047 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
20048
20049 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
20050 argument IMAGE_HANDLE and specify it to get a loaded image.
20051 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
20052 grub_efi_get_loaded_image.
fe6b695a 20053 (grub_efi_get_filename): Divide the length by the size of
7f362539 20054 grub_efi_char16_t.
20055 (grub_efi_get_device_path): New function.
20056 (grub_efi_print_device_path): Print End Device Path nodes. Divide
20057 the length by the size of grub_efi_char16_t for a file path device
20058 path node.
20059
20060 * kern/loader.c (grub_loader_noreturn): New variable.
20061 (grub_loader_set): Accept a new argument NORETURN. Set
20062 GRUB_LOADER_NORETURN to NORETURN.
20063 All callers changed.
20064 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
20065 grub_machine_fini.
20066
20067 * include/grub/efi/efi.h (grub_efi_get_device_path): New
20068 prototype.
20069 (grub_efi_get_loaded_image): Take an argument to specify an image
20070 handle.
20071
20072 * include/grub/loader.h (grub_loader_set): Added one more argument
20073 NORETURN.
20074
20075 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
20076 instead of grub_efi_open_protocol.
20077 (grub_efidisk_get_device_name): Likewise.
20078 (grub_efidisk_close): Print a newline.
20079 (grub_efidisk_get_device_handle): Fixed to use
20080 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
20081 GRUB_EFI_DEVICE_PATH_TYPE.
20082
20083 * disk/efi/efidisk.c (device_path_guid): Moved to ...
20084 * kern/efi/efi.c (device_path_guid): ... here.
20085
20086 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
20087 chain.mod.
20088 (kernel_mod_HEADERS): Added efi/disk.h.
20089 (_chain_mod_SOURCES): New variable.
20090 (_chain_mod_CFLAGS): Likewise.
20091 (_chain_mod_LDFLAGS): Likewise.
20092 (chain_mod_SOURCES): Likewise.
20093 (chain_mod_CFLAGS): Likewise.
20094 (chain_mod_LDFLAGS): Likewise.
20095
20096 * DISTLIST: Added include/grub/efi/chainloader.h,
20097 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
20098
20099 * include/grub/efi/chainloader.h: New file.
20100 * loader/efi/chainloader.c: Likewise.
20101 * loader/efi/chainloader_normal.c: Likewise.
20102
c0111d6e 201032006-04-30 Marco Gerards <marco@gnu.org>
20104
20105 * commands/configfile.c (grub_cmd_source): New function.
20106 (GRUB_MOD_INIT): Register the commands `source' and `.'.
20107 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
20108
df5341da 201092006-04-30 Marco Gerards <marco@gnu.org>
20110
20111 * normal/execute.c (grub_script_execute_cmd): Change the return
20112 type to `grub_err_t'. Correctly return the error.
20113 (grub_script_execute_cmdline): In case a command line is not a
20114 command or a function, try to interpret it as an assignment.
20115
f85934bd 201162006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20117
20118 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
20119 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
20120 skip a node whose name is obviously invalid as UTF-16,
20121 i.e. contains a NUL character. Stop the iteration when the last
20122 directory entry is found. Instead of using the return value of
20123 grub_hfsplus_btree_iterate_node, store the value in RET and use
20124 it, because the iterator can be stopped by the last directory
20125 entry.
20126
8f8a2cf8 201272006-04-30 Marco Gerards <marco@gnu.org>
20128
20129 * include/grub/env.h (grub_env_export): New prototype. Reported
20130 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
20131
a27e84ce 201322006-04-30 Marco Gerards <marco@gnu.org>
20133
20134 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
20135 size of the extents in a catalog file record.
20136
eaef0553 201372006-04-29 Marco Gerards <marco@gnu.org>
20138
20139 * commands/configfile.c (grub_cmd_configfile): Execute the
20140 configfile within its own context.
20141
20142 * include/grub/env.h (grub_env_context_open): New prototype.
20143 (grub_env_context_close): Likewise.
20144
20145 * kern/env.c (grub_env): Removed.
20146 (grub_env_sorted): Likewise.
20147 (grub_env_context): New variable.
20148 (grub_env_var_context): Likewise.
20149 (grub_env_find): Search both the active context and the global
20150 context.
20151 (grub_env_context_open): New function.
20152 (grub_env_context_close): Likewise.
20153 (grub_env_insert): Likewise.
20154 (grub_env_remove): Likewise.
20155 (grub_env_export): Likewise.
20156 (grub_env_set): Changed to use helper functions to avoid code
20157 duplication.
20158 (grub_env_iterate): Rewritten so both the current context and the
20159 global context are being used.
20160
20161 * normal/command.c (export_command): New function.
20162 (grub_command_init): Register the `export' function.
20163
7b455f4d 201642006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
20165
20166 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
20167 explicitly to suppress gcc's warnings.
20168 * fs/fat.c (grub_fat_find_dir): Likewise.
20169 (grub_fat_label): Likewise.
20170 * fs/xfs.c (grub_xfs_read_inode): Likewise.
20171 (grub_xfs_mount): Likewise.
20172 (grub_xfs_label): Likewise.
20173 * fs/affs.c (grub_affs_mount): Likewise.
20174 (grub_affs_label): Likewise.
20175 (grub_affs_iterate_dir): Likewise.
20176 * fs/sfs.c (grub_sfs_mount): Likewise.
20177 (grub_sfs_iterate_dir): Likewise.
20178 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
20179 * fs/hfs.c (grub_hfs_mount): Likewise.
20180 (grub_hfs_cmp_catkeys): Likewise.
20181 (grub_hfs_find_dir): Likewise.
20182 (grub_hfs_dir): Likewise.
20183 (grub_hfs_label): Likewise.
20184 * fs/jfs.c (grub_jfs_mount): Likewise.
20185 (grub_jfs_opendir): Likewise.
20186 (grub_jfs_getent): Likewise.
20187 (grub_jfs_lookup_symlink): Likewise.
20188 (grub_jfs_label): Likewise.
20189 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20190 (grub_hfsplus_iterate_dir): Likewise.
20191 (grub_hfsplus_btree_iterate_node): Made static.
20192
20193 * util/grub-emu.c (prefix): New variable.
20194 (grub_machine_set_prefix): New function.
20195 (main): Do not set the environment variable "prefix" here. Only
20196 set PREFIX, which is used later by grub_machine_set_prefix.
20197
20198 * include/grub/video.h: Do not include grub/symbol.h.
20199 (grub_video_register): Not exported. This symbol is not defined in
20200 the kernel.
20201 (grub_video_unregister): Likewise.
20202 (grub_video_iterate): Likewise.
20203 (grub_video_setup): Likewise.
20204 (grub_video_restore): Likewise.
20205 (grub_video_get_info): Likewise.
20206 (grub_video_get_blit_format): Likewise.
20207 (grub_video_set_palette): Likewise.
20208 (grub_video_get_palette): Likewise.
20209 (grub_video_set_viewport): Likewise.
20210 (grub_video_get_viewport): Likewise.
20211 (grub_video_map_color): Likewise.
20212 (grub_video_map_rgb): Likewise.
20213 (grub_video_map_rgba): Likewise.
20214 (grub_video_fill_rect): Likewise.
20215 (grub_video_blit_glyph): Likewise.
20216 (grub_video_blit_bitmap): Likewise.
20217 (grub_video_blit_render_target): Likewise.
20218 (grub_video_scroll): Likewise.
20219 (grub_video_swap_buffers): Likewise.
20220 (grub_video_create_render_target): Likewise.
20221 (grub_video_delete_render_target): Likewise.
20222 (grub_video_set_active_render_target): Likewise.
20223
20224 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20225 Undefined.
20226 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20227
20228 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20229 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20230 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20231 instead of $(srcdir)/genkernsyms.sh.
20232
20233 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20234 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20235 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20236 instead of $(srcdir)/genkernsyms.sh.
20237
20238 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20239 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20240 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20241 instead of $(srcdir)/genkernsyms.sh.
20242
20243 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20244 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20245 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20246 instead of $(srcdir)/genkernsyms.sh.
20247
20248 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20249 genkernsyms.sh.
20250
20251 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20252 genkernsyms.sh.
20253 (gensymlist.sh): New target.
20254 (genkernsyms.sh): Likewise.
20255
20256 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20257 genkernsyms.sh.in and gensymlist.sh.in.
20258
20259 * genkernsyms.sh: Removed.
20260 * gensymlist.sh: Likewise.
f19dbdb7 20261
7b455f4d 20262 * genkernsyms.sh.in: New file.
20263 * gensymlist.sh.in: Likewise.
20264
1885bb27 202652006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20266
20267 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20268 clobber "prefix", since we may have already set it manually.
20269
71538dff 202702006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20271
20272 * kern/misc.c (abort): New alias for grub_abort.
20273
2965c7cc 202742006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20275
20276 A new machine-specific function "grub_machine_set_prefix" is
20277 defined. This is called after loading modules, so that a prefix
20278 initialization can use modules. Also, this change adds an
20279 intensive debugging feature for the memory manager via the
20280 configure option "--enable-mm-debug".
f19dbdb7 20281
2965c7cc 20282 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20283 PART.LEN.
20284
20285 * kern/sparc64/ieee1275/init.c (abort): Removed.
20286 (grub_stop): Likewise.
20287 (grub_exit): New function.
20288 (grub_set_prefix): Renamed to ...
20289 (grub_machine_set_prefix): ... this.
20290 (grub_machine_init): Do not call grub_set_prefix.
20291
20292 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20293 (grub_machine_set_prefix): ... this.
20294 (grub_machine_init): Do not call grub_set_prefix.
20295
20296 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20297 (grub_machine_init): Do not set the prefix here.
20298
20299 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20300
20301 * kern/efi/init.c: Include grub/mm.h.
20302 (grub_efi_set_prefix): New function.
20303
20304 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20305 (grub_efi_get_filename): New function.
20306 (grub_print_device_path): Renamed to ...
20307 (grub_efi_print_device_path): ... this.
20308
20309 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20310 [MM_DEBUG] (grub_realloc): Likewise.
20311 [MM_DEBUG] (grub_free): Likewise.
20312 [MM_DEBUG] (grub_memalign): Likewise.
20313 [MM_DEBUG] (grub_mm_debug): New variable.
20314 [MM_DEBUG] (grub_debug_malloc): New function.
20315 [MM_DEBUG] (grub_debug_free): New function.
20316 [MM_DEBUG] (grub_debug_realloc): New function.
20317 [MM_DEBUG] (grub_debug_memalign): New function.
20318
20319 * kern/misc.c (grub_abort): Print a newline to distinguish
20320 the message.
20321
20322 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20323 grub_set_root_dev after loading modules. This is necessary when
20324 setting a prefix depends on modules.
20325
20326 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20327 (grub_efi_print_device_path): ... this.
20328 (grub_efi_get_filename): New prototype.
20329 (grub_efi_set_prefix): Likewise.
20330
20331 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20332 and grub/disk.h.
20333 (grub_efidisk_get_device_handle): New prototype.
20334 (grub_efidisk_get_device_name): Likewise.
20335
20336 * include/grub/mm.h: Include config.h.
20337 (MM_DEBUG): Removed.
20338 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20339 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20340 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20341 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20342 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20343 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20344 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20345 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20346 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20347
20348 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20349
20350 * disk/efi/efidisk.c: Include grub/partition.h.
20351 (iterate_child_devices): New function.
20352 (add_device): First, compare only last device path nodes, so that
20353 devices are sorted by the types.
20354 (grub_efidisk_get_device_handle): New function.
20355 (grub_efidisk_get_device_name): Likewise.
20356
20357 * configure.ac (--enable-mm-debug): New option to enable the
20358 memory manager debugging feature. This makes the binary much
20359 bigger, so is disabled by default.
20360
9cacaa17 203612006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20362
20363 Use grub_abort instead of grub_stop, and grub_exit must be
20364 define in each architecture now. Also, this change adds support
20365 for EFI disks.
f19dbdb7 20366
9cacaa17 20367 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20368 (grub_getkey): New function.
20369 (grub_term_get_current): Likewise.
20370
20371 * util/i386/pc/grub-setup.c: Include grub/term.h.
20372 (grub_getkey): New function.
20373 (grub_term_get_current): Likewise.
20374
20375 * util/misc.c (grub_stop): Renamed to ...
20376 (grub_exit): ... this.
20377
20378 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20379 (grub_exit): ... this.
20380 (grub_machine_init): Use grub_abort instead of abort.
20381 (grub_stop): Removed.
20382
20383 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20384 abort.
20385
20386 * kern/i386/pc/startup.S (grub_exit): New function.
20387 (cold_reboot): New label.
20388
20389 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20390 (grub_efi_init): Call grub_efidisk_init.
20391 (grub_efi_fini): Call grub_efidisk_fini.
20392
20393 * kern/efi/efi.c: Include grub/mm.h.
20394 (grub_efi_console_control_guid): Renamed to ...
20395 (console_control_guid): ... this.
20396 (grub_efi_loaded_image_guid): Renamed to ...
20397 (loaded_image_guid): ... this.
20398 (grub_efi_locate_handle): New function.
20399 (grub_efi_open_protocol): Likewise.
20400 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20401 GRUB_EFI_CONSOLE_CONTROL_GUID.
20402 (grub_efi_exit): Removed.
20403 (grub_stop): Likewise.
20404 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20405 (grub_exit): New function.
20406 (grub_print_device_path): Likewise.
20407
20408 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20409 (grub_enter_rescue_mode): Register "exit".
20410
20411 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20412 (grub_abort): New function.
20413
20414 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20415
20416 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20417
20418 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20419
20420 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20421 (grub_print_device_path): New prototype.
20422 (grub_efi_locate_handle): Likewise.
20423 (grub_efi_open_protocol): Likewise.
20424
20425 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20426 * disk/efi/efidisk.c: Likewise.
20427
20428 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20429
20430 * include/grub/efi/console_control.h
20431 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20432
20433 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20434 last 8 bytes as an array.
20435 (GRUB_EFI_DISK_IO_GUID): New macro.
20436 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20437 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20438 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20439 grub_uint8_t.
20440 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20441 (struct grub_efi_device_path): Rename the member "sub_type" to
20442 "subtype".
20443 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20444 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20445 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20446 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20447 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20448 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20449 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20450 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20451 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20452 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20453 (struct grub_efi_pci_device_path): New structure.
20454 (grub_efi_pci_device_path_t): New type.
20455 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20456 (struct grub_efi_pccard_device_path): New structure.
20457 (grub_efi_pccard_device_path_t): New type.
20458 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20459 (struct grub_efi_memory_mapped_device_path): New structure.
20460 (grub_efi_memory_mapped_device_path_t): New type.
20461 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20462 (struct grub_efi_vendor_device_path): New structure.
20463 (grub_efi_vendor_device_path_t): New type.
20464 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20465 (struct grub_efi_controller_device_path): New structure.
20466 (grub_efi_controller_device_path_t): New type.
20467 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20468 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20469 (struct grub_efi_acpi_device_path): New structure.
20470 (grub_efi_acpi_device_path_t): New type.
20471 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20472 (struct grub_efi_expanded_acpi_device_path): New structure.
20473 (grub_efi_expanded_acpi_device_path_t): New type.
20474 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20475 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20476 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20477 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20478 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20479 (struct grub_efi_atapi_device_path): New structure.
20480 (grub_efi_atapi_device_path_t): New type.
20481 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20482 (struct grub_efi_fibre_channel_device_path): New structure.
20483 (grub_efi_fibre_channel_device_path_t): New type.
20484 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20485 (struct grub_efi_1394_device_path): New structure.
20486 (grub_efi_1394_device_path_t): New type.
20487 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20488 (struct grub_efi_usb_device_path): New structure.
20489 (grub_efi_usb_device_path_t): New type.
20490 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20491 (struct grub_efi_usb_class_device_path): New structure.
20492 (grub_efi_usb_class_device_path_t): New type.
20493 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20494 (struct grub_efi_i2o_device_path): New structure.
20495 (grub_efi_i2o_device_path_t): New type.
20496 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20497 (struct grub_efi_mac_address_device_path): New structure.
20498 (grub_efi_mac_address_device_path_t): New type.
20499 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20500 (struct grub_efi_ipv4_device_path): New structure.
20501 (grub_efi_ipv4_device_path_t): New type.
20502 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20503 (struct grub_efi_ipv6_device_path): New structure.
20504 (grub_efi_ipv6_device_path_t): New type.
20505 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20506 (struct grub_efi_infiniband_device_path): New structure.
20507 (grub_efi_infiniband_device_path_t): New type.
20508 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20509 (struct grub_efi_uart_device_path): New structure.
20510 (grub_efi_uart_device_path_t): New type.
20511 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20512 (struct grub_efi_vendor_messaging_device_path): New structure.
20513 (grub_efi_vendor_messaging_device_path_t): New type.
20514 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20515 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20516 (struct grub_efi_hard_drive_device_path): New structure.
20517 (grub_efi_hard_drive_device_path_t): New type.
20518 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20519 (struct grub_efi_cdrom_device_path): New structure.
20520 (grub_efi_cdrom_device_path_t): New type.
20521 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20522 (struct grub_efi_vendor_media_device_path): New structure.
20523 (grub_efi_vendor_media_device_path_t): New type.
20524 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20525 (struct grub_efi_file_path_device_path): New structure.
20526 (grub_efi_file_path_device_path_t): New type.
20527 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20528 (struct grub_efi_protocol_device_path): New structure.
20529 (grub_efi_protocol_device_path_t): New type.
20530 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20531 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20532 (struct grub_efi_bios_device_path): New structure.
20533 (grub_efi_bios_device_path_t): New type.
20534 (struct grub_efi_disk_io): New structure.
20535 (grub_efi_disk_io_t): New type.
20536 (struct grub_efi_block_io_media): New structure.
20537 (grub_efi_block_io_media_t): New type.
20538 (struct grub_efi_block_io): New structure.
20539 (grub_efi_block_io_t): New type.
20540
20541 * include/grub/misc.h (grub_stop): Removed.
20542 (grub_exit): New prototype.
20543 (grub_abort): Likewise.
20544
20545 * include/grub/disk.h (enum grub_disk_dev_id): Added
20546 GRUB_DISK_DEVICE_EFIDISK_ID.
20547
20548 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20549 disk/efi/efidisk.c.
20550 (kernel_syms.lst): Remove the target if an error occurs.
20551
49986a9f 205522006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20553
20554 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20555 as it was simply too buggy.
20556
970d3b8a 205572006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20558
20559 * kern/misc.c (grub_lltoa): New function.
20560 (grub_vsprintf): Added support for the long long suffix,
20561 i.e. "ll".
20562
ff04ec24 205632006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20564
20565 * Makefile.in (LDFLAGS): Add variable.
20566 (LD): Remove variable.
20567 * configure.ac: Add -m32 to LDFLAGS.
20568 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20569 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20570 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20571 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20572 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20573 variables.
20574 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20575 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20576 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20577
37e5e1a4 205782006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20579
20580 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20581 length for unknown glyph.
20582
c352d8dd 205832006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20584
2eab1c0d 20585 Add support for pre-loaded modules into the EFI port.
f19dbdb7 20586
2eab1c0d 20587 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20588 completely. Accept one more argument DIR. The caller has changed.
20589
20590 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20591
20592 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20593 (grub_efi_loaded_image_guid): New variable.
20594 (grub_efi_get_loaded_image): New function.
20595 (grub_arch_modules_addr): Likewise.
20596
20597 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20598 prototype.
20599
20600 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20601 (struct grub_efi_loaded_image): New structure.
20602 (grub_efi_loaded_image_t): New type.
20603
206042006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20605
c352d8dd 20606 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20607 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20608 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20609
6d01d6b4 206102006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20611
20612 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20613
976a4ea0 206142006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20615
20616 * DISTLIST: Added include/grub/efi/console.h,
20617 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20618 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20619
20620 * include/grub/efi/console.h: New file.
20621 * include/grub/efi/time.h: Likewise.
20622 * include/grub/i386/efi/kernel.h: Likewise.
20623 * kern/efi/init.c: Likewise.
20624 * kern/efi/mm.c: Likewise.
20625 * term/efi/console.c: Likewise.
f19dbdb7 20626
976a4ea0 20627 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20628 (grub_stop): Removed.
20629 (grub_get_rtc): Likewise.
20630 (grub_machine_init): Simply call grub_efi_init.
20631 (grub_machine_fini): Call grub_efi_fini.
20632
20633 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
20634 (grub_efi_output_string): Removed.
20635 (grub_efi_stall): New function.
20636 (grub_stop): Likewise.
20637 (grub_get_rtc): Likewise.
20638
20639 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
20640 (grub_efi_stall): New prototype.
20641 (grub_efi_allocate_pages): Likewise.
20642 (grub_efi_free_pages): Likewise.
20643 (grub_efi_get_memory_map): Likewise.
20644 (grub_efi_mm_init): Likewise.
20645 (grub_efi_mm_fini): Likewise.
20646 (grub_efi_init): Likewise.
20647 (grub_efi_fini): Likewise.
20648
20649 * include/grub/i386/efi/time.h: Do not include
20650 grub/symbol.h. Include grub/efi/time.h.
20651 (GRUB_TICKS_PER_SECOND): Removed.
20652 (grub_get_rtc): Likewise.
20653
20654 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
20655 Added padding. The EFI spec is buggy.
20656 (GRUB_EFI_BLACK): New macro.
20657 (GRUB_EFI_BLUE): Likewise.
20658 (GRUB_EFI_GREEN): Likewise.
20659 (GRUB_EFI_CYAN): Likewise.
20660 (GRUB_EFI_RED): Likewise.
20661 (GRUB_EFI_MAGENTA): Likewise.
20662 (GRUB_EFI_BROWN): Likewise.
20663 (GRUB_EFI_LIGHTGRAY): Likewise.
20664 (GRUB_EFI_BRIGHT): Likewise.
20665 (GRUB_EFI_DARKGRAY): Likewise.
20666 (GRUB_EFI_LIGHTBLUE): Likewise.
20667 (GRUB_EFI_LIGHTGREEN): Likewise.
20668 (GRUB_EFI_LIGHTCYAN): Likewise.
20669 (GRUB_EFI_LIGHTRED): Likewise.
20670 (GRUB_EFI_LIGHTMAGENTA): Likewise.
20671 (GRUB_EFI_YELLOW): Likewise.
20672 (GRUB_EFI_WHITE): Likewise.
20673 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
20674 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
20675 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
20676 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
20677 (GRUB_EFI_BACKGROUND_RED): Likewise.
20678 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
20679 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
20680 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
20681 (GRUB_EFI_TEXT_ATTR): Likewise.
20682
20683 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
20684 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20685 (kernel_mod_HEADERS): Added efi/time.h.
20686
83709125 206872006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
20688
20689 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
20690 include/grub/efi/api.h, include/grub/efi/console_control.h,
20691 include/grub/efi/efi.h, include/grub/efi/pe32.h,
20692 include/grub/i386/efi/time.h, kern/efi/efi.c,
20693 kern/i386/efi/init.c, kern/i386/efi/startup.S,
20694 and util/i386/efi/grub-mkimage.c.
20695
20696 * Makefile.in (RMKFILES): Added i386-efi.rmk.
20697
20698 * genmk.rb (PModule#rule): Do not export symbols if
20699 #{prefix}_EXPORTS is set to "no".
20700
20701 * conf/i386-efi.mk: New file.
20702 * conf/i386-efi.rmk: Likewise.
20703 * include/grub/efi/api.h: Likewise.
20704 * include/grub/efi/console_control.h: Likewise.
20705 * include/grub/efi/efi.h: Likewise.
20706 * include/grub/efi/pe32.h: Likewise.
20707 * include/grub/i386/efi/time.h: Likewise.
20708 * kern/efi/efi.c: Likewise.
20709 * kern/i386/efi/init.c: Likewise.
20710 * kern/i386/efi/startup.S: Likewise.
20711 * util/i386/efi/grub-mkimage.c: Likewise.
20712
207132006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 20714
20715 * include/grub/script.h: Include <grub/parser.h> and
20716 "grub_script.tab.h".
20717 (struct grub_lexer_param): New struct.
20718 (struct grub_parser_param): Likewise.
20719 (grub_script_create_arglist): Pass the state in an argument.
20720 (grub_script_add_arglist): Likewise.
20721 (grub_script_create_cmdline): Likewise.
20722 (grub_script_create_cmdblock): Likewise.
20723 (grub_script_create_cmdif): Likewise.
20724 (grub_script_create_cmdmenu): Likewise.
20725 (grub_script_add_cmd): Likewise.
20726 (grub_script_arg_add): Likewise.
20727 (grub_script_lexer_ref): Likewise.
20728 (grub_script_lexer_deref): Likewise.
20729 (grub_script_lexer_record_start): Likewise.
20730 (grub_script_lexer_record_stop): Likewise.
20731 (grub_script_mem_record): Likewise.
20732 (grub_script_mem_record_stop): Likewise.
20733 (grub_script_malloc): Likewise.
20734 (grub_script_yylex): Likewise.
20735 (grub_script_yyparse): Likewise.
20736 (grub_script_yyerror): Likewise.
20737 (grub_script_yylex): Likewise.
20738 (grub_script_lexer_init): Return the state.
20739
20740 * normal/lexer.c (grub_script_lexer_state): Removed variable.
20741 (grub_script_lexer_done): Likewise.
20742 (grub_script_lexer_getline): Likewise.
20743 (grub_script_lexer_refs): Likewise.
20744 (script): Likewise.
20745 (newscript): Likewise.
20746 (record): Likewise.
20747 (recording): Likewise.
20748 (recordpos): Likewise.
20749 (recordlen): Likewise.
20750 (grub_script_lexer_init): Return the state instead of setting
20751 global variables.
20752 (grub_script_lexer_ref): Use the newly added argument for state
20753 instead of globals.
20754 (grub_script_lexer_deref): Likewise.
20755 (grub_script_lexer_record_start): Likewise.
20756 (grub_script_lexer_record_stop): Likewise.
20757 (recordchar): Likewise.
20758 (nextchar): Likewise.
20759 (grub_script_yylex2): Likewise.
20760 (grub_script_yylex): Likewise.
20761 (grub_script_yyerror): Likewise.
20762
20763 * normal/parser.y (func_mem): Removed variable.
20764 (menu_entry): Likewise.
20765 (err): Likewise.
20766 (%lex-param): New parser option.
20767 (%parse-param): Likewise.
20768 (script): Always return the AST.
20769 (argument): Pass the state around.
20770 (arguments): Likewise.
20771 (grubcmd): Likewise.
20772 (commands): Likewise.
20773 (function): Likewise.
20774 (menuentry): Likewise.
20775 (if_statement): Likewise.
20776 (if): Likewise.
20777
20778 * normal/script.c (grub_script_memused): Removed variable.
20779 (grub_script_parsed): Likewise.
20780 (grub_script_malloc): Added a state argument. Use that instead of
20781 global variables.
20782 (grub_script_mem_record): Likewise.
20783 (grub_script_mem_record_stop): Likewise.
20784 (grub_script_arg_add): Likewise.
20785 (grub_script_add_arglist): Likewise.
20786 (grub_script_create_cmdline): Likewise.
20787 (grub_script_create_cmdif): Likewise.
20788 (grub_script_create_cmdmenu): Likewise.
20789 (grub_script_add_cmd): Likewise.
20790 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 20791
e2a8c904 207922006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 20793
20794 * normal/command.c (grub_command_init): Remove the title command.
20795
20796 * normal/lexer.c (grub_script_yylex): Renamed from this...
20797 (grub_script_yylex2): ... to this.
20798 (grub_script_yylex): New function. Temporary
20799 introduced to filter some tokens.
20800 (grub_script_yyerror): Print a newline.
20801
20802 * normal/main.c (read_config_file): Output information about the
20803 lines that contain errors. Wait for a key after all lines have
20804 been processed. Don't return an empty menu.
20805
20806 * normal/parser.y (func_mem): Don't initialize.
20807 (menu_entry): Likewise.
20808 (err): New variable.
20809 (script): Don't return anything when an error was encountered.
20810 (ws, returns): Removed rules.
20811 (argument): Disabled concatenated variable support.
20812 (arguments): Remove explicit separators.
20813 (grubcmd): Likewise.
20814 (function): Likewise.
20815 (menuentry): Likewise.
20816 (if): Likewise.
20817 (commands): Likewise. Add error handling.
20818
20819 * normal/script.c (grub_script_create_cmdline): If
20820 `grub_script_parsed' is 0, assume the parser encountered an error.
20821
c9a86192 208222006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
20823
20824 * configure.ac: Add support for EFI. Fix the typo
20825 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
20826
70f3b243 208272006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20828
20829 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
20830 foreign multibyte characters should be shown correctly.
20831
65f201ad 208322006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
20833
20834 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
20835 calculation.
20836 (read_config_file): Made it to close file before returning.
20837
b4b93674 208382006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
20839
20840 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
20841 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
20842 video/i386/pc/vbefill.c.
20843
20844 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
20845 video/i386/pc/vbefill.c.
20846
20847 * include/grub/video.h (grub_video_blit_format): New enum.
20848 (grub_video_mode_info): Added new member blit_format.
20849 (grub_video_get_blit_format): New function prototype.
20850
20851 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
20852 function prototype.
20853 (grub_video_vbe_map_rgb): Likewise.
20854 (grub_video_vbe_unmap_color): Likewise.
20855
20856 * include/grub/i386/pc/vbeblit.h: New file.
20857
20858 * include/grub/i386/pc/vbefill.h: New file.
20859
20860 * video/video.c (grub_video_get_blit_format): New function.
20861 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
20862 (grub_video_vbe_map_rgb): Likewise.
20863 (grub_video_vbe_unmap_color): Likewise.
20864
20865 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
20866 optimized fills.
20867 (grub_video_vbe_blit_render_target): Changed to use more optimized
20868 blits.
20869 (grub_video_vbe_setup): Added detection for optimized settings.
20870 (grub_video_vbe_create_render_target): Likewise.
20871
20872 * video/i386/pc/vbeblit.c: New file.
20873
20874 * video/i386/pc/vbefill.c: New file.
20875
c2379b9c 208762006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
20877
20878 * font/manager.c (grub_font_get_glyph): Removed font fixup from
20879 here...
20880
20881 * util/unifont2pff.rb: ... and moved it to here. Improved argument
20882 parsing to support both hex and dec ranges. If filename was missing
20883 show usage information.
20884
bd0d7896 208852006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
20886
20887 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
20888 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
20889
20890 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
20891 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
20892 (video_mod_SOURCES): Added.
20893 (video_mod_CFLAGS): Likewise.
20894 (video_mod_LDFLAGS): Likewise.
20895 (gfxterm_mod_SOURCES): Likewise.
20896 (gfxterm_mod_CFLAGS): Likewise.
20897 (gfxterm_mod_LDFLAGS): Likewise.
20898 (videotest_mod_SOURCES): Likewise.
20899 (videotest_mod_CFLAGS): Likewise.
20900 (videotest_mod_LDFLAGS): Likewise.
20901 (vesafb_mod_SOURCES): Removed.
20902 (vesafb_mod_CFLAGS): Likewise.
20903 (vesafb_mod_LDFLAGS): Likewise.
20904 (vga_mod_SOURCES): Likewise.
20905 (vga_mod_CFLAGS): Likewise.
20906 (vga_mod_LDFLAGS): Likewise.
20907
20908 * commands/videotest.c: New file.
20909
20910 * font/manager.c (fill_with_default_glyph): Modified to use
20911 grub_font_glyph.
20912 (grub_font_get_glyph): Likewise.
20913 (fontmanager): Renamed from this...
20914 (font_manager): ... to this.
20915
20916 * include/grub/font.h (grub_font_glyph): Added new structure.
20917 (grub_font_get_glyph): Modified to use grub_font_glyph.
20918
20919 * include/grub/misc.h (grub_abs): Added as inline function.
20920
20921 * include/grub/video.h: New file.
20922
20923 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
20924 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
20925 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
20926 (grub_vbe_get_controller_info): Renamed from this...
20927 (grub_vbe_bios_get_controller_info): ... to this.
20928 (grub_vbe_get_mode_info): Renamed from this...
20929 (grub_vbe_bios_get_mode_info): ... to this.
20930 (grub_vbe_set_mode): Renamed from this...
20931 (grub_vbe_bios_set_mode): ... to this.
20932 (grub_vbe_get_mode): Renamed from this...
20933 (grub_vbe_bios_get_mode): ... to this.
20934 (grub_vbe_set_memory_window): Renamed from this...
20935 (grub_vbe_bios_set_memory_window): ... to this.
20936 (grub_vbe_get_memory_window): Renamed from this...
20937 (grub_vbe_bios_get_memory_window): ... to this.
20938 (grub_vbe_set_scanline_length): Renamed from this...
20939 (grub_vbe_set_scanline_length): ... to this.
20940 (grub_vbe_get_scanline_length): Renamed from this...
20941 (grub_vbe_bios_get_scanline_length): ... to this.
20942 (grub_vbe_set_display_start): Renamed from this...
20943 (grub_vbe_bios_set_display_start): ... to this.
20944 (grub_vbe_get_display_start): Renamed from this...
20945 (grub_vbe_bios_get_display_start): ... to this.
20946 (grub_vbe_set_palette_data): Renamed from this...
20947 (grub_vbe_bios_set_palette_data): ... to this.
20948 (grub_vbe_set_pixel_rgb): Removed.
20949 (grub_vbe_set_pixel_index): Likewise.
20950
20951 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
20952 from this...
20953 (grub_vbe_bios_get_controller_info): ... to this.
20954 (grub_vbe_get_mode_info): Renamed from this...
20955 (grub_vbe_bios_get_mode_info): ... to this.
20956 (grub_vbe_set_mode): Renamed from this...
20957 (grub_vbe_bios_set_mode): ... to this.
20958 (grub_vbe_get_mode): Renamed from this...
20959 (grub_vbe_bios_get_mode): ... to this.
20960 (grub_vbe_set_memory_window): Renamed from this...
20961 (grub_vbe_bios_set_memory_window): ... to this.
20962 (grub_vbe_get_memory_window): Renamed from this...
20963 (grub_vbe_bios_get_memory_window): ... to this.
20964 (grub_vbe_set_scanline_length): Renamed from this...
20965 (grub_vbe_set_scanline_length): ... to this.
20966 (grub_vbe_get_scanline_length): Renamed from this...
20967 (grub_vbe_bios_get_scanline_length): ... to this.
20968 (grub_vbe_set_display_start): Renamed from this...
20969 (grub_vbe_bios_set_display_start): ... to this.
20970 (grub_vbe_get_display_start): Renamed from this...
20971 (grub_vbe_bios_get_display_start): ... to this.
20972 (grub_vbe_set_palette_data): Renamed from this...
20973 (grub_vbe_bios_set_palette_data): ... to this.
20974 (grub_vbe_bios_get_controller_info): Fixed problem with registers
20975 getting corrupted after calling it. Added more pushes and pops.
20976 (grub_vbe_bios_set_mode): Likewise.
20977 (grub_vbe_bios_get_mode): Likewise.
20978 (grub_vbe_bios_get_memory_window): Likewise.
20979 (grub_vbe_bios_set_scanline_length): Likewise.
20980 (grub_vbe_bios_get_scanline_length): Likewise.
20981 (grub_vbe_bios_get_display_start): Likewise.
20982 (grub_vbe_bios_set_palette_data): Likewise.
20983
20984 * normal/cmdline.c (cl_set_pos): Refresh the screen.
20985 (cl_insert): Likewise.
20986 (cl_delete): Likewise.
20987
20988 * term/gfxterm.c: New file.
20989
20990 * term/i386/pc/vesafb.c: Removed file.
20991
20992 * video/video.c: New file.
20993
20994 * video/i386/pc/vbe.c (real2pm): Added new function.
20995 (grub_video_vbe_draw_pixel): Likewise.
20996 (grub_video_vbe_get_video_ptr): Likewise.
20997 (grub_video_vbe_get_pixel): Likewise
20998 (grub_video_vbe_init): Likewise.
20999 (grub_video_vbe_fini): Likewise.
21000 (grub_video_vbe_setup): Likewise.
21001 (grub_video_vbe_get_info): Likewise.
21002 (grub_video_vbe_set_palette): Likewise.
21003 (grub_video_vbe_get_palette): Likewise.
21004 (grub_video_vbe_set_viewport): Likewise.
21005 (grub_video_vbe_get_viewport): Likewise.
21006 (grub_video_vbe_map_color): Likewise.
21007 (grub_video_vbe_map_rgb): Likewise.
21008 (grub_video_vbe_map_rgba): Likewise.
21009 (grub_video_vbe_unmap_color): Likewise.
21010 (grub_video_vbe_fill_rect): Likewise.
21011 (grub_video_vbe_blit_glyph): Likewise.
21012 (grub_video_vbe_blit_bitmap): Likewise.
21013 (grub_video_vbe_blit_render_target): Likewise.
21014 (grub_video_vbe_scroll): Likewise.
21015 (grub_video_vbe_swap_buffers): Likewise.
21016 (grub_video_vbe_create_render_target): Likewise.
21017 (grub_video_vbe_delete_render_target): Likewise.
21018 (grub_video_vbe_set_active_render_target): Likewise.
21019 (grub_vbe_set_pixel_rgb): Remove function.
21020 (grub_vbe_set_pixel_index): Likewise.
21021 (index_color_mode): Remove static variable.
21022 (active_mode): Likewise.
21023 (framebuffer): Likewise.
21024 (bytes_per_scan_line): Likewise.
21025 (grub_video_vbe_adapter): Added new static variable.
21026 (framebuffer): Likewise.
21027 (render_target): Likewise.
21028 (initial_mode): Likewise.
21029 (mode_in_use): Likewise.
21030 (mode_list): Likewise.
21031
5f97350b 210322006-03-10 Marco Gerards <marco@gnu.org>
21033
21034 * configure.ac (AC_INIT): Bumped to 1.93.
21035
21036 * DISTLIST: Added `include/grub/hfs.h'.
21037
a3c5c6f8 210382006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
21039
21040 * boot/i386/pc/boot.S (general_error): Before looping, try INT
21041 18H, which might help the BIOS falling back to next boot media.
21042
6de53d26 210432006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
21044
21045 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
21046 Poe Chen <poe.poechen@gmail.com>.
21047
77c4a393 210482006-01-17 Marco Gerards <marco@gnu.org>
21049
21050 * include/grub/normal.h: Include <grub/script.h>.
21051 (grub_command_list): Removed struct.
21052 (grub_command_list_t): Removed type.
21053 (grub_menu_entry): Remove members `num' and `command_list'. Add
21054 members `commands' and `sourcecode'.
21055 * include/grub/script.h: Add inclusion guards.
21056 (grub_script_cmd_menuentry): New struct.
21057 (grub_script_execute_menuentry): New prototype.
21058 (grub_script_lexer_record_start): Likewise.
21059 (grub_script_lexer_record_stop): Likewise.
21060 * normal/execute.c (grub_script_execute_menuentry): New function.
21061 * normal/lexer.c (record, recording, recordpos, recordlen): New
21062 variables.
21063 (grub_script_lexer_record_start): New function.
21064 (grub_script_lexer_record_stop): Likewise.
21065 (recordchar): Likewise.
21066 (nextchar): Likewise.
21067 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
21068 2048 as the buffer size. Add the tokens `menuentry' and `@'.
21069 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
21070 (current_menu): New variable.
21071 (free_menu): Mainly rewritten.
21072 (grub_normal_menu_addentry): New function.
21073 (read_config_file): Rewritten.
21074 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 21075 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 21076 the menu entry.
21077 (run): Mainly rewritten.
21078 * normal/parser.y (menu_entry): New variable.
21079 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
21080 (menuentry): New rule.
21081 (command): Add `menuentry'.
21082 (if_statement): Allow additional returns before `fi'.
21083 * normal/script.c (grub_script_create_cmdmenu): New function.
21084
144f1f98 210852006-01-03 Marco Gerards <marco@gnu.org>
21086
21087 * INSTALL: GNU Bison is required.
21088 * configure.ac: Rewritten the test to detect Bison.
21089 * Makefile.in (YACC): New variable. Reported by Xun Sun
21090 <xun.sun.cn@gmail.com>.
21091
af4b2d89 210922006-01-03 Marco Gerards <marco@gnu.org>
21093
21094 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
21095 the HFS+ filesystem to filesystem blocks.
21096 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
21097 GCC warning is silenced.
21098
15643b71 210992006-01-03 Marco Gerards <marco@gnu.org>
21100
21101 * partmap/apple.c (apple_partition_map_iterate): Convert the data
21102 read from disk from big endian to host byte order.
21103
00905879 211042006-01-03 Hollis Blanchard <hollis@penguinppc.org>
21105
21106 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
21107 documentation.
21108 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
21109 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
21110 embedded HFS+ filesystem.
21111 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
21112 (grub_hfs_sblock): Move from here...
21113 * include/grub/hfs.h: To here... New file.
21114 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
21115 documentation.
21116 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
21117 New macros.
21118 (grub_hfsplus_volheader): Change type of member `magic' to
21119 `grub_uint16_t'.
21120 (grub_hfsplus_data): Add new member `embedded_offset'.
21121 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
21122 returned block.
21123 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
21124 Calculate the offset.
21125
8899bc3e 211262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21127
21128 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
21129 Removed.
21130 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
21131
ae8c0277 211322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21133
21134 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
21135 ENV->NAME is NULL after allocating ENV->VALUE.
21136
07084456 211372005-12-25 Marco Gerards <marco@gnu.org>
21138
21139 * kern/env.c (grub_env_set): Rewritten the error handling code.
21140
4750f5f1 211412005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21142
21143 * geninit.sh: Made more robust, and more portable.
21144
50214199 211452005-12-25 Marco Gerards <marco@gnu.org>
21146
21147 Add support for Apple HFS+ filesystems.
f19dbdb7 21148
50214199 21149 * fs/hfsplus.c: New file.
21150
21151 * DISTLIST: Added `fs/hfsplus.c'.
21152
21153 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
21154 (hfsplus_mod_SOURCES): New variable.
21155 (hfsplus_mod_CFLAGS): Likewise.
21156 (hfsplus_mod_LDFLAGS): Likewise.
21157 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
21158 (grub_setup_SOURCES): Likewise.
21159 (grub_mkdevicemap_SOURCES): Likewise.
21160 (grub_emu_SOURCES): Likewise.
21161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21162
21163 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
21164
21165 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
21166
befaed6c 211672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21168
21169 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
21170 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
21171 include/grub/parser.h, include/grub/script.h, kern/parser.c,
21172 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
21173 normal/lexer.c, normal/parser.y, normal/script.c, and
21174 partmap/gpt.c.
21175 Removed kern/sparc64/cache.c.
21176
21177 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
21178 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
21179 grub_emu_init.c.
21180
21181 * configure.ac (AC_INIT): Bumped to 1.92.
21182
6a124103 211832005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
21184
21185 * kern/err.c (grub_error_push): Added new function to support error
21186 stacks.
21187 (grub_error_pop): Likewise.
21188 (grub_error_stack_items): New local variable to support error stacks.
21189 (grub_error_stack_pos): Likewise.
21190 (grub_error_stack_assert): Likewise.
21191 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21192 stack depth.
21193 (grub_print_error): Added support to print errors from error stack.
21194
21195 * include/grub/err.h (grub_error_push): Added function prototype.
21196 (grub_error_pop): Likewise.
21197
be973c1b 211982005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21199
21200 * configure.ac: Accept `powerpc64' as host_cpu.
21201 (amd64): Rename to `biarch32'.
21202
21203 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21204 non-cacheline-aligned addresses.
21205
21206 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21207 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21208 if `size' is non-zero.
21209
b04216ab 212102005-12-03 Marco Gerards <mgerards@xs4all.nl>
21211
21212 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21213 and `cd' to make sure the filename is not prefixed with a
21214 directory name.
21215 (pkgdata_MODULES): Add `gpt.mod'.
21216 (gpt_mod_SOURCES): New variable.
21217 (gpt_mod_CFLAGS): Likewise.
21218 (gpt_mod_LDFLAGS): Likewise.
21219
21220 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21221
21222 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21223 New macro.
21224
21225 * partmap/gpt.c: New file.
21226
21227 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21228 GPT partition map is detected.
21229
41730ed9 212302005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21231
21232 * commands/i386/pc/play.c: New file.
21233 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21234 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21235 macros.
f19dbdb7 21236
95dc3643 212372005-11-27 Marco Gerards <mgerards@xs4all.nl>
21238
21239 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21240 ((unused))' to silence gcc warning.
21241
1569ec51 212422005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21243
21244 * configure.ac: Correct `AC_PROG_YACC' test.
21245
9abde152 212462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21247
21248 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21249 check before installing files.
21250
44b83271 212512005-11-22 Mike Small <smallm@panix.com>
21252
21253 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21254 number regex so multidigit numbers are recognized correctly.
21255
212562005-11-22 Mike Small <smallm@panix.com>
21257
21258 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21259 debugging message before attempting to claim memory.
21260 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21261 multiple addresses in case of failure.
21262
9c12956b 212632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21264
21265 * term/tparm.c (get_space): Remove empty `if' statement.
21266
21267 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21268
21269 * kern/parser.c (check_varstate): Rename `state' to 's'.
21270
aeaf81d9 212712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21272
21273 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21274 variable definitions to the beginning of each function. Sort stack
21275 variables by size.
21276 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21277 `buf' argument to `char *'.
21278
79bbb63f 212792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21280
21281 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21282 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21283 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 21284 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21285 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21286 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21287 configfile.mod, search.mod, gzio.mod and test.mod.
21288 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21289 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21290 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21291 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21292 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21293 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21294 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21295 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21296 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21297 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21298 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21299 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21300 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21301 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21302 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21303 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21304 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21305 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21306 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21307 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21308 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21309 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21310 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21311
21312 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21313 `grep --include'.
21314 (pkgdata_MODULES): Add test.mod.
21315
233b1628 213162005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21317
21318 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21319 appending to variables with "+=".
21320 (PModule): Use full pathname to generate *.lst filenames.
21321
21322 * Makefile.in: Fixed list rules moved from genmk.rb.
21323 (.DELETE_ON_ERROR): New special target.
21324 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21325
21326 * conf/i386-pc.rmk: Include conf/common.mk.
21327 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21328 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21329 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21330 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21331 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21332 configfile.mod, search.mod, gzio.mod and test.mod.
21333 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21334 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21335 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21336 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21337 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21338 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21339 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21340 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21341 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21342 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21343 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21344 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21345 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21346 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21347 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21348 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21349 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21350 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21351 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21352 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21353 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21354 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21355 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21356 here...
21357 * conf/common.rmk: ... to here. New file.
21358
21359 * conf/common.mk: New file.
21360
16f820c8 213612005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21362
21363 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21364 (grub_script.tab.c): ... here.
21365
21366 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21367 (grub_script.tab.c): ... here.
21368
21369 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21370 (grub_script.tab.c): ... here.
21371
21372 * normal/command.c (grub_command_find): Fixed a memory leak of
21373 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21374
63ba1554 213752005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21376
21377 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21378 "@" which marks the start of a comment on ARM.
21379 (VARIABLE): Likewise.
21380
7f67dc13 213812005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21382
79bbb63f 21383 Add support for Linux/ADFS partition tables.
7f67dc13 21384
21385 * partmap/acorn.c: New file.
21386
21387 * include/grub/acorn_filecore.h: Likewise.
21388
21389 * DISTLIST: Added `partmap/acorn.c' and
21390 `include/grub/acorn_filecore.h'.
f19dbdb7 21391
7f67dc13 21392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21393 `partmap/acorn.c'.
21394 (pkgdata_MODULES): Add `acorn.mod'.
21395 (acorn_mod_SOURCES): New variable.
21396 (acorn_mod_CFLAGS): Likewise.
21397
21398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21399 `partmap/acorn.c'.
21400 (pkgdata_MODULES): Add `acorn.mod'.
21401 (acorn_mod_SOURCES): New variable.
21402 (acorn_mod_CFLAGS): Likewise.
21403
21404 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21405 (pkgdata_MODULES): Add `acorn.mod'.
21406 (acorn_mod_SOURCES): New variable.
21407 (acorn_mod_CFLAGS): Likewise.
21408 (acorn_mod_LDFLAGS): Likewise.
21409
21410 * include/types.h (grub_disk_addr_t): New typedef.
21411
6d099807 214122005-11-13 Marco Gerards <mgerards@xs4all.nl>
21413
21414 * geninit.sh: New file.
21415
21416 * geninitheader.sh: Likewise.
21417
21418 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21419 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21420 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21421 * commands/configfile.c (grub_configfile_init)
21422 (grub_configfile_fini): Likewise.
21423 * commands/default.c (grub_default_init, grub_default_fini):
21424 Likewise.
21425 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21426 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21427 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21428 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21429 Likewise.
21430 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21431 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21432 Likewise.
21433 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 21434 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 21435 Likewise.
21436 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21437 Likewise.
fe6b695a 21438 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 21439 Likewise.
21440 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21441 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21442 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21443 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21444 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21445 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21446 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21447 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21448 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21449 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21450 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21451 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21452 * partmap/amiga.c (grub_amiga_partition_map_init)
21453 (grub_amiga_partition_map_fini): Likewise.
21454 * partmap/apple.c (grub_apple_partition_map_init)
21455 (grub_apple_partition_map_fini): Likewise.
21456 * partmap/pc.c (grub_pc_partition_map_init)
21457 (grub_pc_partition_map_fini): Likewise.
21458 * partmap/sun.c (grub_sun_partition_map_init,
21459 grub_sun_partition_map_fini): Likewise.
21460 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21461 Likewise.
21462
21463 * util/grub-emu.c: Include <grub_modules_init.h>.
21464 (main): Don't initialize and de-initialize any modules directly,
21465 use `grub_init_all' and `grub_fini_all' instead.
21466
21467 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21468 `grub_vesafb_mod_init'.
21469 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21470 all users.
21471 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21472 `grub_vga_mod_init'. Updated all users.
21473 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21474
6d099807 21475 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21476 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21477 rules.
21478
21479 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21480 Generate a function to initialize the module in utilities.
21481 Updated all callers.
21482 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21483 initialize the module in utilities. Updated all callers.
21484
9046bcf0 214852005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21486
21487 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21488 escape sequence and a literal ^L to clear the screen.
21489
21490 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21491 when returning from Open Firmware.
21492
d13ea639 214932005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21494
21495 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21496 (grub_ofconsole_height): Likewise.
21497 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21498 manually insert a '\n'.
21499 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21500 `grub_ofconsole_height'. Return early if these are already set.
21501
a8fcf206 215022005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21503
21504 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21505 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21506 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21507 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21508 and `normal/script.c'.
21509 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21510 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21511 (test_mod_SOURCES): New variable.
21512 (test_mod_CFLAGS): Likewise.
21513 (test_mod_LDFLAGS): Likewise.
21514 (pkgdata_MODULES): Add `test.mod'.
21515 (grub_script.tab.c): New rule.
21516 (grub_script.tab.h): Likewise.
21517
b6b32745 215182005-11-07 Marco Gerards <mgerards@xs4all.nl>
21519
21520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21521 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21522 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21523 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21524 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21525 (test_mod_SOURCES): New variable.
21526 (test_mod_CFLAGS): Likewise.
21527 (pkgdata_MODULES): Add `test.mod'.
21528 (grub_script.tab.c): New rule.
21529 (grub_script.tab.h): Likewise.
21530
daac212a 215312005-11-06 Marco Gerards <mgerards@xs4all.nl>
21532
21533 Add initial scripting support.
21534
21535 * commands/test.c: New file.
21536 * include/grub/script.h: Likewise.
21537 * normal/execute.c: Likewise.
21538 * normal/function.c: Likewise.
21539 * normal/lexer.c: Likewise.
21540 * normal/parser.y: Likewise.
21541 * normal/script.c: Likewise.
21542
21543 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21544
daac212a 21545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21546 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21547 `normal/function.c' and `normal/script.c'.
21548 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21549 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21550 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21551 variables.
daac212a 21552 (pkgdata_MODULES): Add `test.mod'.
21553 (grub_script.tab.c): New rule.
21554 (grub_script.tab.h): Likewise.
21555
21556 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21557
21558 * include/grub/normal.h (grub_test_init): New prototype.
21559 (grub_test_fini): Likewise.
f19dbdb7 21560
daac212a 21561 * normal/command.c: Include <grub/script.h>.
21562 (grub_command_execute): Rewritten.
f19dbdb7 21563
daac212a 21564 * util/grub-emu.c (main): Call `grub_test_init' and
21565 `grub_test_fini'.
21566
77500b2b 215672005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21568
21569 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21570 to 0.
21571 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21572 there are no pending characters.
21573
e45deb9e 215742005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21575
21576 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21577 `grub_strndup' to drop device arguments. Replace unnecessary
21578 `grub_strndup' with `grub_strdup'.
21579
4ce32619 215802005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21581
21582 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21583 `debug' environment variable has been set.
21584
215852005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21586
4ce32619 21587 * Makefile.in (install-local): Use $(DATA).
21588 (uninstall): Likewise.
21589 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21590 (sbin_UTILITIES): ... to here.
21591 (sbin_SCRIPTS): New variable.
21592 (grub_install_SOURCES): New variable.
21593 * util/powerpc/ieee1275/grub-install.in: New file.
21594 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21595 variable.
21596 (add_segments): Call `grub_util_get_path'.
21597
25fe6f03 215982005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21599
21600 From Timothy Baldwin:
21601 * commands/ls.c (grub_ls_list_files): Close FILE with
21602 grub_file_close.
21603 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21604
04ccf3ec 216052005-10-24 Marco Gerards <mgerards@xs4all.nl>
21606
21607 * include/grub/parser.h: New file.
21608
21609 * kern/parser.c: Likewise.
21610
21611 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21612 (grub_setup_SOURCES): Likewise.
21613 (grub_probefs_SOURCES): Likewise.
21614 (grub_emu_SOURCES): Likewise.
21615 (kernel_img_HEADERS): Add `parser.h'.
21616
21617 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21618 (grub_emu_SOURCES): Add `kern/parser.c'.
21619 (grubof_SOURCES): Likewise.
21620
21621 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21622 (grubof_SOURCES): Add `kern/parser.c'.
21623
21624 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21625
21626 * kern/misc.c (grub_split_cmdline): Removed function.
21627
21628 * kern/rescue.c: Include <grub/parser.h>.
21629 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21630 of `grub_split_cmdline'.
21631
21632 * normal/command.c: Include <grub/parser.h>.
21633 (grub_command_execute): Use `grub_parser_split_cmdline' instead
21634 of `grub_split_cmdline'.
21635
21636 * normal/completion.c: Include <grub/parser.h>.
21637 (cmdline_state): New variable.
21638 (iterate_dir): End the filename with a quote depending on the
21639 command line state.
21640 (get_state): new function.
21641 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
21642 split the arguments and determine the current argument. When the
21643 argument string is not quoted, escape all spaces.
21644
6d8f4b0e 216452005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21646
21647 * normal/sparc64/setjmp.S: New file.
21648
15cf03ed 216492005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21650
21651 * include/grub/sparc64/libgcc.h: New file.
21652 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
21653 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
21654 normal/sparc64/setjmp.c.
21655
03e8661a 216562005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21657
21658 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
21659 * kern/sparc64/cache.S: New file.
21660 * kern/sparc64/cache.c: Removed.
21661 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
21662 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
21663 -mtune=ultrasparc.
21664 (COMMON_LDFLAGS): Add -melf64_sparc.
21665 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
21666 (grubof_SOURCES): Use cache.S instead of cache.c.
21667 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
21668 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
21669 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
21670 commented though.
21671 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
21672 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
21673 (linux_mod_CFLAGS): Commented out.
21674 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
21675 out because module isn't built.
21676 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
21677 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
21678 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
21679 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
21680 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
21681 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21682 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21683 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
21684 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
21685 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
21686 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21687 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21688 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
21689 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
21690
34eeec8a 216912005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
21692
21693 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
21694 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
21695 longer, because HFS should not be used on PC.
21696
708367a3 216972005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21698
21699 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
21700 consistently within the loop.
21701
6fa1251a 217022005-10-15 Marco Gerards <mgerards@xs4all.nl>
21703
21704 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
21705 directory can not be read.
21706
4801580b 217072005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21708
21709 * configure.ac (AC_INIT): Increase the version number to 1.91.
21710
21711 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
21712 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
21713 term/i386/pc/serial.c.
21714
219ad426 217152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21716
21717 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
21718 file size must be permitted.
21719
21720 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
21721 between %ah and %al.
21722
688e5699 217232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21724
21725 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
21726 grub_uint64_t.
21727 Call the hook with a NUL-terminated filename.
21728 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
21729 grub_cpu_to_be32.
21730
21731 * kern/term.c (cursor_state): New variable.
21732 (grub_term_set_current): Reset the cursor state on a new
21733 terminal.
21734 (grub_setcursor): Rewritten to use CURSOR_STATE.
21735 (grub_getcursor): New function.
21736
21737 * include/grub/term.h (grub_getcursor): New prototype.
21738
21739 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
21740 integers on ARM. Reported by Timothy Baldwin
21741 <T.E.Baldwin99@members.leeds.ac.uk>.
21742
bb34586c 217432005-10-11 Marco Gerards <mgerards@xs4all.nl>
21744
21745 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
21746 allocated.
21747 (grub_sfs_dir): Likewise.
21748
9a909877 217492005-10-09 Marco Gerards <mgerards@xs4all.nl>
21750
21751 Add support for the SFS filesystem.
21752
21753 * fs/sfs.c: New file.
21754
21755 * DISTLIST: Added `fs/sfs.c'.
21756
21757 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
21758 (grub_probefs_SOURCES): Likewise.
21759 (grub_emu_SOURCES): Likewise.
21760 (pkgdata_MODULES): Add `sfs.mod'.
21761 (sfs_mod_SOURCES): New variable.
21762 (sfs_mod_CFLAGS): Likewise.
21763 (sfs_mod_LDFLAGS): Likewise.
21764
21765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
21766 (pkgdata_MODULES): Add `sfs.mod'.
21767 (sfs_mod_SOURCES): New variable.
21768 (sfs_mod_CFLAGS): Likewise.
21769
21770 * util/grub-emu.c (main): Call `grub_sfs_init' and
21771 `grub_sfs_fini'.
21772
21773 * include/grub/fs.h (grub_sfs_init): New prototype.
21774 (grub_sfs_fini): Likewise.
21775
57bdbde3 217762005-10-07 Marco Gerards <mgerards@xs4all.nl>
21777
21778 Add support for the AFFS filesystem.
21779
21780 * fs/affs.c: New file.
21781
21782 * DISTLIST: Added `fs/affs.c'.
21783
21784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
21785 (grub_probefs_SOURCES): Likewise.
21786 (grub_emu_SOURCES): Likewise.
21787 (pkgdata_MODULES): Add `affs.mod'.
21788 (affs_mod_SOURCES): New variable.
21789 (affs_mod_CFLAGS): Likewise.
21790 (affs_mod_LDFLAGS): Likewise.
21791
21792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
21793 (pkgdata_MODULES): Add `affs.mod'.
21794 (affs_mod_SOURCES): New variable.
21795 (affs_mod_CFLAGS): Likewise.
21796
21797 * util/grub-emu.c (main): Call `grub_affs_init' and
21798 `grub_affs_fini'.
21799
21800 * include/grub/fs.h (grub_affs_init): New prototype.
21801 (grub_affs_fini): Likewise.
21802
047b67e0 218032005-10-01 Marco Gerards <mgerards@xs4all.nl>
21804
21805 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
21806
59b8208a 218072005-10-01 Marco Gerards <mgerards@xs4all.nl>
21808
21809 * configure.ac: Accept `x86_64' as host_cpu. In that case add
21810 `-m32' to CFLAGS.
21811
21812 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
21813 linking.
f19dbdb7 21814
59b8208a 21815 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
21816 (COMMON_LDFLAGS): New variable.
21817 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
21818 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
21819 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
21820 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
21821 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
21822 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
21823 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
21824 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
21825 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
21826 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
21827 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
21828 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
21829 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
21830 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
21831 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
21832 variables.
21833 (normal_mod_ASFLAGS): Add `-m32'.
21834
21835 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
21836 (grub_host_size_t, grub_host_ssize_t): New types.
21837 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 21838 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 21839 `GRUB_HOST_SIZEOF_VOID_P'.
21840
21841 * include/grub/kernel.h (struct grub_module_header): Type of
21842 member offset changed to `grub_host_off_t'. Type of member size
21843 changed to `grub_host_size_t'.
21844 (struct grub_module_info): Type of member offset changed to
21845 `grub_host_off_t'. Type of member size changed to
21846 `grub_host_size_t'.
21847
b4093103 218482005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
21849
21850 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 21851
b4093103 21852 * kern/i386/pc/startup.S (multiboot_header): New label.
21853 (multiboot_entry): Likewise.
21854 (multiboot_trampoline): Likewise.
21855
21856 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21857 Increased to 0x4A0.
21858
21859 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
21860 put parentheses after a question mark.
21861 [!GRUB_UTIL] (my_mod): New variable.
21862
21863 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
21864
b2499b29 218652005-09-28 Marco Gerards <mgerards@xs4all.nl>
21866
21867 Adds support for the XFS filesystem. Btrees are not supported
21868 yet.
21869
21870 * fs/xfs.c: New file.
21871
21872 * DISTLIST: Added `fs/xfs.c'.
21873
21874 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
21875 (grub_probefs_SOURCES): Likewise.
21876 (grub_emu_SOURCES): Likewise.
21877 (pkgdata_MODULES): Add `xfs.mod'.
21878 (xfs_mod_SOURCES): New variable.
21879 (xfs_mod_CFLAGS): Likewise.
21880
21881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
21882 (pkgdata_MODULES): Add `xfs.mod'.
21883 (xfs_mod_SOURCES): New variable.
21884 (xfs_mod_CFLAGS): Likewise.
21885
21886 * util/grub-emu.c (main): Call `grub_xfs_init' and
21887 `grub_xfs_fini'.
21888
21889 * include/grub/fs.h (grub_xfs_init): New prototype.
21890 (grub_xfs_fini): Likewise.
21891
f19dbdb7 21892
83d37a62 218932005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
21894
21895 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
21896 color modes, allow greater than 16 colors to be configured as
21897 a default palette.
21898
47d2d65e 218992005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
21900
21901 * normal/completion.c (complete_arguments): Add the qualifier
21902 const into OPTIONS.
21903
21904 From Omniflux <omniflux+lists@omniflux.com>:
21905 * include/grub/terminfo.h: New file.
21906 * include/grub/tparm.h: Likewise.
21907 * include/grub/i386/pc/serial.h: Likewise.
21908 * term/terminfo.c: Likewise.
21909 * term/tparm.c: Likewise.
21910 * term/i386/pc/serial.c: Likewise.
21911 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
21912 serial.mod.
21913 (terminfo_mod_SOURCES): New variable.
21914 (terminfo_mod_CFLAGS): Likewise.
21915 (serial_mod_SOURCES): Likewise.
21916 (serial_mod_CFLAGS): Likewise.
21917
48b671ff 219182005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
21919
21920 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
21921 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
21922 and kern/powerpc/ieee1275/cmain.c, respectively.
21923
21924 * boot/powerpc/ieee1275/crt0.S: Moved to ...
21925 * kern/powerpc/ieee1275/crt0.S: ... here.
21926
21927 * boot/powerpc/ieee1275/cmain.c: Moved to ...
21928 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 21929
48b671ff 21930 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
21931 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
21932 instead of boot/powerpc/ieee1275/crt0.S and
21933 boot/powerpc/ieee1275/cmain.c, respectively.
21934
21935 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
21936 sectors. It was not used anyway.
21937
09fc77a7 219382005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21939
21940 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
21941 `unused parameter' warning.
21942
003789c7 219432005-08-30 Hollis Blanchard <hollis@penguinppc.org>
21944
21945 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
21946 function.
21947 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
21948 getcharwidth.
21949
67f44c86 219502005-08-28 Marco Gerards <metgerards@student.han.nl>
21951
21952 * include/grub/normal.h (enum grub_completion_type): Added
21953 `GRUB_COMPLETION_TYPE_ARGUMENT'.
21954
21955 * normal/cmdline.c (print_completion): Handle
21956 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
21957 * normal/menu_entry.c (store_completion): Likewise.
21958
21959 * normal/completion.c (complete_arguments): New function.
21960 (grub_normal_do_completion): Call `complete_arguments' when the
21961 current words start with a dash.
21962
0b5abe02 219632005-08-27 Marco Gerards <metgerards@student.han.nl>
21964
21965 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
21966 `gzio.mod' instead of `io.mod').
21967
d9864ee1 219682005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
21969
21970 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
21971 (DISTDIRS): Added io and video.
21972 Rewrite the search routine to make an output consistently.
21973
21974 * DISTLIST: Added conf/sparc64-ieee1275.mk,
21975 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
21976 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
21977 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
21978 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
21979 util/powerpc/ieee1275/misc.c.
f19dbdb7 21980
d9864ee1 21981 * include/grub/gzio.h: New file.
21982 * io/gzio.c: Likewise.
f19dbdb7 21983
d9864ee1 21984 * kern/file.c (grub_file_close): Call grub_device_close only if
21985 FILE->DEVICE is not NULL.
21986
21987 * include/grub/mm.h [!NULL] (NULL): New macro.
21988
21989 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
21990
21991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
21992 (pkgdata_MODULES): Added gzio.mod.
21993 (gzio_mod_SOURCES): New variable.
21994 (gzio_mod_CFLAGS): Likewise.
21995
21996 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
21997 (pkgdata_MODULES): Added gzio.mod.
21998 (gzio_mod_SOURCES): New variable.
21999 (gzio_mod_CFLAGS): Likewise.
22000
22001 * commands/cat.c: Include grub/gzio.h.
22002 (grub_cmd_cat): Use grub_gzfile_open instead of
22003 grub_file_open.
f19dbdb7 22004
d9864ee1 22005 * commands/cmp.c: Include grub/gzio.h.
22006 (grub_cmd_cmp): Use grub_gzfile_open instead of
22007 grub_file_open.
22008
22009 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
22010 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
22011 grub_file_open.
22012 (grub_rescue_cmd_module): Likewise.
22013
fa46f4b5 220142005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22015
22016 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
22017 kern/sparc64/ieee1275/init.c because it contains _start.
22018 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
22019
e9211b5d 220202005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22021
22022 * configure.ac: Add support for sparc64 host with ieee1275
22023 firmware.
22024 * configure: Generated from configure.ac.
22025 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
22026 instead of int.
22027 (grub_ofdisk_read): Likewise.
22028 (grub_ofdisk_open): Use %p to print pointer values, and cast the
22029 pointers as (void *) to remove a warning.
22030 (grub_ofdisk_close): Likewise.
22031 (grub_ofdisk_read): Likewise.
22032 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
22033 returns, so make it return void to remove a warning.
22034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
22035 Corresponding prototype change.
22036 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
22037 values, and cast the pointers as (void *) to remove a warning.
22038 (grub_mm_dump): Likewise.
22039 * conf/sparc64-ieee1275.mk: New file.
22040 * conf/sparc64-ieee1275.rmk: Likewise.
22041 * include/grub/sparc64/setjmp.h: Likewise.
22042 * include/grub/sparc64/types.h: Likewise.
22043 * include/grub/sparc64/ieee1275/console.h: Likewise.
22044 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22045 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22046 * include/grub/sparc64/ieee1275/time.h: Likewise.
22047 * kern/sparc64/cache.c: Likewise.
22048 * kern/sparc64/dl.c: Likewise.
22049 * kern/sparc64/ieee1275/init.c: Likewise.
22050 * kern/sparc64/ieee1275/openfw.c: Likewise.
22051
385c6a92 220522005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22053
22054 * util/console.c (grub_ncurses_putchar): If C is greater than
22055 0x7f, set C to a question mark.
22056 (grub_ncurses_getcharwidth): New function.
22057 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
22058 getcharwidth.
22059
22060 * normal/menu.c (print_entry): Made aware of Unicode. First,
22061 convert TITLE to UCS-4, and predict the cursor position by
22062 grub_getcharwidth.
22063
22064 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
22065 const to SRC.
22066 * kern/misc.c (grub_utf16_to_utf8): Likewise.
22067
16ccb8b1 220682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22069
22070 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
22071 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22072 grub_strcat.
22073
22074 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
22075 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22076 grub_strcpy and grub_strlen. Take it into account that a space
22077 character is inserted as a delimiter.
22078
6a85ce79 220792005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22080
22081 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 22082 invalid magic in the error.
6a85ce79 22083
22084 * commands/search.c: New file.
f19dbdb7 22085
6a85ce79 22086 * util/grub-emu.c (main): Call grub_search_init and
22087 grub_search_fini.
22088
22089 * kern/rescue.c (grub_rescue_print_disks): Removed.
22090 (grub_rescue_print_devices): New function.
22091 (grub_rescue_cmd_ls): Use grub_device_iterate with
22092 grub_rescue_print_devices instead of grub_disk_dev_iterate with
22093 grub_rescue_print_disks.
22094
22095 * kern/partition.c (grub_partition_iterate): Return the result of
22096 PARTMAP->ITERATE instead of GRUB_ERRNO.
22097
22098 * kern/device.c: Include grub/partition.h.
22099 (grub_device_iterate): New function.
22100
22101 * include/grub/partition.h (grub_partition_iterate): Return int
22102 instead of grub_err_t.
22103
22104 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
22105 prototype.
22106 [GRUB_UTIL] (grub_search_fini): Likewise.
22107
22108 * include/grub/device.h (grub_device_iterate): New prototype.
22109
22110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22111 commands/search.c.
22112 (pkgdata_MODULES): Added search.mod.
22113 (search_mod_SOURCES): New variable.
22114 (search_mod_CFLAGS): Likewise.
22115
22116 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
22117 (pkgdata_MODULES): Added search.mod.
22118 (search_mod_SOURCES): New variable.
22119 (search_mod_CFLAGS): Likewise.
22120
22121 * commands/ls.c (grub_ls_list_disks): Renamed to ...
22122 (grub_ls_list_devices): ... this, and use grub_device_iterate.
22123 All callers changed.
22124
22125 * DISTLIST: Added commands/search.c.
22126
ef095434 221272005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22128
22129 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
22130 conversion.
22131 (grub_getcharwidth): New function.
22132
22133 * kern/misc.c (grub_utf8_to_ucs4): New function.
22134
22135 * include/grub/term.h (struct grub_term): Added a new member
22136 "getcharwidth".
22137 (grub_getcharwidth): New prototype.
22138
22139 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
22140
22141 * term/i386/pc/console.c (map_char): New function. Segregated from
22142 grub_console_putchar.
22143 (grub_console_putchar): Use map_char.
22144 (grub_console_getcharwidth): New function.
22145 (grub_console_term): Specified grub_console_getcharwidth as
22146 getcharwidth.
22147
22148 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
22149 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
22150
22151 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
22152 GRUB_ERRNO.
22153 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
22154 on grub_strtoul completely.
22155 (write_char): Declare local variables in the beginning of the
22156 function.
22157 (grub_vesafb_getcharwidth): New function.
22158 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
22159 getcharwidth.
22160
1f0a95e4 221612005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
22162
22163 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
22164 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
22165 commands/i386/pc/vbetest.c.
22166
22167 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
22168 call grub_vbe_get_controller_info again, because the returned
22169 information is volatile.
22170 (grub_vbe_set_video_mode): Mostly rewritten.
22171 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
22172 grub_vbe_status_t correctly.
22173 (grub_vbe_get_video_mode_info): Likewise.
22174 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
22175 several if statements.
22176
22177 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
22178 * commands/i386/pc/vbeinfo.c: ... this.
22179
22180 * commands/i386/pc/vbe_test.c: Renamed to ...
22181 * commands/i386/pc/vbetest.c: ... this.
22182
22183 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
22184 ...
22185 (grub_cmd_vbeinfo): ... this. Save video modes before
22186 iterating. Skip a video mode, if it is not available, not enough
22187 information is given or it is monochrome. Show the memory
22188 model. Leave the interpretation of MODEVAR to grub_strtoul
22189 completely.
22190 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22191 (GRUB_MOD_FINI): Likewise.
22192
22193 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22194 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22195 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22196 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22197 grub_strtoul completely.
22198 (real2pm): Removed.
22199 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22200 (GRUB_MOD_FINI): Likewise.
22201
22202 * normal/misc.c: Include grub/mm.h.
22203
22204 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22205 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22206 (vbe_list_modes_mod_SOURCES): Removed.
22207 (vbe_list_modes_mod_CFLAGS): Likewise.
22208 (vbe_test_mod_SOURCES): Likewise.
22209 (vbe_test_mod_CFLAGS): Likewise.
22210 (vbeinfo_mod_SOURCES): New variable.
22211 (vbeinfo_mod_CFLAGS): Likewise.
22212 (vbetest_mod_SOURCES): Likewise.
22213 (vbetest_mod_CFLAGS): Likewise.
22214
992ffbbe 222152005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22216
22217 * normal/misc.c: New file.
22218
22219 * DISTLIST: Added normal/misc.c.
f19dbdb7 22220
992ffbbe 22221 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22222 DISK to HOOK. Call HOOK with DISK.
22223 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22224 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22225 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22226
22227 * normal/menu_entry.c (struct screen): Added a new member
22228 "completion_shown".
22229 (completion_buffer): New global variable.
22230 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22231 (store_completion): New function.
22232 (complete): Likewise.
22233 (clear_completions): Likewise.
22234 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22235 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22236 a tab, call complete.
22237
22238 * normal/completion.c (disk_dev): Removed.
22239 (print_simple_completion): Likewise.
22240 (print_partition_completion): Likewise.
22241 (print_func): New global variable.
22242 (add_completion): Do not take the arguments WHAT or PRINT any
22243 longer. Added a new argument TYPE. Instead of printing directly,
22244 call PRINT_FUNC if not NULL.
22245 All callers changed.
22246 (complete_device): Use a local variable DEV instead of
22247 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22248 (grub_normal_do_completion): Take a new argument HOOK. Do not
22249 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22250 empty string, return NULL instead.
22251 All callers changed.
22252
22253 * normal/cmdline.c (print_completion): New function.
22254
22255 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22256 to HOOK.
22257 All callers changed.
22258
22259 * kern/disk.c (grub_print_partinfo): Removed.
22260
22261 * include/grub/partition.h (struct grub_partition_map): Add a new
22262 argument DISK into HOOK of ITERATE.
22263 (grub_partition_iterate): Add a new argument DISK to HOOK.
22264
22265 * include/grub/normal.h (enum grub_completion_type): New enum.
22266 (grub_completion_type_t): New type.
22267 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22268 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22269 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22270 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22271 (grub_normal_do_completion): Added a new argument HOOK.
22272 (grub_normal_print_device_info): New prototype.
22273
22274 * include/grub/disk.h (grub_print_partinfo): Removed.
22275
22276 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22277 (normal_mod_SOURCES): Likewise.
22278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22279 (normal_mod_SOURCES): Likewise.
22280
22281 * commands/ls.c (grub_ls_list_disks): Use
22282 grub_normal_print_device_info instead of grub_print_partinfo. Free
22283 PNAME.
22284 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22285 duplicating the code.
22286
0bd41162 222872005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22288
22289 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 22290 follow GCS more precisely.
22291 * commands/i386/pc/vbe_test.c: Likewise.
22292 * include/grub/i386/pc/vbe.h: Likewise.
22293 * term/i386/pc/vesafb.c: Likewise.
22294 * video/i386/pc/vbe.c: Likewise.
0bd41162 22295
6323696a 222962005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22297
22298 * DISTLIST: Added term/i386/pc/vesafb.c
22299 DISTLIST: Added video/i386/pc/vbe.c
22300 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22301 DISTLIST: Added commands/i386/pc/vbe_test.c.
22302 * commands/i386/pc/vbe_list_modes.c: New file.
22303 * commands/i386/pc/vbe_test.c: Likewise.
22304 * term/i386/pc/vesafb.c: Likewise.
22305 * video/i386/pc/vbe.c: Likewise.
22306 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22307 (grub_vbe_probe) Added prototype.
22308 (grub_vbe_set_video_mode) Likewise.
22309 (grub_vbe_get_video_mode) Likewise.
22310 (grub_vbe_get_video_mode_info) Likewise.
22311 (grub_vbe_set_pixel_rgb) Likewise.
22312 (grub_vbe_set_pixel_index) Likewise.
22313 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22314 (pkgdata_MODULES): Added vesafb.mod.
22315 (pkgdata_MODULES): Added vbe_list_modes.mod.
22316 (pkgdata_MODULES): Added vbe_test.mod.
22317 (vbe_mod_SOURCES): Added.
22318 (vbe_mod_CFLAGS): Likewise.
22319 (vesafb_mod_SOURCES): Likewise.
22320 (vesafb_mod_CFLAGS): Likewise.
22321 (vbe_list_modes_mod_SOURCES): Likewise.
22322 (vbe_list_modes_mod_CFLAGS): Likewise.
22323 (vbe_test_mod_SOURCES): Likewise.
22324 (vbe_test_mod_CFLAGS): Likewise.
22325
0a74e62f 223262005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22327
0a74e62f 22328 * normal/command.c (grub_command_execute): If INTERACTIVE is
22329 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22330 CMDLINE. Disable the pager if INTERACTIVE is true.
22331 All callers are changed.
22332
22333 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22334 before reading a config file.
22335 * normal/main.c (read_config_file): Even if a command is not
22336 found, register it if it is within an entry.
22337
22338 * util/grub-emu.c: Include sys/types.h and unistd.h.
22339 (options): Added --hold.
22340 (struct arguments): Added a new member "hold".
22341 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22342 missing.
22343 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22344 cleared by a debugger, if it is not zero.
22345
22346 * include/grub/normal.h (grub_command_execute): Add an argument
22347 INTERACTIVE.
22348
e51f85ae 223492005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22350
22351 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22352
e9c6f39b 223532005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22354
22355 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22356 program with another one, because the old one didn't detect a bug
22357 in gcc-3.4. Always use regparm 2, because the new test is still
22358 not enough for gcc-4.0. Someone must investigate a simple test
22359 case which detects a bug in gcc-4.0.
22360
8de3495c 223612005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22362
22363 * DISTLIST: Added normal/completion.c.
22364
22365 * normal/completion.c: New file.
f19dbdb7 22366
8de3495c 22367 * term/i386/pc/console.c (grub_console_getwh): New function.
22368 (grub_console_term): Assign grub_console_getwh to getwh.
22369
22370 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22371 function is defined in normal/completion.c as
22372 grub_normal_do_completion.
22373 (grub_cmdline_get): Use grub_normal_do_completion instead of
22374 grub_tab_complete.
22375
22376 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22377 returns non-zero, otherwise return 0.
22378 (grub_partition_iterate): First, probe the partition map. Then,
22379 call ITERATE only for this partition map.
22380
22381 * kern/misc.c (grub_strncmp): Rewritten.
22382
22383 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22384 returns non-zero. Otherwise return 0.
22385
22386 * include/grub/partition.h (grub_partition_map_iterate): Return
22387 int instead of void.
22388
22389 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22390
22391 * include/grub/misc.h (grub_strncmp): Change the type of N to
22392 grub_size_t.
22393
22394 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22395 of void.
22396
22397 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22398 unsigned explicitly before comparing it with I.
8de3495c 22399
22400 * kern/main.c (grub_env_write_root): Add the attribute unused into
22401 VAR.
22402
22403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22404 normal/completion.c.
22405 (normal_mod_SOURCES): Likewise.
22406 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22407 (normal_mod_SOURCES): Likewise.
22408
22409 * normal/command.c (grub_iterate_commands): If ITERATE returns
22410 non-zero, return one immediately.
22411
e85e144b 224122005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22413
22414 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22415 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22416 descriptions.
22417 (grub_vbe_get_controller_info): New function.
22418 (grub_vbe_get_mode_info): Likewise.
22419 (grub_vbe_set_mode): Likewise.
22420 (grub_vbe_get_mode): Likewise.
22421 (grub_vbe_set_memory_window): Likewise.
22422 (grub_vbe_get_memory_window): Likewise.
22423 (grub_vbe_set_scanline_length): Likewise.
22424 (grub_vbe_get_scanline_length): Likewise.
22425 (grub_vbe_set_display_start): Likewise.
22426 (grub_vbe_get_display_start): Likewise.
22427 (grub_vbe_set_palette_data): Likewise.
22428 * include/grub/i386/pc/vbe.h: New file.
22429
c46153d2 224302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22431
22432 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22433 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22434 * DISTLIST: Likewise.
22435 * kern/ieee1275/of.c: Moved to ...
22436 * kern/ieee1275/ieee1275.c: ... here.
22437
0cb90c45 224382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22439
22440 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22441 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22442 Pass 0 as `end' parameter to grub_strtoul().
22443
a19fb360 224442005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22445
22446 * include/grub/powerpc/ieee1275/console.h: Do not include
22447 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22448 ifdef.
22449 (grub_console_cur_color): Remove i386-specific prototype.
22450 (grub_console_real_putchar): Likewise.
22451 (grub_console_checkkey): Likewise.
22452 (grub_console_getkey): Likewise.
22453 (grub_console_getxy): Likewise.
22454 (grub_console_gotoxy): Likewise.
22455 (grub_console_cls): Likewise.
22456 (grub_console_setcursor): Likewise.
22457 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22458 Include <grub/machine/console.h>.
22459 * term/ieee1275/ofconsole.c: Likewise.
22460
4ac9bd04 224612005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22462
22463 * Makefile.in (LIBLZO): New variable.
22464
22465 * configure.ac: Check for LZO version 2.
22466
22467 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22468 lzo/lzo1x.h instead of lzo1x.h.
22469
22470 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22471 of -llzo.
22472
22473 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22474 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22475
22476 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22477 copying the data from PARTITION to P.
22478
f4917dfd 224792005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22480
22481 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22482 negative, unload the module.
22483
22484 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22485 map is "pc_partition_map" but not "pc".
22486 (usage): Fix the description. The options are --boot-image and
22487 --core-image but not --boot-file or --core-file.
22488 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22489 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22490 DEFAULT_DIRECTORY.
22491
22492 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22493 --core-file. Specify INSTALL_DEVICE as an argument.
22494
22495 * util/console.c: Include config.h.
22496 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22497 [HAVE_NCURSES_H]: Include ncurses.h.
22498 [HAVE_CURSES_H]: Include curses.h.
22499 [!A_NORMAL] (A_NORMAL): Defined as zero.
22500 [!A_STANDOUT] (A_STANDOUT): Likewise.
22501
22502 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22503 -lncurses.
22504 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22505
22506 * configure.ac: Check for curses libraries and headers.
22507
22508 * Makefile.in (LIBCURSES): New variable.
22509
22510 * genmk.rb (Script::rule): Set the executable bits.
22511
22512 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22513 name of the PC partition map is "pc_partition_map" but not "pc".
22514
0e143073 225152005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22516
22517 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22518 (modules): Likewise.
22519 (usage): Added descriptions for --modules and --grub-probefs.
22520 Handle --modules and --grub-probefs. Save the arguments in MODULES
22521 and GRUB_PROBEFS, respectively.
22522 Auto-detect a filesystem module against GRUBDIR. If the result is
22523 empty and modules are not specified explicitly, abort the
22524 installation. Add the result to MODULES.
22525
22526 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22527 disk/powerpc/ieee1275/ofdisk.c,
22528 include/grub/powerpc/ieee1275/init.h and
22529 term/powerpc/ieee1275/ofconsole.c.
22530 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22531 term/ieee1275/ofconsole.c.
22532
22533 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22534
22535 * COPYING: Upgraded to the latest version. Only the address of the
22536 FSF office has changed.
f19dbdb7 22537
efd6e6d5 225382005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22539
22540 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22541 kern/ieee1275.c with kern/ieee1275/of.c.
22542
22543 * kern/ieee1275.c: Moved to ...
22544 * kern/ieee1275/of.c: ... here.
22545
8ceafda2 225462005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22547
22548 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22549 readability.
8ceafda2 22550
22551 * config.guess: Updated to the latest version from gnulib.
22552 * config.sub: Likewise.
22553 * install.sh: Likewise.
22554 * mkinstalldirs: Likewise.
22555
22556 * include/grub/console.h: Removed. This file is arch-specific. Do
22557 not put this in include/grub.
22558
22559 * include/grub/i386/pc/console.h: Resurrected.
22560
22561 * util/console.c: Include grub/machine/console.h instead of
22562 grub/console.h.
22563 * util/grub-emu.c: Likewise.
22564
267f6cd9 225652005-08-04 Marco Gerards <metgerards@student.han.nl>
22566
22567 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22568 hardcoded value.
f19dbdb7 22569
267f6cd9 22570 From Vincent Pelletier <subdino2004@yahoo.fr>
22571 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22572 Redefined to use grub_getwh.
22573 (grub_term): New member named getwh.
22574 (grub_getwh): New prototype.
22575 * kern/term.c (grub_getwh): New function.
22576 * term/i386/pc/console.c (grub_console_getwh): New function.
22577 (grub_console_term): New member `getwh'.
22578 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22579 (grub_vga_term): New member `getwh'.
0b5abe02 22580 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22581 grub_ssize_t.
22582 (grub_ofconsole_getw): New function.
22583 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22584 (grub_ofconsole_term): New field named getwh and new initial
22585 value.
22586
3be7266d 225872005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22588
22589 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22590 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22591 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22592 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22593 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22594 of <grub/machine/ieee1275.h>.
22595 * commands/ieee1275/reboot.c: Likewise.
22596 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22597 * kern/ieee1275.c: ... to here. All users updated. Change all
22598 parameter structs to use new type `grub_ieee1275_cell_t'.
22599 * term/powerpc/ieee1275/ofconsole.c: Move ...
22600 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22601 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22602 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22603 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22604 to return int.
22605 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22606 Remove unused prototypes. All users updated.
22607 * include/grub/powerpc/ieee1275/console.h: Removed.
22608 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22609 `grub_ieee1275_cell_t'.
22610 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22611 Cast comparisons with -1 to the correct type.
22612 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22613 type to match `grub_ieee1275_entry_fn'.
22614
8b5f3938 226152005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22616
22617 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22618
22619 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22620 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22621 partmap/sun.c.
22622 (grub_probefs_SOURCES): New variable.
22623
22624 * util/i386/pc/grub-probefs.c: New file.
22625
22626 * util/i386/pc/grub-setup.c (main): Call
22627 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22628 grub_hfs_init and grub_jfs_init to initialize the system. Call
22629 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22630 grub_pc_partition_map_fini to finish the system.
22631
ea409713 226322005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
22633
22634 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
22635 function.
22636 (grub_multiboot_load_elf32): Likewise.
22637 (grub_multiboot_is_elf64): Likewise.
22638 (grub_multiboot_load_elf64): Likewise.
22639 (grub_multiboot_load_elf): Likewise.
22640 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
22641 an ELF32 or ELF64 file.
22642 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
22643
22644 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
22645 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
22646 NULL before calling FS->LABEL.
22647 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
22648 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
22649 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22650 before calling FS->LABEL.
22651
141a288b 226522005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
22653
22654 * util/i386/pc/grub-install.in (datadir): New variable.
22655 (libdir): Removed.
22656 (pkgdatadir): New variable.
22657 (pkglibdir): Removed.
22658
0d5f8a54 226592005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
22660
22661 * DISTLIST: Added util/i386/pc/grub-install.in.
22662
22663 * util/i386/pc/grub-install.in: New file.
22664
22665 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
22666 (grub_install_SOURCES): Likewise.
22667
22668 * genmk.rb: Added support for scripts.
22669 (Script): New class.
22670 (scripts): New variable.
22671
22672 * Makefile.in (install-local): Install sbin_SCRIPTS by
22673 INSTALL_SCRIPT.
22674 (uninstall): Remove sbin_SCRIPTS.
22675
22676 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
22677 device, try to get a GRUB device by
22678 grub_util_biosdisk_get_grub_dev.
22679 Free DEST_DEV.
22680
22681 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
22682 description for --device-map.
22683
5f968e1e 226842005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22685
22686 Change the semantics of variable hooks. They now return strings
22687 instead of error values.
f19dbdb7 22688
5f968e1e 22689 * util/i386/pc/grub-setup.c: Include grub/env.h.
22690 (setup): Use grub_device_set_root instead of grub_env_set.
22691
22692 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
22693 grub_env_get instead of grub_device_set_root and
22694 grub_device_get_root, respectively.
22695
22696 * kern/main.c (grub_env_write_root): New function.
22697 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
22698 grub_env_set instead of grub_device_set_root.
22699
22700 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
22701 many variables.
22702 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
22703 rather than calling ENV->WRITE_HOOK afterwards.
22704 (grub_env_get): Return the result of ENV->READ_HOOK rather than
22705 passing a pointer of a pointer.
22706 (grub_register_variable_hook): Change the types of "read_hook" and
22707 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
22708 respectively.
22709 Allocate the default empty string on the heap, because this string
22710 may be freed later.
22711
22712 * kern/device.c: Include grub/env.h.
22713 (grub_device_set_root): Removed.
22714 (grub_device_get_root): Likewise.
22715 (grub_device_open): Use grub_env_get instead of
22716 grub_device_get_root.
22717
22718 * include/grub/env.h (grub_env_read_hook_t): New type.
22719 (grub_env_write_hook_t): Likewise.
22720 (grub_env_var): Change the types of "read_hook" and "write_hook"
22721 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
22722 (grub_register_variable_hook): Likewise.
22723
22724 * include/grub/device.h (grub_device_set_root): Removed.
22725 (grub_device_set_root): Likewise.
22726
22727 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
22728 make sure that DIRNAME terminates with '/', so that
22729 grub_fat_find_dir will fail if PATH is not a directory.
22730
22731 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
22732 from DIRNAME.
22733 Use the qualifier auto for print_files and print_files_long.
22734 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
22735 as a regular file.
22736 Put a newline only if there is no error.
22737 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
22738 used.
22739
896f0afd 227402005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
22741
22742 * kern/partition.c (grub_partition_probe): Initialize PART to
22743 NULL. Otherwise, when no partition map is registered, this returns
22744 a garbage.
22745
b28b81b2 227462005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
22747
22748 * partmap/apple.c (apple_partition_map_iterate): Check if POS
22749 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
22750 valid.
22751
5f3607e0 227522005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
22753
22754 * commands/ls.c (grub_ls_list_disks): Print the filesystem
22755 information on each device, if it does not have partitions. Print
22756 "Device" instead of "Disk", because this function is not specific
22757 to disk devices.
22758
22759 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
22760 static to ensure that it is put on the memory rather than a
22761 register.
22762
502c87e8 227632005-07-17 Yoshinori Okuji <okuji@enbug.org>
22764
22765 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
22766 (grub_cat_init): Likewise.
22767 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
22768 (options): Likewise.
22769 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22770 (grub_configfile_init): Likewise.
22771 * font/manager.c (GRUB_MOD_INIT): Likewise.
22772 * commands/help.c (GRUB_MOD_INIT): Likewise.
22773 (grub_help_init): Likewise.
22774 * normal/command.c (grub_command_init): Likewise.
22775 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
22776 * disk/loopback.c (grub_loop_init): Likewise.
22777 (GRUB_MOD_INIT): Likewise.
22778 * commands/ls.c (grub_ls_init): Likewise.
22779 (GRUB_MOD_INIT): Likewise.
22780 (options): Likewise.
22781 * commands/boot.c (grub_boot_init): Likewise.
22782 (GRUB_MOD_INIT): Likewise.
22783 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
22784 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
22785 (GRUB_MOD_INIT): Likewise.
22786 * commands/cmp.c (grub_cmp_init): Likewise.
22787 (GRUB_MOD_INIT): Likewise.
22788
22789 * normal/arg.c: Use <> instead of "" to include header files.
22790 (SHORT_ARG_HELP): New macro.
22791 (SHORT_ARG_USAGE): Likewise.
22792 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
22793 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
22794 descriptions.
22795 (find_short): Check if C is 'h' or 'u' explicitly.
22796 (grub_arg_show_help): Use space characters instead of tabs. Treat
22797 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
22798 are shown with --help and --usage only if they are not used for
22799 the command itself.
22800 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
22801 'h' and 'u'.
22802
22803 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
22804 const into "longarg". Change the type of "shortarg" to int.
22805
f806d18e 228062005-07-17 Yoshinori Okuji <okuji@enbug.org>
22807
22808 * boot/i386/pc/boot.S (boot_drive_check): New label.
22809
22810 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
22811 macro.
22812
22813 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
22814 which do not pass a boot drive correctly. Copied from GRUB Legacy.
22815
e293232b 228162005-07-17 Yoshinori Okuji <okuji@enbug.org>
22817
22818 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
22819 When turning off Gate A20, skip the check and return immediately,
22820 because this is not fatal usually.
22821
ebedfd00 228222005-07-17 Yoshinori Okuji <okuji@enbug.org>
22823
22824 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
22825 be 0x7C00 instead of 0x8000.
22826
22827 * boot/i386/pc/pxeboot.S: Rewritten.
22828
22829 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
22830 EXT_C.
22831 (gate_a20_check_state): Read a byte from 0x108000. Invert the
22832 result.
22833
654fc59f 228342005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
22835
22836 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
22837 robustness. This routine now supports a BIOS call and System
22838 Control Port A to modify the gate A20.
22839
22840 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22841 Increased to 0x440.
22842
09f9923f 228432005-07-12 Hollis Blanchard <hollis@penguinppc.org>
22844
22845 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
22846 device path and resulting ihandle.
22847 (grub_ofdisk_close): dprintf the ihandle being closed.
22848 (grub_ofdisk_read): dprintf function parameters.
22849 * kern/mm.c (grub_mm_init_region): Likewise.
22850 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
22851 (grub_linux_boot): dprintf the Linux entry point, initrd address and
22852 size, and boot arguments.
22853 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
22854 before loading into memory.
22855 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
22856 before loading into memory.
22857
7ef504d8 228582005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
22859
22860 * kern/mm.c: Added much documentation.
22861 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
22862 8, set to 5 instead of 8.
22863
e0f050c2 228642005-07-10 Yoshinori Okuji <okuji@enbug.org>
22865
22866 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
22867
22868 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
22869 (grub_mkdevicemap_SOURCES): New variable.
22870
22871 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
22872 lib/device.c of GRUB Legacy.
22873
7224189a 228742005-07-10 Yoshinori Okuji <okuji@enbug.org>
22875
22876 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
22877 instead of PATH is NULL.
22878
68c864eb 228792005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
22880
22881 * commands/cmp.c (BUFFER_SIZE): New macro.
22882 (grub_cmd_cmp): Close the right file at the right time. Compare
22883 only data just read. Don't report files of different size as
22884 identical. Dynamically allocate buffers. Move variable
22885 declarations at the beginning of function.
22886
e6f3e614 228872005-07-09 Yoshinori Okuji <okuji@enbug.org>
22888
22889 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
22890 reverse.
22891
f8f1559a 228922004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
22893
22894 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
22895 when backspace is pressed at beginning of line.
22896
39c9d41d 228972005-07-03 Yoshinori Okuji <okuji@enbug.org>
22898
22899 * DISTLIST: Added genfslist.sh.
22900
22901 * normal/main.c (fs_module_list): New variable.
22902 (autoload_fs_module): New function.
22903 (read_fs_list): Likewise.
22904 (grub_normal_execute): Call read_fs_list.
22905
22906 * kern/fs.c (grub_fs_autoload_hook): New variable.
22907 (grub_fs_probe): Added support for auto-loading.
22908
22909 * include/grub/normal.h (struct grub_fs_module_list): New struct.
22910 (grub_fs_module_list_t): New type.
22911
22912 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
22913 (grub_fs_autoload_hook): New prototype.
22914
22915 * genfslist.sh: New file.
f19dbdb7 22916
39c9d41d 22917 * genmk.rb: Added a rule to generate a filesystem list.
22918
121c1d83 229192005-06-30 Marco Gerards <metgerards@student.han.nl>
22920
22921 * configure.ac: Fix the test for cross-compiling.
22922
22923 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
22924 define GRUB_UTIL anymore.
22925
22926 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
22927 so this function works on other systems than just big endian.
22928 (load_modules): Likewise.
22929 (add_segments): Likewise.
22930
e75d76e1 229312005-06-23 Hollis Blanchard <hollis@penguinppc.org>
22932
22933 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
22934 contains `l' modifier, get a long from va_arg().
22935
50b5a0a7 229362005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
22937
22938 * kern/mm.c (grub_free): If the next free block which is being
22939 merged is the first free block, set the first block to the block
22940 being freed.
22941 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
22942
89371b20 229432005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22944
22945 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
22946 `grub_ieee1275_chosen'.
22947
168d6e58 229482005-05-08 Hollis Blanchard <hollis@penguinppc.org>
22949
22950 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
22951 (grub_ieee1275_chosen): New variable.
22952 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
22953 `chosen'.
22954 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
22955 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
22956 Rename first argument to `phandle' for consistency.
22957 (grub_ieee1275_get_property_length): Likewise.
22958 (grub_ieee1275_next_property): Likewise. Change type of first argument
22959 to grub_ieee1275_phandle_t.
22960 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
22961 Move export next to declaration.
22962 (grub_ieee1275_chosen): New variable.
22963 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
22964 Correct cosmetic typo.
22965 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
22966 `grub_ieee1275_chosen'.
22967 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
22968 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
22969 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
22970 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
22971 `grub_ieee1275_chosen'.
22972
ca5baa3f 229732005-05-10 Hollis Blanchard <hollis@penguinppc.org>
22974
22975 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
22976 /chosen/bootargs.
22977 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
22978 /chosen/bootargs as "variable=value" pairs.
22979
708b345f 229802005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
22981
22982 * include/grub/misc.h (grub_dprintf): New macro.
22983 (grub_real_dprintf): New prototype.
22984 (grub_strword): Likewise.
22985 (grub_iswordseparator): Likewise.
22986 * kern/misc.c (grub_real_dprintf): New function.
22987 (grub_strword): Likewise.
22988 (grub_iswordseparator): Likewise.
22989
f4c5e67c 229902005-04-30 Hollis Blanchard <hollis@penguinppc.org>
22991
22992 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
22993 (roundup): Remove macro.
22994 (grub_ieee1275_flags): Make static.
22995 (grub_ieee1275_realmode): Remove.
22996 (grub_ieee1275_test_flag): New function.
22997 (grub_ieee1275_set_flag): Likewise.
22998 (find_options): Rename to `grub_ieee1275_find_options'; update
22999 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
23000 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
23001 (cmain): New prototype.
23002 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
23003 `grub_ieee1275_flags' directly.
23004 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
23005 machine/biosdisk.h.
23006 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
23007 Don't include grub/machine/init.h.
23008 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
23009 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23010 Remove prototype.
23011 (grub_ieee1275_realmode): Likewise.
23012 (grub_ieee1275_flag): New enum.
23013 (grub_ieee1275_test_flag): New prototype.
23014 (grub_ieee1275_set_flag): New prototype.
23015 * include/grub/powerpc/ieee1275/init.h: Remove file.
23016 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
23017 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
23018 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
23019 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
23020 comment.
23021 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
23022 `grub_ieee1275_test_flag'.
23023 (grub_ieee1275_encode_devname): Likewise.
23024
ed16607e 230252005-04-21 Hollis Blanchard <hollis@penguinppc.org>
23026
23027 * include/grub/powerpc/ieee1275/ieee1275.h
23028 (grub_ieee1275_encode_devname): New prototype.
23029 (grub_ieee1275_get_filename): Likewise.
23030 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
23031 function.
23032 (grub_set_prefix): Likewise.
23033 (grub_machine_init): Call grub_set_prefix.
23034 * kern/powerpc/ieee1275/openfw.c: Fix typos.
23035 (grub_parse_type): New enum.
23036 (grub_ieee1275_get_devargs): New function.
23037 (grub_ieee1275_get_devname): Likewise.
23038 (grub_ieee1275_parse_args): Likewise.
23039 (grub_ieee1275_get_filename): Likewise.
23040 (grub_ieee1275_encode_devname): Likewise.
23041
be369920 230422005-03-30 Marco Gerards <metgerards@student.han.nl>
23043
23044 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
23045 `grub_loader_unset'.
23046
a5ce3a4a 230472005-03-26 Hollis Blanchard <hollis@penguinppc.org>
23048
23049 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
23050 instead of grub_ieee1275_interpret.
23051 (grub_halt_init): New function.
23052 (grub_halt_fini): Likewise.
23053 (GRUB_MOD_INIT): Correct message grammar.
23054 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
23055 instead of grub_ieee1275_interpret.
23056 (grub_reboot_init): New function.
23057 (grub_reboot_fini): Likewise.
23058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
23059 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
23060 util/i386/pc/misc.c with commands/ieee1275/halt.c,
23061 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
23062 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
23063 function.
23064 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
23065 Add prototype.
23066 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
23067 prototype.
23068 (grub_halt): Likewise.
23069 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
23070 (cmain): Remove __attribute__((unused)).
23071 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
23072 (grub_heap_len): Likewise.
23073 (grub_machine_fini): New function.
23074 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
23075 (grub_halt): Likewise.
23076 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
23077 function.
23078 * util/powerpc/ieee1275/misc.c: New file.
23079
0058f771 230802005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
23081
23082 * DISTLIST: New file.
23083 * gendistlist.sh: Likewise.
f19dbdb7 23084
0058f771 23085 * Makefile.in (COMMON_DISTFILES): Removed.
23086 (BOOT_DISTFILES): Likewise.
23087 (CONF_DISTFILES): Likewise.
23088 (DISK_DISTFILES): Likewise.
23089 (FS_DISTFILES): Likewise.
23090 (INCLUDE_DISTFILES): Likewise.
23091 (KERN_DISTFILES): Likewise.
23092 (LOADER_DISTFILES): Likewise.
23093 (TERM_DISTFILES): Likewise.
23094 (UTIL_DISTFILES): Likewise.
23095 (DISTFILES): Likewise.
23096 (uninstall): Uninstall files in $(pkgdata_DATA).
23097 (DISTLIST): New target.
23098 (distdir): Use the contents of the file DISTLIST to get a list of
23099 distributed files.
23100
46b3b8a5 231012005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23102
23103 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
23104 descriptor. This is ported from GRUB Legacy.
23105
23106 * gencmdlist.sh: Added an extra semicolon to make it work with
23107 old sed versions. Reported by Robert Bihlmeyer
23108 <robbe@orcus.priv.at>.
23109
5822ff87 231102005-03-08 Yoshinori Okuji <okuji@enbug.org>
23111
23112 Automatic loading of commands is supported.
f19dbdb7 23113
5822ff87 23114 * normal/main.c (read_command_list): New function.
23115 (grub_normal_execute): Call read_command_list.
23116
23117 * normal/command.c (grub_register_command): Return zero or CMD.
23118 Allocate CMD->NAME from the heap.
23119 Initialize CMD->MODULE_NAME to zero.
23120 Find the same name as well. If the same command is found and it is
23121 a dummy command, overwrite members. If it is not a dummy command,
23122 return zero.
23123 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
23124 (grub_command_find): If a dummy command is found, load a module
23125 and retry to find a command only once.
23126
23127 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
23128 make sure that each command is loaded.
23129
23130 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
23131 macro.
23132 (struct grub_command): Remove const from the member `name'.
23133 Add a new member `module_name'.
23134 (grub_register_command): Return grub_command_t.
23135
23136 * commands/help.c (grub_cmd_help): Call grub_command_find to make
23137 sure that each command is loaded.
23138
23139 * genmk.rb (PModule::rule): Specify a module name without the
23140 suffix ".mod" to gencmdlist.sh.
23141
7b1f4b57 231422005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23143
23144 * gencmdlist.sh: New file.
f19dbdb7 23145
7b1f4b57 23146 * genmk.rb (PModule::rule): Generate a rule for a command list.
23147 Clean command.lst.
23148 Generate command.lst from $(COMMANDFILES).
23149
23150 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
23151 (DATA): Added $(pkgdata_DATA).
23152 (install-local): Install files in $(pkgdata_DATA).
23153
062aaf39 231542005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23155
23156 * term/i386/pc/vga.c (debug_command): Removed.
23157 (GRUB_MOD_INIT): Do not register the command "debug".
23158
23159 From Hollis Blanchard:
23160 * commands/configfile.c: New file.
23161 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23162 commands/configfile.c.
23163 (pkgdata_MODULES): Added configfile.mod.
23164 (configfile_mod_SOURCES): New variable.
23165 (configfile_mod_CFLAGS): Likewise.
23166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23167 commands/configfile.c.
23168 (pkgdata_MODULES): Added configfile.mod.
23169 (configfile_mod_SOURCES): New variable.
23170 (configfile_mod_CFLAGS): Likewise.
23171 * util/grub-emu.c (main): Call grub_configfile_init and
23172 grub_configfile_fini.
23173 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
23174 prototype.
23175 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 23176
cee01aa6 231772005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23178
23179 * normal/arg.c (grub_arg_show_help): Do not show the bug report
23180 address.
23181
23182 * commands/help.c (grub_cmd_help): Do not print newlines after
23183 the last command in print_command_help.
23184
93f3a1d8 231852005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23186
23187 * commands/default.h: New file.
23188 * commands/timeout.h: Likewise.
23189 * normal/context.c: Likewise.
f19dbdb7 23190
93f3a1d8 23191 * util/misc.c: Do not include sys/times.h.
23192 Include sys/time.h and grub/machine/time.h.
23193 (grub_get_rtc): Rewritten with gettimeofday.
23194
23195 * util/grub-emu.c (main): Call grub_default_init and
23196 grub_timeout_init before grub_normal_init, and call
23197 grub_timeout_fini and grub_default_fini after grub_main.
23198
23199 * util/console.c (grub_ncurses_checkkey): Return the read
23200 character or -1.
23201
23202 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23203 timeouts.
23204
23205 * normal/main.c (read_config_file): Push MENU. If this fails,
23206 print an error and wait for a user input.
23207 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23208 If a menu is empty or an error occurs, pop MENU.
23209 (grub_normal_execute): Pop and free MENU after grub_menu_run
23210 returns.
23211
23212 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23213
23214 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23215 include time.h.
23216 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23217 without GRUB_UTIL.
23218 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23219 time.h.
23220 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23221 without GRUB_UTIL.
23222
23223 * include/grub/normal.h (struct grub_menu_list): New struct.
23224 (grub_menu_list_t): New type.
23225 (struct grub_context): New struct.
23226 (grub_context_t): New type.
23227 (grub_register_command): Got rid of EXPORT_FUNC.
23228 (grub_unregister_command): Likewise.
23229 (grub_context_get): New prototype.
23230 (grub_context_get_current_menu): Likewise.
23231 (grub_context_push_menu): Likewise.
23232 (grub_context_pop_menu): Likewise.
23233 [GRUB_UTIL] (grub_default_init): Likewise.
23234 [GRUB_UTIL] (grub_default_fini): Likewise.
23235 [GRUB_UTIL] (grub_timeout_init): Likewise.
23236 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23237
23238 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23239 commands/timeout.c and normal/context.c.
23240 (pkgdata_MODULES): Added default.mod and timeout.mod.
23241 (normal_mod_SOURCES): Added normal/context.c.
23242 (default_mod_SOURCES): New variable.
23243 (default_mod_CFLAGS): Likewise.
23244 (timeout_mod_SOURCES): Likewise.
23245 (timeout_mod_CFLAGS): Likewise.
23246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23247 conf/i386-pc.rmk.
23248 (pkgdata_MODULES): Added default.mod and timeout.mod.
23249 (normal_mod_SOURCES): Added normal/context.c.
23250 (default_mod_SOURCES): New variable.
23251 (default_mod_CFLAGS): Likewise.
23252 (timeout_mod_SOURCES): Likewise.
23253 (timeout_mod_CFLAGS): Likewise.
23254
23255 * Makefile.in (all-local): Added $(MKFILES).
23256
4ed2e1dd 232572005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23258
23259 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23260 (grub_emu_SOURCES): Likewise.
23261 (pkgdata_MODULES): Add `sun.mod'.
23262 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23264 `partmap/sun.c'.
23265 (pkgdata_MODULES): Add `sun.mod'.
23266 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23267 * include/grub/partition.h (grub_sun_partition_map_init): New
23268 prototype.
23269 (grub_sun_partition_map_fini): Likewise.
23270 * partmap/sun.c: New file.
23271 * util/grub-emu.c (main): Initialize and de-initialize the sun
23272 partitionmap support.
23273
4d4e372e 232742005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23275
23276 This implements an Emacs-like menu entry editor.
f19dbdb7 23277
4d4e372e 23278 * normal/menu_entry.c: New file.
f19dbdb7 23279
4d4e372e 23280 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23281 characters to ASCII.
23282 (saved_char): New variable.
23283 (grub_ncurses_checkkey): Rewritten completely.
23284 (grub_ncurses_getkey): Likewise.
23285 (grub_ncurses_init): Call raw instead of cbreak.
23286
23287 * normal/menu.c (print_entry): Do not put a space.
23288 (init_page): Renamed to ...
23289 (grub_menu_init_page): ... this. All callers changed.
23290 (edit_menu_entry): Removed.
23291 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23292
23293 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23294
23295 * kern/misc.c (grub_vprintf): Call grub_refresh.
23296
23297 * normal/menu.c (DISP_LEFT): Renamed to ...
23298 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23299 * normal/menu.c (DISP_UP): Renamed to ...
23300 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23301 * normal/menu.c (DISP_RIGHT): Renamed to ...
23302 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23303 * normal/menu.c (DISP_DOWN): Renamed to ...
23304 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23305 * normal/menu.c (DISP_HLINE): Renamed to ...
23306 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23307 * normal/menu.c (DISP_VLINE): Renamed to ...
23308 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23309 * normal/menu.c (DISP_UL): Renamed to ...
23310 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23311 * normal/menu.c (DISP_UR): Renamed to ...
23312 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23313 * normal/menu.c (DISP_LL): Renamed to ...
23314 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23315 * normal/menu.c (DISP_LR): Renamed to ...
23316 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23317 * normal/menu.c (TERM_WIDTH): Renamed to ...
23318 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23319 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23320 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23321 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23322 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23323 * normal/menu.c (TERM_MARGIN): Renamed to ...
23324 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23325 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23326 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23327 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23328 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23329 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23330 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23331 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23332 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23333 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23334 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23335 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23336 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23337 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23338 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23339 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23340 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23341 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23342 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23343 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23344 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23345 All callers changed.
23346
23347 * include/grub/normal.h: New prototype.
23348
23349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23350 normal/menu_entry.c.
23351 (normal_mod_SOURCES): Likewise.
23352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23353 (normal_mod_SOURCES): Likewise.
23354
e6b92c8a 233552005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23356
23357 * include/grub/normal.h (grub_halt_init): New prototype.
23358 (grub_halt_fini): Likewise.
23359 (grub_reboot_init): Likewise.
23360 (grub_reboot_fini): Likewise.
23361
23362 * util/grub-emu.c: Include signal.h.
23363 (main_env): New global variable.
23364 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23365 catch C-c.
23366 (grub_machine_fini): New function.
23367 (main): Call grub_halt_init and grub_reboot_init before
23368 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23369 Call setjmp with MAIN_ENV to go back afterwards.
23370 Call grub_machine_fini right before return.
23371
23372 * include/grub/util/misc.h: Include setjmp.h.
23373 (main_env): New prototype.
23374
23375 * include/grub/kernel.h (grub_machine_fini): New prototype.
23376 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23377 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23378
23379 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23380 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23381 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23382
e6b92c8a 23383 * util/i386/pc/misc.c: New file.
f19dbdb7 23384
e6b92c8a 23385 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23386 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23387 commands/i386/pc/reboot.c.
23388
c642636f 233892005-02-14 Guillem Jover <guillem@hadrons.org>
23390
23391 * include/grub/dl.h (grub_dl_check_header): New prototype.
23392 (grub_arch_dl_check_header): Change return type to grub_err_t,
23393 remove size parameter and export function. Update all callers.
23394 * kern/dl.c (grub_dl_check_header): New function.
23395 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23396 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23397 are inside the core.
23398 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23399 independent ELF header checks.
23400 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23401 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23402 `grub_dl_check_header' instead of explicit checks. Check for the
23403 ELF type.
23404 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23405 `grub_dl_check_header' instead of explicit checks. Remove arch
23406 specific ELF header checks.
23407
e6b92c8a 23408 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23409 argument SIZE.
23410
5eabe94b 234112005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23412
23413 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23414 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23415
1b14a681 234162005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23417
23418 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 23419 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 23420 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 23421 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 23422 * partmap/amiga.c (amiga_partition_map_iterate): Return
23423 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23424 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23425
aca108aa 234262005-02-01 Guillem Jover <guillem@hadrons.org>
23427
23428 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23429 help info.
23430
c9f9c556 234312005-01-31 Marco Gerards <metgerards@student.han.nl>
23432
23433 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23434 Removed prototype.
23435 (grub_rescue_cmd_linux): New prototype.
23436 (grub_rescue_cmd_initrd): Likewise.
23437 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23438 `bi_rec'.
23439 (grub_linux_release_mem): Release the memory for the initrd.
23440 (grub_load_linux): Renamed from this...
23441 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23442 Changed `entry' not to be static. Loop over memory regions to
23443 find another one when the default fails.
23444 (grub_rescue_cmd_initrd): New function.
23445 (grub_linux_init): Remove function.
23446 (grub_linux_fini): Likewise.
23447 (GRUB_MOD_INIT): Register `initrd'.
23448 (GRUB_MOD_FINI): Unregister `initrd'.
23449 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23450 Function removed.
23451 (grub_linux_normal_fini): Likewise.
23452 (GRUB_MOD_INIT): Register `initrd'.
23453 (GRUB_MOD_FINI): Unregister `initrd'.
23454
990cf3aa 234552005-01-31 Marco Gerards <metgerards@student.han.nl>
23456
23457 * commands/help.c: New file.
23458 * normal/arg.c (show_help): Renamed to...
23459 (grub_arg_show_help): ... this.
23460 * commands/i386/pc/halt.c: New file.
23461 * commands/i386/pc/reboot.c: Likewise.
23462 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23463 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23464 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23465 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23466 variables.
23467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23468 `commands/help.c'.
23469 (pkgdata_MODULES): Add `help.mod'.
23470 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23471 * grub/i386/pc/init.h (grub_reboot): New prototype.
23472 (grub_halt): Likewise.
23473 * include/grub/normal.h (grub_arg_show_help): New prototype.
23474 (grub_help_init): Likewise.
23475 (grub_help_fini): Likewise.
23476 * util/grub-emu.c (main): Initialize and deinitialize the help
23477 command.
23478
23479 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23480
23481 * normal/command.c (grub_command_init): Fixed the description of
23482 the `set' and `unset' commands.
23483
234842005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23485
23486 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23487 function.
23488 * commands/ieee1275/halt.c: New file.
23489 * commands/ieee1275/reboot.c: Likewise.
23490 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23491 `__attribute__ ((unused))'. Some GCS related fixed.
23492 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23493 (grub_suspend_fini): Likewise.
23494 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23495 and `halt.mod'.
23496 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23497 (halt_mod_CFLAGS): New variables.
23498 * include/grub/powerpc/ieee1275/ieee1275.h
23499 (grub_ieee1275_interpret): New prototype.
23500
1ab09cc7 235012005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23502
23503 * include/grub/misc.h (memmove): New prototype.
23504 (memcpy): Likewise.
23505
8b8cbdb2 235062005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23507
23508 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23509 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23510
e3741a27 235112005-01-22 Marco Gerards <metgerards@student.han.nl>
23512
23513 * kern/misc.c (grub_strndup): Function rewritten.
23514
776bd780 235152005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23516
23517 * normal/menu.c (TERM_WIDTH): Macro redefined.
23518 (TERM_TOP_BORDER_Y): Likewise.
23519 (draw_border): Replaced while-loop by a for-loop. Make the number
23520 of lines consistent with the number of lines displayed in
23521 print_entries. Added a margin below the rectangle.
23522 (print_entry): Make the entry fit in the rectangle.
23523 (print_entries): Display the scroll arrows next to the right
23524 border.
23525
78026bce 235262005-01-21 Marco Gerards <metgerards@student.han.nl>
23527
23528 * fs/minix.c (grub_minix_find_file): Reserve more space for
23529 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23530 `grub_strncpy' to copy `path' into it.
23531
67bbaf0f 235322005-01-21 Marco Gerards <metgerards@student.han.nl>
23533
23534 Add the loopback device, a device via which files can be accessed
23535 as devices.
f19dbdb7 23536
67bbaf0f 23537 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23538 (pkgdata_MODULES): Add loopback.mod.
23539 (loopback_mod_SOURCES): New variable.
23540 (loopback_mod_CFLAGS): Likewise.
23541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23542 `disk/loopback.c'.
23543 (pkgdata_MODULES): Add loopback.mod.
23544 (loopback_mod_SOURCES): New variable.
23545 (loopback_mod_CFLAGS): Likewise.
23546 * disk/loopback.c: new file.
23547 * include/grub/normal.h (grub_loop_init): New prototype.
23548 (grub_loop_fini): New prototype.
23549 * util/grub-emu.c (main): Initialize and de-initialize loopback
23550 support.
23551 * include/grub/disk.h (grub_disk_dev_id): Add
23552 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23553
6f1c18bd 235542005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23555
23556 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23557 function.
23558 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23559 (suspend_mod_SOURCES): New variable.
23560 (suspend_mod_CFLAGS): Likewise.
23561 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23562 New prototype.
23563 * commands/ieee1275/suspend.c: New file.
23564
b38551da 235652005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23566
23567 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23568 ((unused))' to `__attribute__ ((used))'.
b38551da 23569 (GRUB_MOD_FINI): Likewise.
23570 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23571 * genmk.rb (PModule): Assign space to common symbols when linking
23572 modules.
23573
777aff39 235742005-01-20 Marco Gerards <metgerards@student.han.nl>
23575
23576 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23577 `unsigned' arguments to `grub_size_t'.
23578 (grub_malloc): Likewise.
23579 (grub_realloc): Likewise.
23580 (grub_memalign): Likewise.
23581 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23582 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23583 * util/misc.c (grub_malloc): Likewise.
23584 (grub_realloc): Likewise.
23585 * kern/mm.c (get_header_from_pointer): Change the casts to
23586 `unsigned' into a cast to `grub_size_t'.
23587
23588 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23589 point to `currnode' when `currnode' is changed.
23590
23591 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23592 Schottelius <nico-linux@schottelius.org>.
23593
d0ff18e1 235942005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23595
23596 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23597 (note_path): Remove variable.
23598 (GRUB_IEEE1275_NOTE_NAME): New macro.
23599 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23600 (grub_ieee1275_note_hdr): New structure.
23601 (grub_ieee1275_note_desc): Likewise.
23602 (grub_ieee1275_note): Likewise.
23603 (load_note): Remove `dir' argument. All callers updated. Remove
23604 `note_img' and `path'. Do not load a file from `note_path'.
23605 Initialize a struct grub_ieee1275_note and write that to `out'.
23606 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23607
4ca7004c 236082005-01-05 Marco Gerards <metgerards@student.han.nl>
23609
23610 * util/misc.c (grub_util_read_image): Revert last change. It
23611 called `grub_util_read_at', which seeks from the beginning of the
23612 file.
23613
0b412211 236142005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23615
23616 * TODO: Add note about endianness in grub-mkimage.
23617 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23618 section.
23619 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23620 (grub_mkimage_SOURCES): New target.
23621 * include/grub/kernel.h (grub_start_addr): Remove variable.
23622 (grub_end_addr): Likewise.
23623 (grub_total_module_size): Likewise.
23624 (grub_kernel_image_size): Likewise.
23625 (GRUB_MODULE_MAGIC): New constant.
23626 (grub_module_info): New structure.
23627 (grub_arch_modules_addr): New prototype.
23628 (grub_get_end_addr): Remove prototype.
23629 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23630 * include/grub/powerpc/ieee1275/kernel.h: New file.
23631 * include/grub/util/misc.h (grub_util_get_fp_size): New
23632 prototype.
23633 (grub_util_read_at): Likewise.
23634 (grub_util_write_image_at): Likewise.
23635 * kern/main.c (grub_get_end_addr): Remove function.
23636 (grub_load_modules): Call grub_arch_modules_addr instead of using
23637 grub_end_addr. Look for a grub_module_info struct in memory. Use
23638 the grub_module_info fields instead of calling grub_get_end_addr
23639 as loop conditions. Move grub_add_unused_region code here.
23640 (grub_add_unused_region): Remove function.
23641 * kern/i386/pc/init.c: Include grub/cache.h.
23642 (grub_machine_init): Remove call to grub_get_end_addr. Remove
23643 one call to add_mem_region.
23644 (grub_arch_modules_addr): New function.
23645 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
23646 (grub_total_module_size): Likewise.
23647 Include grub/machine/kernel.h.
23648 (grub_arch_modules_addr): New function.
23649 * util/grub-emu.c (grub_end_addr): Remove variable.
23650 (grub_total_module_size): Likewise.
23651 (grub_arch_modules_addr): New function.
23652 * util/misc.c: Include unistd.h.
23653 (grub_util_get_fp_size): New function.
23654 (grub_util_read_at): Likewise.
23655 (grub_util_write_image_at): Likewise.
23656 (grub_util_read_image): Call grub_util_read_at.
23657 (grub_util_write_image): Call grub_util_write_image_at.
23658 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
23659 additional memory in kernel_img for a struct grub_module_info.
23660 Fill in that grub_module_info.
23661 * util/powerpc/ieee1275/grub-mkimage.c: New file.
23662
458786f8 236632005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23664
23665 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
23666 New function.
23667 * include/grub/powerpc/ieee1275/ieee1275.h
23668 (grub_ieee1275_milliseconds): New prototype.
23669 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
23670 Change to 1000.
23671 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
23672 grub_ieee1275_milliseconds.
23673
ac507d1b 236742005-01-03 Hollis Blanchard <hollis@penguinppc.org>
23675
23676 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
23677 variable.
23678 (find_options): New function.
23679 (cmain): Call find_options.
23680 * include/grub/powerpc/ieee1275/ieee1275.h
23681 (grub_ieee1275_realmode): New extern variable.
23682 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
23683 grub_map if grub_ieee1275_realmode is false.
23684
6b8fd1c4 236852004-12-29 Marco Gerards <metgerards@student.han.nl>
23686
23687 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
23688 lines are inserted and make it work like readline. Reported by
23689 Vincent Pelletier <subdino2004@yahoo.fr>.
23690
8514a1e0 236912004-12-28 Marco Gerards <metgerards@student.han.nl>
23692
23693 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
23694
23695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
23696 `kern/powerpc/cache.S'.
23697
924b6140 236982004-12-27 Marco Gerards <metgerards@student.han.nl>
23699
23700 * genmk.rb: Handle the `Program' class in the main loop. Written
23701 by Johan Rydberg <jrydberg@gnu.org>.
23702 (Program): New class.
23703 (programs): New variable.
23704 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
23705 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
23706 instead of "grub/kernel.h". Include <grub/machine/init.h>.
23707 (help_arch): Function removed.
23708 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
23709 `powerpc/libgcc.h' and `loader.h'.
23710 (pkgdata_PROGRAMS): New variable.
23711 (sbin_UTILITIES): Variable removed.
23712 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
23713 (grubof_SOURCES): Variable re-defined so it only includes the
23714 core functionality.
23715 (grubof_CFLAGS): Remove `-DGRUBOF'.
23716 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
23717 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
23718 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
23719 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
23720 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
23721 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
23722 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
23723 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
23724 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
23725 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
23726 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23727 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
23728 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
23729 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
23730 (pc_mod_CFLAGS): New variables.
23731 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
23732 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
23733 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
23734 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
23735 Moved from here...
23736 * include/grub/i386/pc/init.h (grub_os_area_addr)
23737 (rub_os_area_size): ... to here.
23738 * include/grub/powerpc/ieee1275/ieee1275.h
23739 (grub_ieee1275_entry_fn): Export symbol.
23740 * include/grub/powerpc/ieee1275/init.h: New file.
23741 * include/grub/powerpc/libgcc.h: Likewise.
23742 * include/grub/cache.h: Likewise.
23743 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
23744 <hollis@penguinppc.org>.
23745 * kern/dl.c: Include <grub/cache.h>.
23746 (grub_dl_flush_cache): New function.
23747 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
23748 for this module.
23749 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
23750 (grub_console_init): Removed prototypes.
23751 (grub_machine_init): Don't initialize the modules anymore.
23752 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
23753 static.
23754 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
23755 Macro undef removed.
23756 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
23757 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
23758 relocation `R_PPC_REL32'. Return an error when the relocation is
23759 unknown.
23760 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
23761 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
23762 * util/misc.c (grub_arch_sync_caches): Likewise.
23763
e4b47e0c 237642004-12-19 Marco Gerards <metgerards@student.han.nl>
23765
23766 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
23767 `symlist.c', add `grubof_symlist.c'.
23768 (symlist.c): Variable removed.
23769 (grubof_HEADERS): Variable added.
23770 (grubof_symlist.c): New target.
23771 (kernel_syms.lst): Use `grubof_HEADERS' instead of
23772 `kernel_img_HEADERS'.
23773 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
23774 * kern/powerpc/dl.c: New file.
23775 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
23776 Function removed.
23777 (grub_arch_dl_relocate_symbols): Likewise.
23778 (grub_register_exported_symbols): Likewise.
23779
4ceb3636 237802004-12-13 Marco Gerards <metgerards@student.han.nl>
23781
23782 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
23783 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
23784 to fail instead. Reported by Vincent Pelletier
23785 <subdino2004@yahoo.fr>.
23786
23787 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
23788 it is not allocated. Reported by Vincent Pelletier
23789 <subdino2004@yahoo.fr>.
23790
23791 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
23792 output so the output looks better.
f19dbdb7 23793
3f1578fe 237942004-12-04 Marco Gerards <metgerards@student.han.nl>
23795
23796 Modulize the partition map support and add support for the amiga
23797 partition map.
f19dbdb7 23798
3f1578fe 23799 * commands/ls.c: Include <grub/partition.h> instead of
23800 <grub/machine/partition.h>.
23801 * kern/disk.c: Likewise.
23802 * kern/rescue.c: Likewise.
23803 * loader/i386/pc/chainloader.c: Likewise.
23804 * normal/cmdline.c: Likewise.
23805 * kern/powerpc/ieee1275/init.c: Likewise.
23806 (grub_machine_init): Call `grub_pc_partition_map_init',
23807 `grub_amiga_partition_map_init' and
23808 `grub_apple_partition_map_init'.
23809 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
23810 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
23811 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
23812 `partition.h' and `pc_partition.h'.
23813 (grub_setup_SOURCES): Remove
23814 `disk/i386/pc/partition.c'. Add `kern/partition.c',
23815 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23816 (grub_emu_SOURCES): Likewise.
23817 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
23818 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
23819 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
23820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23821 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
23822 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
23823 (grubof_SOURCES): Likewise.
23824 * disk/i386/pc/partition.c: File removed.
23825 * disk/powerpc/ieee1275/partition.c: Likewise.
23826 * include/grub/powerpc/ieee1275/partition.h: Likewise.
23827 * include/grub/i386/pc/partition.h: Likewise.
23828 * kern/partition.c: New file.
23829 * partmap/amiga.c: Likewise.
23830 * partmap/apple.c: Likewise.
23831 * partmap/pc.c: Likewise.
23832 * include/grub/partition.h: Likewise..
23833 * include/grub/pc_partition.h: Likewise.
23834 * util/grub-emu.c: Include <grub/partition.h> instead of
23835 <grub/machine/partition.h>.
23836 (main): Call `grub_pc_partition_map_init',
23837 `grub_amiga_partition_map_init' and
23838 `grub_apple_partition_map_init' and deinitialize afterwards.
23839 * util/i386/pc/biosdisk.c: Include `#include
23840 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23841 `<grub/machine/partition.h>'.
23842 * util/i386/pc/grub-setup.c: Likewise.
23843 * util/i386/pc/biosdisk.c: Likewise.
23844 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
23845 partition information in case of a PC partition.
23846 * util/i386/pc/grub-setup.c: Include `#include
23847 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
23848 `<grub/machine/partition.h>'.
23849 (setup): Only access the PC specific partition information in case
23850 of a PC partition.
23851
0ef4ced9 238522004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 23853
0ef4ced9 23854 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
23855 (grub_longjmp): Likewise.
23856 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
23857 20.
23858 * normal/powerpc/setjmp.S: New file.
23859 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
23860 `normal/powerpc/setjmp.S'.
23861 (grubof_CFLAGS): Add `-DGRUBOF'.
23862 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
23863 [GRUB_UTIL && !GRUBOF].
f19dbdb7 23864
19950e29 238652004-11-16 Marco Gerards <metgerards@student.han.nl>
23866
23867 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
23868 property named `name'. Correctly handle the error returned by
23869 `grub_ieee1275_finddevice' if a device can not be opened.
23870
a2fea427 238712004-11-02 Hollis Blanchard <hollis@penguinppc.org>
23872
23873 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
23874 `actual' for negativity.
23875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
23876 kern/fshelp.c.
23877
41ea0ea3 238782004-11-01 Marco Gerards <metgerards@student.han.nl>
23879
23880 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
23881 (PAGE_OFFSET): New macro.
23882 (CRTC_ADDR_PORT): Likewise.
23883 (CRTC_DATA_PORT): Likewise.
23884 (START_ADDR_HIGH_REGISTER): Likewise.
23885 (START_ADDR_LOW_REGISTER): Likewise.
23886 (GRAPHICS_ADDR_PORT): Likewise.
23887 (GRAPHICS_DATA_PORT): Likewise.
23888 (READ_MAP_REGISTER): Likewise.
23889 (INPUT_STATUS1_REGISTER): Likewise.
23890 (INPUT_STATUS1_VERTR_BIT): Likewise.
23891 (page): New variable.
23892 (wait_vretrace): New function.
23893 (set_read_map): Likewise.
23894 (set_start_address): Likewise.
23895 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
23896 the right page.
23897 (check_vga_mem): Take the page into account.
23898 (write_char): Likewise.
23899 (write_cursor): Likewise.
23900 (scroll_up): Likewise. Copy the page to the page that is not
23901 shown and switch between both pages.
23902 (grub_vga_putchar): Fix off by one error.
23903 (grub_vga_cls): Wait for the vertical retrace. Take the page into
23904 account.
23905
ad0bd20b 239062004-11-01 Marco Gerards <metgerards@student.han.nl>
23907
23908 Add support for iso9660 (including rockridge).
f19dbdb7 23909
ad0bd20b 23910 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23911 (iso9660_mod_SOURCES): New variable.
23912 (iso9660_mod_CFLAGS): Likewise.
23913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
23914 * include/grub/fs.h (grub_iso9660_init): New prototype.
23915 * util/grub-emu.c (main): Call `grub_iso9660_init'.
23916 * fs/iso9660.c: New file.
23917
23918 * include/grub/misc.h (grub_strncat): New prototype.
23919 * kern/misc.c (grub_strncat): New function.
f19dbdb7 23920
ad0bd20b 23921 * fs/hfs.c (grub_hfs_mount): Translate the error
23922 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
23923 * fs/jfs.c (grub_jfs_mount): Likewise.
23924 * fs/ufs.c (grub_ufs_mount): Likewise.
23925
a5477a59 239262004-10-28 Hollis Blanchard <hollis@penguinppc.org>
23927
23928 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
23929 which initialized BAT registers.
23930 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
23931 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23932 Move from here...
23933 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
23934 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
23935 ... to here.
23936 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
23937 (grub_mapclaim): Likewise.
23938 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
23939 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
23940 hand.
23941
9304c1f8 239422004-10-19 Hollis Blanchard <hollis@penguinppc.org>
23943
23944 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
23945 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
23946 -ffreestanding and -msoft-float.
23947
86f4ae25 239482004-10-15 Hollis Blanchard <hollis@penguinppc.org>
23949
23950 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
23951 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
23952 set in grub_ieee1275_flags.
23953
38912228 239542004-10-14 Hollis Blanchard <hollis@penguinppc.org>
23955
23956 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
23957 prototype.
23958 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
23959 grub_console_init first.
23960 Change the memory range used for grub_ieee1275_claim and
23961 grub_mm_init_region.
23962 Print an error message if the claim fails.
23963 Include <grub/misc.h>.
23964
d1923dc8 239652004-10-13 Hollis Blanchard <hollis@penguinppc.org>
23966
23967 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
23968 Call grub_children_iterate for device nodes of type `scsi',
23969 `ide', or `ata'.
23970 (grub_ofdisk_open): Remove manual device alias resolution.
23971 Fix memory leak when device cannot be opened.
f19dbdb7 23972 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 23973 (grub_children_iterate): New prototype.
23974 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
23975 New function.
23976 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23977 Return -1 if args.size was -1.
23978
4512e4f3 239792004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23980
23981 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
23982 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
23983 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
23984 Open Firmware's memory for it; claim memory from _start to _end.
23985 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
23986 (_end): New extern.
23987 (_start): Zero BSS from __bss_start to _end.
23988 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23989 New extern.
23990 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
23991
4d61feb0 239922004-10-11 Hollis Blanchard <hollis@penguinppc.org>
23993
ad0bd20b 23994 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
23995 -1 if args.base was -1.
4d61feb0 23996
026fa2f9 239972004-10-08 Hollis Blanchard <hollis@penguinppc.org>
23998
23999 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
24000 escape sequence instead of a literal ^L. Also call
24001 grub_ofconsole_gotoxy.
24002
9f2220ef 240032004-10-03 Hollis Blanchard <hollis@penguinppc.org>
24004
24005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
24006 void * arguments to grub_addr_t. All callers updated. Also make
24007 the `result' argument optional.
24008 (grub_ieee1275_release): change void * arguments to grub_addr_t.
24009 All callers updated.
24010
8a572cd7 240112004-09-22 Hollis Blanchard <hollis@penguinppc.org>
24012
24013 * commands/ls.c (grub_ls_list_files): Use the string following the
24014 initial ')', if present, as the filesystem path.
24015 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
24016
24017 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
24018
18aa81f2 240192004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
24020
24021 Make the source code of the menu interface more readable.
f19dbdb7 24022
18aa81f2 24023 * normal/menu.c: Include grub/mm.h.
24024 (TERM_WIDTH): New macro.
24025 (TERM_HEIGHT): Likewise.
24026 (TERM_INFO_HEIGHT): Likewise.
24027 (TERM_MARGIN): Likewise.
24028 (TERM_SCROLL_WIDTH): Likewise.
24029 (TERM_TOP_BORDER_Y): Likewise.
24030 (TERM_LEFT_BORDER_X): Likewise.
24031 (TERM_BORDER_WIDTH): Likewise.
24032 (TERM_MESSAGE_HEIGHT): Likewise.
24033 (TERM_BORDER_HEIGHT): Likewise.
24034 (TERM_NUM_ENTRIES): Likewise.
24035 (TERM_FIRST_ENTRY_Y): Likewise.
24036 (TERM_ENTRY_WIDTH): Likewise.
24037 (TERM_CURSOR_X): Likewise.
24038 (draw_border): Use macros instead of magic numbers.
24039 (print_entry): Likewise.
24040 (print_entries): Likewise.
24041 (run_menu): Likewise. Also, handle the key 'e'.
24042 (run_menu_entry): Ignore empty command lines.
24043 (print_message): Added a new argument EDIT. If EDIT is true,
24044 print a different message.
24045 (init_page): Likewise.
24046 (edit_menu_entry): New function. Not implemented yet.
24047
b47efe30 240482004-09-17 Marco Gerards <metgerards@student.han.nl>
24049
24050 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
24051 can be loaded from normal mode.
f19dbdb7 24052
b47efe30 24053 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
24054 `multiboot.mod'.
24055 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
24056 (multiboot_mod_CFLAGS): New variables.
24057 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 24058 * loader/i386/pc/multiboot_normal.c: Likewise.
24059
b47efe30 24060 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
24061 attribute `unused'.
f19dbdb7 24062
b47efe30 24063 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
24064 `fdiro' to read the mode information from instead of `diro'.
24065
24066 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
24067 looking up a symlink.
24068
24069 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
24070 macro.
24071 * normal/command.c (grub_command_execute): Don't parse the
24072 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
24073 flags of the command.
24074
24075 * normal/menu.c (grub_menu_run): Fix typo.
24076
da75ac71 240772004-09-14 Hollis Blanchard <hollis@penguinppc.org>
24078
24079 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
24080
24081 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
24082 `y + 1' instead of `y - 1'.
24083
24084 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 24085
062b24c2 240862004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
24087
24088 From Hollis Blanchard <hollis@penguinppc.org>:
24089 * kern/misc.c (memmove): New alias for grub_memmove.
24090 (memcmp): New alias for grub_memcmp.
24091 (memset): New alias for grub_memset.
f19dbdb7 24092 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 24093 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 24094 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 24095 (grub_ieee1275_get_property): Likewise.
f19dbdb7 24096
8ddad845 240972004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
24098
24099 Added normal mode command `chainloader' as module chain.mod, which
24100 depends on normal.mod and _chain.mod.
f19dbdb7 24101
8ddad845 24102 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
24103 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
24104 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
24105 Deleted prototype.
24106 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
24107 but arguments parsing moved to ...
24108 (grub_chainloader_cmd): ... here. New function.
24109 * include/grub/i386/pc/chainloader.h: New file.
24110 * loader/i386/pc/chainloader_normal.c: Likewise.
24111
2c1f4ce3 241122004-09-11 Marco Gerards <metgerards@student.han.nl>
24113
24114 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
24115 (grub_mkimage_LDFLAGS): Likewise.
24116 (grub_emu_SOURCES): Likewise.
24117 (kernel_img_HEADERS): Added fshelp.h.
24118 * fs/ext2.c: Include <grub/fshelp.h>.
24119 (FILETYPE_REG): New macro.
24120 (FILETYPE_INO_REG): Likewise.
24121 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
24122 Changed all users.
24123 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
24124 all users.
24125 (grub_fshelp_node): New struct.
24126 (grub_ext2_data): Added member `diropen'. Changed member `inode'
24127 to a pointer.
24128 (grub_ext2_get_file_block): Removed function.
24129 (grub_ext2_read_block): New function.
24130 (grub_ext2_read_file): Replaced parameter `data' by `node'.
24131 This function was written.
24132 (grub_ext2_mount): Read the root inode. Create a diropen struct.
24133 (grub_ext2_find_file): Removed function.
24134 (grub_ext2_read_symlink): New function.
24135 (grub_ext2_iterate_dir): Likewise.
24136 (grub_ext2_open): Rewritten.
24137 (grub_ext2_dir): Rewritten.
24138 * include/grub/fshelp.h: New file.
24139 * fs/fshelp.c: Likewise.
24140
3c52136a 241412004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
24142
24143 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
24144 (print_message): Add a missing newline.
24145 (run_menu): Added timeout support.
24146 (run_menu_entry): New local function.
24147 (grub_menu_run): Added support for booting.
24148
24149 * kern/loader.c (grub_loader_is_loaded): New function.
24150
24151 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
24152 (grub_get_rtc): Exported.
24153
24154 * include/grub/i386/pc/time.h: Include grub/symbol.h.
24155 (grub_get_rtc): Exported.
24156
24157 * include/grub/normal.h (struct grub_command_list): Remove
24158 constant from the member `command'.
24159
24160 * include/grub/loader.h (grub_loader_is_loaded): Declared.
24161
24162 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
24163
24164 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
24165
aa033560 241662004-08-28 Marco Gerards <metgerards@student.han.nl>
24167
24168 Add support for the JFS filesystem.
24169
24170 * fs/jfs.c: New file.
24171 * include/grub/fs.h (grub_jfs_init): New prototype.
24172 (grub_jfs_fini): New prototype.
24173 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
24174 (grub_emu_SOURCES): Likewise.
24175 (pkgdata_MODULES): Add jfs.mod.
24176 (jfs_mod_SOURCES): New variable.
24177 (jfs_mod_CFLAGS): Likewise.
24178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
24179 (grubof_SOURCES): Likewise.
24180 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
24181
24182 * fs/fat.c (grub_fat_find_dir): Convert the filename little
24183 endian to the host endian.
24184 (grub_fat_utf16_to_utf8): Move function from there...
24185 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 24186 the endianness of the source string anymore.
aa033560 24187 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
24188
94bc45af 241892004-08-24 Marco Gerards <metgerards@student.han.nl>
24190
24191 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24192 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24193 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24194 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 24195
94bc45af 24196 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24197 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24198 for `node_found' and `it_dir'.
24199 (grub_hfs_dir): Add prototype for `dir_hook'.
24200
24201 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24202 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24203 and `indir32' to silence a gcc warning.
24204
24205 * include/grub/fs.h (grub_hfs_init): New prototype.
24206 (grub_hfs_fini): Likewise.
f19dbdb7 24207
24208
97543f08 242092004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24210
24211 Each disk device has its own id now. This is useful to make use
24212 of multiple disk devices.
f19dbdb7 24213
97543f08 24214 * include/grub/disk.h (grub_disk_dev_id): New enum.
24215 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24216 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24217
24218 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24219 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24220
24221 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24222 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24223
24224 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24225 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24226
24227 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24228 "id" which is used by the cache manager.
24229
24230 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24231 of just "GRUB".
24232
64372eb4 242332004-08-18 Marco Gerards <metgerards@student.han.nl>
24234
24235 * fs/hfs.c: New file.
24236 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24237 (grub_emu_SOURCES): Likewise.
24238 (pkgdata_MODULES): Add hfs.mod.
24239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24240 (grubof_SOURCES): Likewise.
24241 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24242
24243 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24244 * kern/misc.c (grub_strncasecmp): Add function.
24245
cc61b58f 242462004-08-14 Marco Gerards <metgerards@student.han.nl>
24247
24248 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24249 with parentheses.
24250
24251 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24252 (grub_ext2_dir): In case the directory entry type is unknown, read
24253 it from the inode.
24254
0ef123f6 242552004-08-02 Peter Bruin <pjbruin@dds.nl>
24256
24257 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24258 grub_load_linux instead of grub_rescue_cmd_linux as second
24259 argument of grub_rescue_register_command.
24260
24261 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24262
a447c5df 242632004-07-27 Marco Gerards <metgerards@student.han.nl>
24264
24265 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24266 function.
24267 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24268 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24269 `loader/powerpc/ieee1275/linux.c',
24270 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24271 * include/grub/powerpc/ieee1275/ieee1275.h
24272 (grub_ieee1275_release): New prototype.
24273 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24274 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24275 normal, boot, linux and linux_normal.
24276 * loader/powerpc/ieee1275/linux.c: New file.
24277 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24278
5a9e3546 242792004-07-12 Marco Gerards <metgerards@student.han.nl>
24280
24281 * normal/arg.c (grub_arg_parse): Correct error handling after
24282 reallocating the argumentlist (check if `argl' is not null instead
24283 of checking if `args' is not null).
24284 * kern/mm.c (grub_realloc): Return the same pointer when using the
24285 same region, instead of returning the header address.
24286
e15199cb 242872004-07-11 Marco Gerards <metgerards@student.han.nl>
24288
24289 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24290 one block instead of two when looking for the initial partition.
24291 (grub_partition_probe): Initialize the local variable `p' with 0.
24292 Use base 10 for the grub_strtoul call.
24293 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24294 need for one local variable.
24295 (grub_strtoul): Don't add the new value to `num', instead of that
24296 just assign it.
24297
020616c2 242982004-07-11 Marco Gerards <metgerards@student.han.nl>
24299
24300 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24301 (pxeboot_img_SOURCES): New variable.
24302 (pxeboot_img_ASFLAGS): Likewise.
24303 (pxeboot_img_LDFLAGS): Likewise.
24304 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24305 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24306 <lode_leroy@hotmail.com>.
24307
6c51eb64 243082004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24309
24310 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24311 there was no input.
24312
cfb12aff 243132004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24314
24315 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24316 the history buffer logic.
24317
6eabba74 243182004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24319
24320 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24321 (FILETYPE_INO_SYMLINK): New macros.
24322 (grub_ext2_find_file): Check if the node is a directory using the
24323 inode stat information instead of using the filetype in the
24324 dirent. Exclude the first character of an absolute symlink.
24325 (grub_ext2_dir): Mask out the filetype part of the mode member of
24326 the inode.
24327
66e19ef8 243282004-05-24 Marco Gerards <metgerards@student.han.nl>
24329
24330 Add support for UFS version 1 and 2. Add support for the minix
24331 filesystem version 1 and 2, both the variants with 14 and 30 long
24332 filenames.
f19dbdb7 24333
66e19ef8 24334 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24335 fs/minix.c.
24336 (grub_emu_SOURCES): Likewise.
24337 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24338 (ufs_mod_SOURCES): New variable.
24339 (ufs_mod_CFLAGS): Likewise.
24340 (minix_mod_SOURCES): Likewise.
24341 (minix_mod_CFLAGS): Likewise.
24342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24343 fs/minix.c.
24344 (grubof_SOURCES): Likewise.
24345 * fs/ufs.c: New file.
24346 * fs/minix.c: New file.
24347 * include/grub/fs.h (grub_ufs_init): New prototype.
24348 (grub_ufs_fini): Likewise.
24349 (grub_minix_init): Likewise.
24350 (grub_minix_fini): Likewise.
24351 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24352 minix fs.
24353
cc2e748a 243542004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24355
24356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24357 commands/ls.c, commands/terminal.c, commands/boot.c,
24358 commands/cmp.c and commands/cat.c.
24359 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24360
24361 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24362 "env.h"
24363
4b13b216 243642004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24365
24366 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24367 and grub_, respectively. Because the conversion is trivial and
24368 mechanical, I omit the details here. Please refer to the CVS
24369 if you need more information.
24370
6a142551 243712004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24372
24373 * include/pupa: Renamed to ...
24374 * include/grub: ... this.
24375 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24376 * util/i386/pc/grub-mkimage.c: ... this.
24377 * util/i386/pc/pupa-setup.c: Renamed to ...
24378 * util/i386/pc/grub-setup.c: ... this.
24379 * util/pupa-emu.c: Renamed to ...
24380 * util/grub-emu.c: ... this.
24381
e56cdf21 243822004-03-29 Marco Gerards <metgerards@student.han.nl>
24383
24384 Add support for the newworld apple macintosh (PPC). This has been
24385 tested on the powerbook 2000 only. It only adds support for
24386 generic ieee1275 functions, console and disk support. This should
24387 be easy to port to other architectures with support for Open
24388 Firmware.
f19dbdb7 24389
e56cdf21 24390 * configure.ac: Accept the powerpc as host_cpu. In the case of
24391 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24392 specific tests are only executed while building for the i386.
24393 Inverse test for crosscompile.
24394 * genmk.rb (Utility): Allow assembler files.
24395 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24396 * conf/powerpc-ieee1275.rmk: New file.
24397 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24398 * disk/powerpc/ieee1275/partition.c: Likewise.
24399 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24400 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24401 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24402 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24403 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24404 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24405 * include/pupa/powerpc/ieee1275/loader.h
24406 * include/pupa/powerpc/setjmp.h: Likewise.
24407 * include/pupa/powerpc/types.h: Likewise.
24408 * kern/powerpc/ieee1275/init.c: Likewise.
24409 * kern/powerpc/ieee1275/openfw.c: Likewise.
24410 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24411
24412 These files were written by Johan Rydberg
24413 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24414
e56cdf21 24415 * boot/powerpc/ieee1275/cmain.c: New file.
24416 * boot/powerpc/ieee1275/crt0.S: Likewise.
24417 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24418 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24419
8c8cc205 244202004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24421
24422 * Makefile.in: Update copyright.
24423 * genmodsrc.sh: Likewise.
24424 * gensymlist.sh: Likewise.
24425 * term/i386/pc/vga.c: Indent correctly.
24426
24427 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24428 bugreporting address.
24429 * util/i386/pc/pupa-setup.c (usage): Likewise,
24430 (main): Call pupa_ext2_init and pupa_ext2_fini.
24431
f19dbdb7 24432 * fs/fat.c (log2): Renamed to ...
8c8cc205 24433 (fat_log2): ... this.
24434 All callers changed.
24435 * kern/misc.c (memcpy): Alias to pupa_memmove.
24436 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24437 lvalue cast.
24438 * util/console.c (pupa_ncurses_fini): Return 0.
24439
24440 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24441 Move fail label here.
24442 [__GNU__]: Don't warn when using stat.
24443 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24444 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24445 long int. Use strtol instead of strtoul.
f19dbdb7 24446
db1771cf 244472004-03-14 Marco Gerards <metgerards@student.han.nl>
24448
24449 * commands/boot.c: New file.
24450 * commands/cat.c: Likewise.
24451 * commands/cmp.c: Likewise.
24452 * commands/ls.c: Likewise.
24453 * commands/terminal.c: Likewise.
24454 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24455 (pupa_register_command): Changed interface to match the new
24456 argument parser.
24457 (pupa_command_execute): Changed (almost rewritten) so it uses
24458 pupa_split_command. Added support for setting variables using the
24459 syntax `foo=bar'.
24460 (rescue_command): Changed to work with the new argument parser.
24461 (terminal_command): Moved from here to commands/terminal.c.
24462 (set_command): New function.
24463 (unset_command): New function.
24464 (insmod_command): New function.
24465 (rmmod_command): New function.
24466 (lsmod_command): New function.
24467 (pupa_command_init): Don't initialize the command terminal
24468 anymore. Initialize the commands set, unset, insmod, rmmod and
24469 lsmod.
24470 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24471 (kernel_img_HEADERS): Add arg.h and env.h.
24472 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24473 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24474 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24475 normal/arg.c.
24476 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24477 terminal.mod.
24478 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24479 (boot_mod_SOURCES): New variable.
24480 (terminal_mod_SOURCES): Likewise.
24481 (ls_mod_SOURCES): Likewise.
24482 (cmp_mod_SOURCES): Likewise.
24483 (cat_mod_SOURCES): Likewise.
24484
24485 * normal/arg.c: New file.
24486 * kern/env.c: Likewise.
24487 * include/pupa/arg.h: Likewise.
24488 * include/pupa/env.h: Likewise.
24489 * font/manager.c (font_command): Changed to match argument parsing
24490 interface changes.
24491 (PUPA_MOD_INIT): Likewise.
24492 * hello/hello.c (pupa_cmd_hello): Likewise.
24493 (PUPA_MOD_INIT): Likewise.
24494 * include/pupa/disk.h: Include <pupa/device.h>.
24495 (pupa_print_partinfo): New prototype.
24496 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24497 (pupa_dl_get_prefix): Likewise.
24498 * include/pupa/misc.h: Include <pupa/err.h>.
24499 (pupa_isgraph): New prototype.
24500 (pupa_isdigit): Likewise.
24501 (pupa_split_cmdline): Likewise.
24502 * include/pupa/normal.h: Include <pupa/arg.h>.
24503 (pupa_command): Changed the prototype of the member `func' to
24504 match the argument parsing interface. Added member `options'.
24505 (pupa_register_command): Updated to match function.
24506 (pupa_arg_parse): New prototype.
24507 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24508 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24509 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24510 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24511 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24512 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24513 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24514 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24515 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24516 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24517 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24518 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24519 * kern/disk.c: Include <pupa/file.h>.
24520 (pupa_print_partinfo): New function.
24521 * kern/dl.c: Include <pupa/env.h>.
24522 (pupa_dl_dir): Variable removed.
24523 (pupa_dl_load): Use the environment variable `prefix' instead of
24524 the variable pupa_dl_dir.
24525 (pupa_dl_set_prefix): Function removed.
24526 (pupa_dl_get_prefix): Likewise.
24527 * kern/i386/pc/init.c: Include <pupa/env.h>.
24528 (pupa_machine_init): Use the environment variable `prefix' instead of
24529 using pupa_dl_set_prefix to set the prefix.
24530 * kern/main.c: Include <pupa/env.h>.
24531 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24532 using pupa_dl_get_prefix to get the prefix.
24533 * kern/misc.c: Include <pupa/env.h>.
24534 (pupa_isdigit): New function.
24535 (pupa_isgraph): Likewise.
24536 (pupa_ftoa): Likewise.
24537 (pupa_vsprintf): Added support for printing values of the type
24538 `double'. Make it possible to format variable output when using
24539 formatting like `%1.2%f'.
24540 (pupa_split_cmdline): New function.
24541 * kern/rescue.c: Include <pupa/env.h>.
24542 (next_word): Removed function.
24543 (pupa_rescue_cmd_prefix): Likewise.
24544 (pupa_rescue_cmd_set): New function.
24545 (pupa_rescue_cmd_unset): New function.
24546 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24547 split the command line instead of splitting it here. Added
24548 support for setting variables using the syntax `foo=bar'. Don't
24549 initialize the prefix command anymore. Initialized the set and
24550 unset commands.
24551 * normal/cmdline.c: Include <pupa/env.h>.
24552 (pupa_tab_complete): Added prototypes for print_simple_completion,
24553 print_partition_completion, add_completion, iterate_commands,
24554 iterate_dev, iterate_part and iterate_dir. Moved code to print
24555 partition information from here to kern/disk.c.
fe6b695a 24556 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24557 * normal/main.c: Include <pupa/env.h>.
24558 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24559 instead of using pupa_dl_get_prefix to get the prefix.
24560 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24561 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24562 warning.
24563 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24564 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24565 ((unused))' to silence a gcc warning.
24566 (pupa_vga_setcolor): Likewise.
24567 (debug_command): Changed to match argument parsing
24568 interface changes.
24569 * util/pupa-emu.c: Include <pupa/env.h>.
24570 (options): Added 0's for unused fields to silence a gcc warning.
24571 (argp): Likewise.
24572 (main): Use the environment variable `prefix' instead of using
24573 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24574 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24575 and terminal.
24576
24577 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24578 * util/misc.c: Include <malloc.h>.
24579 (pupa_malloc): Rewritten so errors are correctly reported.
24580 (pupa_realloc): Likewise.
24581 (pupa_memalign): Likewise.
24582 (pupa_mm_init_region): Declare unused variables with
24583 `__attribute__ ((unused))' to silence a gcc warning.
24584 * normal/i386/setjmp.S: Remove tab at the end of the file to
24585 silence a gcc warning.
24586 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24587 variables with `__attribute__ ((unused))' to silence a gcc
24588 warning.
24589 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24590 local variable i unsigned to silence a gcc warning.
24591
24592 * kern/term.c: Include <pupa/misc.h>.
24593 (pupa_more_lines): New variable.
24594 (pupa_more): Likewise.
24595 (pupa_putcode): When the pager is active pause at the end of every
24596 screen.
24597 (pupa_set_more): New function.
24598 * include/pupa/term.h (pupa_set_more): New prototype.
24599
24600
3b1139cb 246012004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24602
24603 Now this project is GRUB 2 rather than PUPA. The location of
24604 the CVS repository was moved to GRUB's.
f19dbdb7 24605
3b1139cb 24606 * configure.ac: Use bug-grub as the reporting address.
24607 Use GRUB instead of PUPA.
24608 Change the version number to 1.90.
24609
8367695c 246102004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24611
24612 * genkernsyms.sh: Updated copyright information.
24613 * genmk.rb: Likewise.
24614 * genmodsrc.sh: Likewise.
24615 * gensymlist.sh: Likewise.
24616 * boot/i386/pc/boot.S: Likewise.
24617 * boot/i386/pc/diskboot.S: Likewise.
24618 * disk/i386/pc/biosdisk.c: Likewise.
24619 * disk/i386/pc/partition.c: Likewise.
24620 * font/manager.c: Likewise.
24621 * fs/ext2.c: Likewise.
24622 * fs/fat.c: Likewise.
24623 * include/pupa/boot.h: Likewise.
24624 * include/pupa/device.h: Likewise.
24625 * include/pupa/disk.h: Likewise.
24626 * include/pupa/dl.h: Likewise.
24627 * include/pupa/elf.h: Likewise.
24628 * include/pupa/err.h: Likewise.
24629 * include/pupa/file.h: Likewise.
24630 * include/pupa/font.h: Likewise.
24631 * include/pupa/fs.h: Likewise.
24632 * include/pupa/kernel.h: Likewise.
24633 * include/pupa/loader.h: Likewise.
24634 * include/pupa/misc.h: Likewise.
24635 * include/pupa/mm.h: Likewise.
24636 * include/pupa/net.h: Likewise.
24637 * include/pupa/normal.h: Likewise.
24638 * include/pupa/rescue.h: Likewise.
24639 * include/pupa/setjmp.h: Likewise.
24640 * include/pupa/symbol.h: Likewise.
24641 * include/pupa/term.h: Likewise.
24642 * include/pupa/types.h: Likewise.
24643 * include/pupa/i386/setjmp.h: Likewise.
24644 * include/pupa/i386/types.h: Likewise.
24645 * include/pupa/i386/pc/biosdisk.h: Likewise.
24646 * include/pupa/i386/pc/boot.h: Likewise.
24647 * include/pupa/i386/pc/console.h: Likewise.
24648 * include/pupa/i386/pc/init.h: Likewise.
24649 * include/pupa/i386/pc/kernel.h: Likewise.
24650 * include/pupa/i386/pc/linux.h: Likewise.
24651 * include/pupa/i386/pc/loader.h: Likewise.
24652 * include/pupa/i386/pc/memory.h: Likewise.
24653 * include/pupa/i386/pc/multiboot.h: Likewise.
24654 * include/pupa/i386/pc/partition.h: Likewise.
24655 * include/pupa/i386/pc/time.h: Likewise.
24656 * include/pupa/i386/pc/vga.h: Likewise.
24657 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
24658 * include/pupa/util/getroot.h: Likewise.
24659 * include/pupa/util/misc.h: Likewise.
24660 * include/pupa/util/resolve.h: Likewise.
24661 * kern/device.c: Likewise.
24662 * kern/disk.c: Likewise.
24663 * kern/dl.c: Likewise.
24664 * kern/err.c: Likewise.
24665 * kern/file.c: Likewise.
24666 * kern/fs.c: Likewise.
24667 * kern/loader.c: Likewise.
24668 * kern/main.c: Likewise.
24669 * kern/misc.c: Likewise.
24670 * kern/mm.c: Likewise.
24671 * kern/rescue.c: Likewise.
24672 * kern/term.c: Likewise.
24673 * kern/i386/dl.c: Likewise.
24674 * kern/i386/pc/init.c: Likewise.
24675 * kern/i386/pc/lzo1x.S: Likewise.
24676 * kern/i386/pc/startup.S: Likewise.
24677 * loader/i386/pc/chainloader.c: Likewise.
24678 * loader/i386/pc/linux.c: Likewise.
24679 * loader/i386/pc/multiboot.c: Likewise.
24680 * normal/cmdline.c: Likewise.
24681 * normal/command.c: Likewise.
24682 * normal/main.c: Likewise.
24683 * normal/menu.c: Likewise.
24684 * normal/i386/setjmp.S: Likewise.
24685 * term/i386/pc/console.c: Likewise.
24686 * term/i386/pc/vga.c: Likewise.
24687 * util/console.c: Likewise.
24688 * util/genmoddep.c: Likewise.
24689 * util/misc.c: Likewise.
24690 * util/pupa-emu.c: Likewise.
24691 * util/resolve.c: Likewise.
24692 * util/unifont2pff.rb: Likewise.
24693 * util/i386/pc/biosdisk.c: Likewise.
24694 * util/i386/pc/getroot.c: Likewise.
24695 * util/i386/pc/pupa-mkimage.c: Likewise.
24696 * util/i386/pc/pupa-setup.c: Likewise.
24697
e6eced71 246982004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
24699
24700 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
24701 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
24702 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
24703 reading and reset it after reading.
24704 (pupa_ext2_close): Return PUPA_ERR_NONE.
24705
24706 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
24707 Correct value.
24708 (struct linux_kernel_header): Add kernel_version and
24709 initrd_addr_max.
24710 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
24711 pupa_file_read succeeds.
24712 (pupa_rescue_cmd_initrd): Implement.
24713
5aded270 247142003-12-03 Marco Gerards <metgerards@student.han.nl>
24715
24716 * fs/ext2.c (pupa_ext2_label): New function.
24717 (pupa_ext2_fs): Added label.
24718 * fs/fat.c (pupa_fat_label): New function.
24719 (pupa_fat_fs): Added label.
24720 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
24721
24722 * kern/misc.c (pupa_strndup): New function.
24723 * include/pupa/misc.h (pupa_strndup): New prototype.
24724
24725 * include/pupa/normal.h: Include <pupa/err.h>.
24726 (pupa_set_history): New prototype.
24727 (pupa_iterate_commands): New prototype.
24728 * normal/cmdline.c: Include <pupa/machine/partition.h>,
24729 <pupa/disk.h>, <pupa/file.h>.
24730 (hist_size): New variable.
24731 (hist_lines): Likewise.
24732 (hist_end): Likewise.
24733 (hist_used): Likewise.
24734 (pupa_set_history): New function.
24735 (pupa_history_get): Likewise.
24736 (pupa_history_add): Likewise.
24737 (pupa_history_replace): Likewise.
24738 (pupa_tab_complete): Likewise.
24739 (pupa_cmdline_run): Added tab completion and history buffer. Tab
24740 completion shows partitionnames while completing partitions, this
24741 feature was suggested by Jeff Bailey.
24742 * normal/command.c (pupa_iterate_commands): New function.
24743 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
24744 (pupa_normal_init): Initialize history buffer.
24745 (PUPA_MOD_INIT): Likewise.
24746 (pupa_normal_fini): Free the history buffer.
24747 (PUPA_MOD_FINI): Likewise.
24748
24749 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
24750 key.
24751
24752 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
24753 * configure.ac [i386]: Check for regparam bug.
24754 (NESTED_FUNC_ATTR) [! i386]: Defined.
24755
1f7315a3 247562003-11-17 Marco Gerards <metgerards@student.han.nl>
24757
24758 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
24759 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
24760 (pupa_emu_SOURCES): New variable.
24761 (pupa_emu_LDFLAGS): Likewise.
24762 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
24763 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
24764 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
24765 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24766 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
24767 (pupa_jmp_buf): New typedef.
24768 (pupa_setjmp) [PUPA_UTIL]: New macro.
24769 (pupa_longjmp) [PUPA_UTIL]: Likewise.
24770 * include/pupa/term.h (struct pupa_term): New member `refresh'.
24771 (pupa_refresh): New prototype.
24772 * include/pupa/util/getroot.h: New file.
24773 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
24774 it.
24775 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
24776 (pupa_rescue_cmd_cat): Likewise.
24777 (pupa_rescue_cmd_ls): Likewise.
24778 (pupa_rescue_cmd_testload): Likewise.
24779 (pupa_rescue_cmd_lsmod): Likewise.
24780 * normal/cmdline.c (pupa_cmdline_get): Likewise.
24781 * normal/menu.c (run_menu): Likewise.
24782 * kern/term.c (pupa_cls): Likewise.
24783 (pupa_refresh): New function.
24784 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
24785 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
24786 * util/console.c: New file.
f19dbdb7 24787
1f7315a3 24788 * util/i386/pc/getroot.c: New file.
24789 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
24790 (pupa_putchar): New function.
24791 (pupa_refresh): Likewise.
24792 (xgetcwd): Function moved to ...
24793 (strip_extra_slashes): Likewise.
24794 (get_prefix): Likewise.
f19dbdb7 24795 * util/i386/pc/getroot.c: ... here.
1f7315a3 24796 (find_root_device): Function moved and renamed to...
24797 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
24798 Changed all callers.
24799 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
24800 and renamed to...
24801 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
24802 Changed all callers.
24803 * util/misc.c (pupa_memalign): New function.
24804 (pupa_mm_init_region): Likewise.
24805 (pupa_register_exported_symbols): Likewise.
24806 (pupa_putchar): Function removed.
24807 * util/pupa-emu.c: New file.
24808
9a5c1ade 248092003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
24810
24811 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
24812 (_multiboot_mod_SOURCES): New variable.
24813 (_multiboot_mod_CFLAGS): Likewise.
24814 * loader/i386/pc/multiboot.c: New file.
24815 * include/pupa/i386/pc/multiboot.h: Likewise.
24816 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
24817 (pupa_multiboot_real_boot): New function.
24818 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
24819 (pupa_multiboot_real_boot): New prototype.
24820 (pupa_rescue_cmd_multiboot): Likewise
24821 (pupa_rescue_cmd_module): Likewise.
24822
24823 * kern/loader.c (pupa_loader_set): Continue when
24824 pupa_loader_unload_func() fails.
24825 (pupa_loader_unset): New function.
24826 * include/pupa/loader.h (pupa_loader_unset): New prototype.
24827
24828 * kern/misc.c (pupa_stpcpy): New function.
24829 * include/pupa/misc.h (pupa_stpcpy): New prototype.
24830
8e72a9c0 248312003-11-12 Marco Gerards <metgerards@student.han.nl>
24832
24833 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
24834 for available extensions.
24835
24836 * include/pupa/i386/pc/time.h: New file.
24837 * kern/disk.c: Include <pupa/machine/time.h>.
24838 (PUPA_CACHE_TIMEOUT): New macro.
24839 (pupa_last_time): New variable.
24840 (pupa_disk_open): Flush the cache when there was a timeout.
24841 (pupa_disk_close): Reset the timer.
24842 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
24843 pupa_currticks.
24844 * util/misc.c: Include <sys/times.h>
24845 (pupa_get_rtc): New function.
24846
c4adbd32 248472003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24848
24849 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
24850 as blocks.
24851 (pupa_ext2_get_file_block): Use blocks member.
24852
24853 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
24854 first block. Return -1 instead of pupa_errno on error.
24855
bfd30f06 248562003-10-27 Marco Gerards <metgerards@student.han.nl>
24857
24858 * README: In the pupa-mkimage example use _chain instead of chain
24859 and ext2 instead of fat.
24860 * TODO: Replace ext2fs with jfs as an example. Add an item for
24861 adding journal playback for ext2fs.
24862 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
24863 (pkgdata_MODULES): Added ext2.mod.
24864 (ext2_mod_SOURCES): New variable.
24865 (ext2_mod_CFLAGS): Likewise.
24866 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
24867 * include/pupa/misc.h (pupa_strncpy): New prototype.
24868 (pupa_strcat): Likewise.
24869 (pupa_strncmp): Likewise.
24870 * kern/misc.c (pupa_strcat): Enable function.
24871 (pupa_strncpy): New function.
24872 (pupa_strncmp): Likewise.
24873 * fs/ext2.c: New file.
f19dbdb7 24874
bfd30f06 24875 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
24876 when the read failed before retrying.
24877 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
24878 (_FILE_OFFSET_BITS): Likewise.
24879 * configure.ac: Added AC_SYS_LARGEFILE.
24880
98d15063 248812003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24882
24883 * genmk.rb (PModule#rule): Make sure to get only symbol names
24884 from the output of nm.
59cad637 24885 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 24886
18d9c7cd 248872003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
24888
24889 I forgot to check in these changes for a long time. This adds
24890 incomplete support for VGA console, and this is still very
24891 buggy. Also, a lot of consideration is required for I18N,
24892 UNICODE, and VGA font issues. Therefore, assume that this is
24893 such that "better than nothing".
f19dbdb7 24894
18d9c7cd 24895 * font/manager.c: New file.
24896 * include/pupa/font.h: Likewise.
24897 * include/pupa/i386/pc/vga.h: Likewise.
24898 * term/i386/pc/vga.c: Likewise.
24899 * util/unifont2pff.rb: Likewise.
24900
24901 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
24902 (pkgdata_MODULES): Added vga.mod and font.mod.
24903 (vga_mod_SOURCES): New variables.
24904 (vga_mod_CFLAGS): Likewise.
24905 (font_mod_SOURCES): Likewise.
24906 (font_mod_CFLAGS): Likewise.
24907
24908 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
24909
24910 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 24911 (struct pupa_term): Added init and fini.
18d9c7cd 24912 Changed the argument of putchar to pupa_uint32_t.
24913
24914 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
24915 (pupa_console_real_putchar): New prototype.
24916 (pupa_console_putchar): Removed.
24917 (pupa_console_checkkey): Exported.
24918 (pupa_console_getkey): Likewise.
24919
24920 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
24921 characters.
24922
24923 * kern/term.c (pupa_term_set_current): Rewritten.
24924 (pupa_putchar): Likewise.
24925 (pupa_putcode): New function.
24926
24927 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
24928 (pupa_console_real_putchar): ... this.
24929 (pupa_vga_set_mode): New function.
24930 (pupa_vga_get_font): Likewise.
24931
24932 * normal/command.c: Include pupa/term.h.
24933 (terminal_command): New function.
24934 (pupa_command_init): Register the command "terminal".
24935
24936 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
24937 (DISP_UP): Likewise.
24938 (DISP_RIGHT): Likewise.
24939 (DISP_DOWN): Likewise.
24940 (DISP_HLINE): Likewise.
24941 (DISP_VLINE): Likewise.
24942 (DISP_UL): Likewise.
24943 (DISP_UR): Likewise.
24944 (DISP_LL): Likewise.
24945 (DISP_LR): Likewise.
24946
24947 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 24948
977329f5 249492003-02-08 NIIBE Yutaka <gniibe@m17n.org>
24950
24951 * util/resolve.c (pupa_util_resolve_dependencies): BUG
24952 FIX. Reverse the path_list.
24953
24954 * include/pupa/normal.h: Export pupa_register_command and
24955 pupa_unregister_command.
24956
24957 * hello/hello.c (pupa_cmd_hello): New module.
24958 * conf/i386-pc.rmk: Added hello.mod.
24959
1f5ab428 249602003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
24961
24962 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 24963
1f5ab428 24964 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
24965 (compress_kernel): New variable.
24966 (generate_image): Heavily modified to support compressing a
24967 large part of the core image.
24968
24969 * util/misc.c (pupa_util_read_image): Fix a file descriptor
24970 leak.
24971 (pupa_util_load_image): New function.
24972
24973 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
24974 (pupa_compressed_size): New variable.
24975 (codestart): Enable Gate A20 here.
24976 Decompress the compressed part of the core image.
24977 Rearrange the code to put functions and variables which are
24978 required for initialization in the non-compressed part.
24979 Include lzo1x.S.
24980
24981 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
24982 here.
24983
24984 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
24985
f19dbdb7 24986 * include/pupa/i386/pc/kernel.h
1f5ab428 24987 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
24988 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
24989 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
24990 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
24991 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
24992
24993 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
24994
24995 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
24996 (Utility#rule): Likewise.
24997
24998 * configure.ac: Check if LZO is available.
24999
ce5bf700 250002003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
25001
25002 * include/pupa/normal.h: New file.
25003 * include/pupa/setjmp.h: Likewise.
25004 * include/pupa/i386/setjmp.h: Likewise.
25005 * normal/cmdline.c: Likewise.
25006 * normal/command.c: Likewise.
25007 * normal/main.c: Likewise.
25008 * normal/menu.c: Likewise.
25009 * normal/i386/setjmp.S: Likewise.
f19dbdb7 25010
ce5bf700 25011 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
25012 (pupa_rescue_cmd_initrd): Likewise.
25013
25014 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
25015 Likewise.
25016
25017 * kern/i386/pc/startup.S (translation_table): New variable.
25018 (translate_keycode): New function.
25019 (pupa_console_getkey): Call translate_keycode.
25020
25021 * kern/rescue.c (attempt_normal_mode): New function.
25022 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
25023 it failed, print a message.
25024
25025 * kern/mm.c (pupa_real_malloc): Print more information when a
25026 free magic is broken.
25027 (pupa_free): If the first free header is not free actually, set
25028 it to P.
25029
25030 * kern/main.c (pupa_load_normal_mode): Just load the module
25031 "normal".
25032 (pupa_main): Don't print the message
25033 "Entering into rescue mode..." here.
25034
25035 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
25036 Declared.
25037 (pupa_rescue_cmd_initrd): Likewise.
25038 (pupa_rescue_cmd_initrd): Likewise.
25039
25040 * include/pupa/symbol.h (FUNCTION): Specify the type.
25041 (VARIABLE): Likewise.
25042
25043 * include/pupa/err.h (pupa_err_t): Added
25044 PUPA_ERR_UNKNOWN_COMMAND.
25045
25046 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
25047 (pupa_dl_get_prefix): Likewise.
25048
25049 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
25050 Added _chain.mod and _linux.mod instead of chain.mod and
25051 linux.mod.
25052 (chain_mod_SOURCES): Renamed to ...
25053 (_chain_mod_SOURCES): ... this.
25054 (chain_mod_CFLAGS): Renamed to ...
25055 (_chain_mod_CFLAGS): ... this.
25056 (linux_mod_SOURCES): Renamed to ...
25057 (_linux_mod_SOURCES): ... this.
25058 (linux_mod_CFLAGS): Renamed to ...
25059 (_linux_mod_CFLAGS): ... this.
25060 (normal_mod_SOURCES): New variable.
25061 (normal_mod_CFLAGS): Likewise.
25062 (normal_mod_ASFLAGS): Likewise.
25063
250642003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
25065
25066 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
25067 possible.
25068
fe6b695a 25069 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 25070 recursively.
25071 (pupa_dl_unref): Unrefer depending modules recursively.
25072 Don't call pupa_dl_unload implicitly, because PUPA can crash if
25073 a module is unloaded before one depending on that module is
25074 unloaded.
25075 (pupa_dl_unload): Unload depending modules explicitly,
25076 if possible.
25077
c04da074 250782003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
25079
25080 * include/pupa/i386/pc/linux.h: New file.
25081 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 25082
c04da074 25083 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
25084 Removed.
25085 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
25086 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
25087 of PUPA_CHAINLOADER_BOOT_SECTOR.
25088
25089 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
25090 (pupa_linux_prot_size): New variable.
25091 (pupa_linux_tmp_addr): Likewise.
25092 (pupa_linux_real_addr): Likewise.
25093 (pupa_linux_boot_zimage): New function.
25094 (pupa_linux_boot_bzimage): Likewise.
25095
25096 * kern/i386/pc/init.c (struct mem_region): New structure.
25097 (MAX_REGIONS): New macro.
25098 (mem_regions): New variable.
25099 (num_regions): Likewise.
25100 (pupa_os_area_addr): Likewise.
25101 (pupa_os_area_size): Likewise.
25102 (pupa_lower_mem): Likewise.
25103 (pupa_upper_mem): Likewise.
25104 (add_mem_region): New function.
25105 (compact_mem_regions): Likewise.
25106 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
25107 the size of the conventional memory and that of so-called upper
25108 memory (before the first memory hole).
25109 Instead of adding each found region to free memory, use
25110 add_mem_region and add them after removing overlaps.
25111 Also, add only 1/4 of the upper memory to free memory. The rest
25112 is used for loading OS images. Maybe this is ad hoc, but this
25113 makes it much easier to relocate OS images when booting.
25114
25115 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
25116 (pupa_enter_rescue_mode): Don't register initrd and module.
25117
25118 * kern/mm.c: Include pupa/dl.h.
25119
25120 * kern/main.c: Include pupa/file.h and pupa/device.h.
25121
25122 * kern/loader.c (pupa_loader_load_module_func): Removed.
25123 (pupa_loader_load_module): Likewise.
25124
25125 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
25126 ``.o''.
25127
25128 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
25129 (pupa_linux_tmp_addr): Likewise.
25130 (pupa_linux_real_addr): Likewise.
25131 (pupa_linux_boot_zimage): Likewise.
25132 (pupa_linux_boot_bzimage): Likewise.
25133
25134 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
25135 (pupa_upper_mem): Likewise.
25136 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
25137 module is too dangerous.
25138
25139 * include/pupa/loader.h (pupa_os_area_addr): Declared.
25140 (pupa_os_area_size): Likewise.
25141 (pupa_loader_set): Remove the first argument. Loader doesn't
25142 manage modules or initrd any longer.
25143 (pupa_loader_load_module): Removed.
25144
25145 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
25146 (linux_mod_SOURCES): New variable.
25147 (linux_mod_CFLAGS): Likewise.
25148
a13f9237 251492003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
25150
25151 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
25152 the length of a blocklist correctly.
25153
25154 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
25155 Use ioctl only if the OS file is a block device.
25156 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
25157 not very useful for normal files.
25158
25159 * kern/main.c (pupa_set_root_dev): New function.
25160 (pupa_load_normal_mode): Likewise.
25161 (pupa_main): Call those above.
25162
25163 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
25164 pupa_uint16_t.
25165
25166 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
25167
a5ffe966 251682003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25169
25170 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
25171 (setup): Configure the installed partition information and the
25172 dl prefix.
25173
25174 * loader/i386/pc/chainloader.c (my_mod): New variable.
25175 (pupa_chainloader_unload): New function.
25176 (pupa_rescue_cmd_chainloader): Refer itself.
25177 (PUPA_MOD_INIT): Save its own module in MY_MOD.
25178
25179 * kern/i386/pc/startup.S (install_partition): Removed.
25180 (version_string): Likewise.
25181 (config_file): Likewise.
25182 (pupa_install_dos_part): New variable.
25183 (pupa_install_bsd_part): Likewise.
25184 (pupa_prefix): Likewise.
25185 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
25186
25187 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
25188 and pupa/misc.h.
25189 (make_install_device): New function.
25190 (pupa_machine_init): Set the dl prefix.
25191
25192 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25193 (buf): Renamed to ...
25194 (linebuf): ... this.
25195 (pupa_rescue_cmd_prefix): New function.
25196 (pupa_rescue_cmd_insmod): Likewise.
25197 (pupa_rescue_cmd_rmmod): Likewise.
25198 (pupa_rescue_cmd_lsmod): Likewise.
25199 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25200 rmmod and lsmod.
25201
25202 * kern/mm.c (pupa_memalign): If failed even after invalidating
25203 disk caches, unload unneeded modules and retry.
25204
25205 * kern/misc.c (pupa_memmove): New function.
25206 (pupa_memcpy): Removed.
25207 (pupa_strcpy): New function.
25208 (pupa_itoa): Made static.
25209
25210 * kern/dl.c (pupa_dl_iterate): New function.
25211 (pupa_dl_ref): Likewise.
25212 (pupa_dl_unref): Likewise.
25213 (pupa_dl_unload): Return if succeeded or not.
25214 (pupa_dl_unload_unneeded): New function.
25215 (pupa_dl_unload_all): Likewise.
25216 (pupa_dl_init): Renamed to ...
25217 (pupa_dl_set_prefix): ... this.
25218 (pupa_dl_get_prefix): New function.
25219
25220 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25221 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25222 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25223 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25224 (pupa_install_dos_part): Declared.
25225 (pupa_install_bsd_part): Likewise.
25226 (pupa_prefix): Likewise.
25227 (pupa_boot_drive): Likewise.
25228
25229 * include/pupa/types.h: Fix a typo.
25230
25231 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25232 pupa_memmove.
25233 (pupa_memmove): Declared.
25234 (pupa_strcpy): Likewise.
25235
25236 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25237 pupa_mod_init takes one argument, its own module.
25238 (pupa_dl_unload_unneeded): Declared.
25239 (pupa_dl_unload_all): Likewise.
25240 (pupa_dl_ref): Likewise.
25241 (pupa_dl_unref): Likewise.
25242 (pupa_dl_iterate): Likewise.
25243 (pupa_dl_init): Renamed to ...
25244 (pupa_dl_set_prefix): ... this.
25245 (pupa_dl_get_prefix): Declared.
25246
25247 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 25248 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 25249 unloaded.
25250 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25251 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25252
25253 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25254 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25255
012d7999 252562003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25257
25258 * util/i386/pc/pupa-setup.c (setup): Define the internal
25259 function find_first_partition_start at the top level, because GCC
25260 3.0.x cannot compile internal functions in deeper scopes
25261 correctly.
25262 (find_root_device): Use lstat instead of stat.
25263 Don't follow symbolic links.
25264 Fix the path-constructing code.
25265
25266 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25267 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25268 by a BLKGETSIZE ioctl first, because block devices don't fill
25269 the member st_mode of the structure stat on Linux.
25270 [__linux__] (linux_find_partition): Use a temporary buffer
25271 REAL_DEV for the working space. Copy it to DEV before returning.
25272 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25273 buffer cache consistent.
25274 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25275 strncmp. The previous value was merely wrong.
25276 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25277
25278 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25279 FAT size is 12. The previous value was merely wrong.
25280
25281 * kern/main.c (pupa_main): Don't split the starting message from
25282 newlines.
25283
25284 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25285 LF, because BIOS goes crazy about character attributes in this
25286 case.
25287
1cc73a62 252882003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25289
25290 * include/i386/pc/util/biosdisk.h: New file.
25291 * util/i386/pc/biosdisk.c: Likewise.
25292 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 25293
1cc73a62 25294 * Makefile.in (INCLUDE_DISTFILES): Added
25295 include/pupa/i386/pc/util/biosdisk.h.
25296 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25297 directory util/i386/pc.
25298 (install-local): Added a rule for sbin_UTILITIES.
25299 (uninstall): Likewise.
25300
25301 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25302
25303 * util/misc.c (xrealloc): New function.
25304 (pupa_malloc): Likewise.
25305 (pupa_free): Likewise.
25306 (pupa_realloc): Likewise.
25307 (pupa_stop): Likewise.
25308 (pupa_putchar): Likewise.
25309
25310 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25311
25312 * include/pupa/util/misc.h (xrealloc): Declared.
25313
25314 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25315 macro.
25316 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25317 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25318
25319 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25320 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25321
25322 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25323 way should be implemented.
25324 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25325
25326 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25327 the size of NAME for safety.
25328 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25329 0x88.
25330
25331 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25332 (pupa_setup_SOURCES): Likewise.
25333
25334 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25335
08b70fe8 253362002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25337
25338 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25339 bunch of pushl's from pusha, because this destroys the return
25340 value.
25341
62ddcc8f 253422002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25343
25344 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25345 This means that any missing prototypes could be fatal. Also, you
25346 must take care when writing assembly code. See the comments at
25347 the beginning of startup.S, for more details.
f19dbdb7 25348
62ddcc8f 25349 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25350 compilation mechanism.
25351 (pupa_chainloader_real_boot): Likewise.
25352 (pupa_biosdisk_rw_int13_extensions): Likewise.
25353 (pupa_biosdisk_rw_standard): Likewise.
25354 (pupa_biosdisk_check_int13_extensions): Likewise.
25355 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25356 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25357 (pupa_get_memsize): Likewise.
25358 (pupa_get_mmap_entry): Likewise.
25359 (pupa_console_putchar): Likewise.
25360 (pupa_console_setcursor): Likewise.
25361 (pupa_getrtsecs): Use pushl instead of push.
25362
25363 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25364 memory instead of the stack for a mmap entry, because some
25365 BIOSes may ignore the maximum size and overflow.
25366
25367 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25368
25369 * genmk.rb (PModule#rule): Compile automatically generated
25370 sources with module-specific CFLAGS as well as other sources.
25371
9962ed99 253722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25373
25374 * configure.ac: Check ld.
25375 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25376 respectively, before checking endianness and sizes.
25377
25378 * Makefile.in (LD): New variable.
f19dbdb7 25379
abdfc3c5 253802002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25381
25382 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25383
6a161fa9 253842002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25385
25386 * Changelog: New file.
25387